public SlaveTask(IGroupCommClient groupCommClient) { _logger.Log(Level.Info, "Hello from slave task"); _groupCommClient = groupCommClient; _commGroup = _groupCommClient.GetCommunicationGroup(GroupTestConstants.GroupName); _scatterReceiver = _commGroup.GetScatterReceiver<int>(GroupTestConstants.ScatterOperatorName); _sumSender = _commGroup.GetReduceSender<int>(GroupTestConstants.ReduceOperatorName); }
public MasterTask(IGroupCommClient groupCommClient) { Logger.Log(Level.Info, "Hello from master task"); _groupCommClient = groupCommClient; _commGroup = groupCommClient.GetCommunicationGroup(GroupTestConstants.GroupName); _scatterSender = _commGroup.GetScatterSender <int>(GroupTestConstants.ScatterOperatorName); _sumReducer = _commGroup.GetReduceReceiver <int>(GroupTestConstants.ReduceOperatorName); }
public SlaveTask(IGroupCommClient groupCommClient) { _logger.Log(Level.Info, "Hello from slave task"); _groupCommClient = groupCommClient; _commGroup = _groupCommClient.GetCommunicationGroup(GroupTestConstants.GroupName); _scatterReceiver = _commGroup.GetScatterReceiver <int>(GroupTestConstants.ScatterOperatorName); _sumSender = _commGroup.GetReduceSender <int>(GroupTestConstants.ReduceOperatorName); }
public MasterTask(IGroupCommClient groupCommClient) { Logger.Log(Level.Info, "Hello from master task"); _groupCommClient = groupCommClient; _commGroup = groupCommClient.GetCommunicationGroup(GroupTestConstants.GroupName); _scatterSender = _commGroup.GetScatterSender<int>(GroupTestConstants.ScatterOperatorName); _sumReducer = _commGroup.GetReduceReceiver<int>(GroupTestConstants.ReduceOperatorName); }
public SlaveTask( [Parameter(typeof(GroupTestConfig.NumIterations))] int numIters, IGroupCommClient groupCommClient) { _logger.Log(Level.Info, "Hello from slave task"); _numIterations = numIters; _groupCommClient = groupCommClient; _commGroup = _groupCommClient.GetCommunicationGroup(GroupTestConstants.GroupName); _broadcastReceiver = _commGroup.GetBroadcastReceiver<int>(GroupTestConstants.BroadcastOperatorName); _triangleNumberSender = _commGroup.GetReduceSender<int>(GroupTestConstants.ReduceOperatorName); }
/// <summary> /// Task host base class to hold the common stuff of both mapper and update tasks /// </summary> /// <param name="groupCommunicationsClient">Group Communication Client</param> /// <param name="taskCloseCoordinator">The class that handles the close event for the task</param> /// <param name="invokeGc">specify if want to invoke garbage collector or not </param> protected TaskHostBase( IGroupCommClient groupCommunicationsClient, TaskCloseCoordinator taskCloseCoordinator, bool invokeGc) { _groupCommunicationsClient = groupCommunicationsClient; _communicationGroupClient = groupCommunicationsClient.GetCommunicationGroup(IMRUConstants.CommunicationGroupName); _invokeGc = invokeGc; _taskCloseCoordinator = taskCloseCoordinator; _cancellationSource = new CancellationTokenSource(); }
public SlaveTask( [Parameter(typeof(GroupTestConfig.NumIterations))] int numIters, IGroupCommClient groupCommClient) { Logger.Log(Level.Info, "Hello from slave task"); _numIterations = numIters; _groupCommClient = groupCommClient; _commGroup = _groupCommClient.GetCommunicationGroup(GroupTestConstants.GroupName); _broadcastReceiver = _commGroup.GetBroadcastReceiver <int>(GroupTestConstants.BroadcastOperatorName); _triangleNumberSender = _commGroup.GetReduceSender <int>(GroupTestConstants.ReduceOperatorName); }
/// <summary> /// Task host base class to hold the common stuff of both mapper and update tasks /// </summary> /// <param name="groupCommunicationsClient">Group Communication Client</param> /// <param name="taskCloseCoordinator">The class that handles the close event for the task</param> /// <param name="invokeGc">specify if want to invoke garbage collector or not </param> protected TaskHostBase( IGroupCommClient groupCommunicationsClient, TaskCloseCoordinator taskCloseCoordinator, bool invokeGc) { Logger.Log(Level.Info, "Entering TaskHostBase constructor with machine status {0}.", _machineStatus.ToString()); _groupCommunicationsClient = groupCommunicationsClient; _communicationGroupClient = groupCommunicationsClient.GetCommunicationGroup(IMRUConstants.CommunicationGroupName); _invokeGc = invokeGc; _taskCloseCoordinator = taskCloseCoordinator; _cancellationSource = new CancellationTokenSource(); }
private MapTaskHost( IMapFunction <TMapInput, TMapOutput> mapTask, IGroupCommClient groupCommunicationsClient, [Parameter(typeof(InvokeGC))] bool invokeGC) { _mapTask = mapTask; var cg = groupCommunicationsClient.GetCommunicationGroup(IMRUConstants.CommunicationGroupName); _dataAndMessageReceiver = cg.GetBroadcastReceiver <MapInputWithControlMessage <TMapInput> >(IMRUConstants.BroadcastOperatorName); _dataReducer = cg.GetReduceSender <TMapOutput>(IMRUConstants.ReduceOperatorName); _invokeGC = invokeGC; }
public MasterTask( [Parameter(typeof(GroupTestConfig.NumIterations))] int numIters, [Parameter(typeof(GroupTestConfig.NumEvaluators))] int numEvaluators, IGroupCommClient groupCommClient) { Logger.Log(Level.Info, "Hello from master task"); _numIters = numIters; _numReduceSenders = numEvaluators - 1; _groupCommClient = groupCommClient; _commGroup = groupCommClient.GetCommunicationGroup(GroupTestConstants.GroupName); _broadcastSender = _commGroup.GetBroadcastSender<int>(GroupTestConstants.BroadcastOperatorName); _sumReducer = _commGroup.GetReduceReceiver<int>(GroupTestConstants.ReduceOperatorName); }
public MasterTask( [Parameter(typeof(GroupTestConfig.NumIterations))] int numIters, [Parameter(typeof(GroupTestConfig.NumEvaluators))] int numEvaluators, IGroupCommClient groupCommClient) { Logger.Log(Level.Info, "Hello from master task"); _numIters = numIters; _numReduceSenders = numEvaluators - 1; _groupCommClient = groupCommClient; _commGroup = groupCommClient.GetCommunicationGroup(GroupTestConstants.GroupName); _broadcastSender = _commGroup.GetBroadcastSender <int>(GroupTestConstants.BroadcastOperatorName); _sumReducer = _commGroup.GetReduceReceiver <int>(GroupTestConstants.ReduceOperatorName); }
private UpdateTaskHost( IUpdateFunction <TMapInput, TMapOutput, TResult> updateTask, IGroupCommClient groupCommunicationsClient, IIMRUResultHandler <TResult> resultHandler, [Parameter(typeof(InvokeGC))] bool invokeGC) { _updateTask = updateTask; var cg = groupCommunicationsClient.GetCommunicationGroup(IMRUConstants.CommunicationGroupName); _dataAndControlMessageSender = cg.GetBroadcastSender <MapInputWithControlMessage <TMapInput> >(IMRUConstants.BroadcastOperatorName); _dataReceiver = cg.GetReduceReceiver <TMapOutput>(IMRUConstants.ReduceOperatorName); _invokeGC = invokeGC; _resultHandler = resultHandler; }
public KMeansSlaveTask( DataPartitionCache dataPartition, [Parameter(typeof(KMeansConfiguratioinOptions.TotalNumEvaluators))] int clustersNumber, IGroupCommClient groupCommClient) { using (Logger.LogFunction("KMeansSlaveTask::KMeansSlaveTask")) { _dataPartition = dataPartition; _groupCommClient = groupCommClient; _clustersNum = clustersNumber; _commGroup = _groupCommClient.GetCommunicationGroup(Constants.KMeansCommunicationGroupName); _dataBroadcastReceiver = _commGroup.GetBroadcastReceiver <Centroids>(Constants.CentroidsBroadcastOperatorName); _partialMeansSender = _commGroup.GetReduceSender <ProcessedResults>(Constants.MeansReduceOperatorName); _controlBroadcastReceiver = _commGroup.GetBroadcastReceiver <ControlMessage>(Constants.ControlMessageBroadcastOperatorName); } }
public KMeansSlaveTask( DataPartitionCache dataPartition, [Parameter(typeof(KMeansConfiguratioinOptions.TotalNumEvaluators))] int clustersNumber, IGroupCommClient groupCommClient) { using (Logger.LogFunction("KMeansSlaveTask::KMeansSlaveTask")) { _dataPartition = dataPartition; _groupCommClient = groupCommClient; _clustersNum = clustersNumber; _commGroup = _groupCommClient.GetCommunicationGroup(Constants.KMeansCommunicationGroupName); _dataBroadcastReceiver = _commGroup.GetBroadcastReceiver<Centroids>(Constants.CentroidsBroadcastOperatorName); _partialMeansSender = _commGroup.GetReduceSender<ProcessedResults>(Constants.MeansReduceOperatorName); _controlBroadcastReceiver = _commGroup.GetBroadcastReceiver<ControlMessage>(Constants.ControlMessageBroadcastOperatorName); } }
public PipelinedMasterTask( [Parameter(typeof(GroupTestConfig.NumIterations))] int numIters, [Parameter(typeof(GroupTestConfig.NumEvaluators))] int numEvaluators, [Parameter(typeof(GroupTestConfig.ArraySize))] int arraySize, IGroupCommClient groupCommClient) { Logger.Log(Level.Info, "Hello from master task"); _numIters = numIters; _numReduceSenders = numEvaluators - 1; _arraySize = arraySize; _groupCommClient = groupCommClient; _commGroup = groupCommClient.GetCommunicationGroup(GroupTestConstants.GroupName); _broadcastSender = _commGroup.GetBroadcastSender <int[]>(GroupTestConstants.BroadcastOperatorName); _sumReducer = _commGroup.GetReduceReceiver <int[]>(GroupTestConstants.ReduceOperatorName); Logger.Log(Level.Info, "finished master task constructor"); }
private MapTaskHost( IMapFunction <TMapInput, TMapOutput> mapTask, IGroupCommClient groupCommunicationsClient, TaskCloseCoordinator taskCloseCoordinator, [Parameter(typeof(InvokeGC))] bool invokeGC) { _mapTask = mapTask; _groupCommunicationsClient = groupCommunicationsClient; var cg = groupCommunicationsClient.GetCommunicationGroup(IMRUConstants.CommunicationGroupName); _dataAndMessageReceiver = cg.GetBroadcastReceiver <MapInputWithControlMessage <TMapInput> >(IMRUConstants.BroadcastOperatorName); _dataReducer = cg.GetReduceSender <TMapOutput>(IMRUConstants.ReduceOperatorName); _invokeGC = invokeGC; _taskCloseCoordinator = taskCloseCoordinator; _cancellationSource = new CancellationTokenSource(); }
public PipelinedMasterTask( [Parameter(typeof(GroupTestConfig.NumIterations))] int numIters, [Parameter(typeof(GroupTestConfig.NumEvaluators))] int numEvaluators, [Parameter(typeof(GroupTestConfig.ArraySize))] int arraySize, IGroupCommClient groupCommClient) { Logger.Log(Level.Info, "Hello from master task"); _numIters = numIters; _numReduceSenders = numEvaluators - 1; _arraySize = arraySize; _groupCommClient = groupCommClient; _commGroup = groupCommClient.GetCommunicationGroup(GroupTestConstants.GroupName); _broadcastSender = _commGroup.GetBroadcastSender<int[]>(GroupTestConstants.BroadcastOperatorName); _sumReducer = _commGroup.GetReduceReceiver<int[]>(GroupTestConstants.ReduceOperatorName); Logger.Log(Level.Info, "finished master task constructor"); }
public KMeansMasterTask( [Parameter(typeof(KMeansConfiguratioinOptions.TotalNumEvaluators))] int totalNumEvaluators, [Parameter(Value = typeof(KMeansConfiguratioinOptions.ExecutionDirectory))] string executionDirectory, IGroupCommClient groupCommClient) { using (Logger.LogFunction("KMeansMasterTask")) { if (totalNumEvaluators <= 1) { throw new ArgumentException("There must be more than 1 Evaluators in total, but the total evaluators number provided is " + totalNumEvaluators); } _commGroup = groupCommClient.GetCommunicationGroup(Constants.KMeansCommunicationGroupName); _dataBroadcastSender = _commGroup.GetBroadcastSender <Centroids>(Constants.CentroidsBroadcastOperatorName); _meansReducerReceiver = _commGroup.GetReduceReceiver <ProcessedResults>(Constants.MeansReduceOperatorName); _controlBroadcastSender = _commGroup.GetBroadcastSender <ControlMessage>(Constants.ControlMessageBroadcastOperatorName); _kMeansExecutionDirectory = executionDirectory; _isInitialIteration = true; } }
public static List <ICommunicationGroupClient> CommGroupClients(string groupName, int numTasks, IGroupCommDriver groupCommDriver, ICommunicationGroupDriver commGroupDriver, IConfiguration userServiceConfig) { List <ICommunicationGroupClient> commGroups = new List <ICommunicationGroupClient>(); IConfiguration serviceConfig = groupCommDriver.GetServiceConfiguration(); serviceConfig = Configurations.Merge(serviceConfig, userServiceConfig); List <IConfiguration> partialConfigs = new List <IConfiguration>(); for (int i = 0; i < numTasks; i++) { string taskId = "task" + i; IConfiguration partialTaskConfig = TangFactory.GetTang().NewConfigurationBuilder( TaskConfiguration.ConfigurationModule .Set(TaskConfiguration.Identifier, taskId) .Set(TaskConfiguration.Task, GenericType <MyTask> .Class) .Build()) .Build(); commGroupDriver.AddTask(taskId); partialConfigs.Add(partialTaskConfig); } for (int i = 0; i < numTasks; i++) { // get task configuration at driver side string taskId = "task" + i; IConfiguration groupCommTaskConfig = groupCommDriver.GetGroupCommTaskConfiguration(taskId); IConfiguration mergedConf = Configurations.Merge(groupCommTaskConfig, partialConfigs[i], serviceConfig); var conf = TangFactory.GetTang() .NewConfigurationBuilder(mergedConf) .BindNamedParameter(typeof(GroupCommConfigurationOptions.Initialize), "false") .Build(); IInjector injector = TangFactory.GetTang().NewInjector(conf); // simulate injection at evaluator side IGroupCommClient groupCommClient = injector.GetInstance <IGroupCommClient>(); commGroups.Add(groupCommClient.GetCommunicationGroup(groupName)); } return(commGroups); }