예제 #1
0
                            futureObjs.append(du.reduce_pilot("KMeans.averagePoints", number_of_cores_per_compute_unit=1))

                        for f in futureObjs:                                
                            result_du = f.result()
                            new_centers.append(result_du)
                        reduce_end_time = time.time()
                        print "wait for all reduce objects.................", str(round(reduce_end_time-map_end_time, 2))
                        
                        total_reduce_time = total_reduce_time + (reduce_end_time-map_end_time)
                    
                        du_centers = DistributedInMemoryDataUnit(name="Centers-%d"%(iteration+1), coordination=df).merge(new_centers)
                        iteration_end = time.time()
                        time_measures["Iteration-%d"%iteration] = iteration_end - iteration_start
             
                    end = time.time()
                    time_measures["Runtime"] = end-start
                    time_measures["average_map"] = total_map_time/NUM_ITERATIONS
                    time_measures["average_reduce"] = total_reduce_time/NUM_ITERATIONS
                    du_points.delete()
                    du_centers.delete()                    
            
                    #################################################################################################################
        
                    line = (str(r),"DIDU-KMeans", str(inputFiles[ex]), str(number_of_data_points), str(number_of_centroids_points), str(time_measures["Runtime"]),
                            str(m), str(time_measures["average_map"]), str(time_measures["average_reduce"]))
                    output_data.write(",".join(line) + "\n")
                    output_data.flush()                    
    except:     
        e = sys.exc_info()[0]
        output_data.close()
        pilot_compute_service.cancel()