コード例 #1
0
ファイル: SlaveTask.cs プロジェクト: LastOne817/reef
        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);
        }
コード例 #2
0
ファイル: MasterTask.cs プロジェクト: shulmanb/reef
        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);
        }
コード例 #3
0
ファイル: MasterTask.cs プロジェクト: shulmanb/reef
        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);
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        /// <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();
        }
コード例 #6
0
ファイル: SlaveTask.cs プロジェクト: kijungs/incubator-reef
        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);
        }
コード例 #7
0
        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);
        }
コード例 #8
0
ファイル: TaskHostBase.cs プロジェクト: yogeshdarji/reef
        /// <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();
        }
コード例 #9
0
ファイル: MapTaskHost.cs プロジェクト: TaeHunKim/reef
        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;
        }
コード例 #10
0
ファイル: MasterTask.cs プロジェクト: NurimOnsemiro/reef
        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);
        }
コード例 #11
0
        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);
        }
コード例 #12
0
ファイル: UpdateTaskHost.cs プロジェクト: dkm2110/veyor
        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;
        }
コード例 #13
0
ファイル: MapTaskHost.cs プロジェクト: QITIE/reef-master-yarn
 private MapTaskHost(
     IMapFunction <TMapInput, TMapOutput> mapTask,
     IGroupCommClient groupCommunicationsClient,
     TaskCloseCoordinator taskCloseCoordinator,
     [Parameter(typeof(InvokeGC))] bool invokeGc,
     [Parameter(typeof(TaskConfigurationOptions.Identifier))] string taskId) :
     base(groupCommunicationsClient, taskCloseCoordinator, invokeGc)
 {
     Logger.Log(Level.Info, "Entering constructor of MapTaskHost for task id {0}", taskId);
     _mapTask = mapTask;
     _dataAndMessageReceiver =
         _communicationGroupClient.GetBroadcastReceiver <MapInputWithControlMessage <TMapInput> >(IMRUConstants.BroadcastOperatorName);
     _dataReducer = _communicationGroupClient.GetReduceSender <TMapOutput>(IMRUConstants.ReduceOperatorName);
     Logger.Log(Level.Info, "MapTaskHost initialized.");
 }
コード例 #14
0
ファイル: KMeansSlaveTask.cs プロジェクト: beomyeol/reef
 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);
     }      
 }
コード例 #15
0
ファイル: KMeansSlaveTask.cs プロジェクト: shulmanb/reef
 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);
     }
 }
コード例 #16
0
        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");
        }
コード例 #17
0
        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");
        }
コード例 #18
0
        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();
        }
コード例 #19
0
ファイル: UpdateTaskHost.cs プロジェクト: rongxunw/reef
 private UpdateTaskHost(
     IUpdateFunction <TMapInput, TMapOutput, TResult> updateTask,
     IGroupCommClient groupCommunicationsClient,
     IIMRUResultHandler <TResult> resultHandler,
     TaskCloseCoordinator taskCloseCoordinator,
     [Parameter(typeof(InvokeGC))] bool invokeGc,
     [Parameter(typeof(TaskConfigurationOptions.Identifier))] string taskId) :
     base(groupCommunicationsClient, taskCloseCoordinator, invokeGc)
 {
     Logger.Log(Level.Info, "Entering constructor of UpdateTaskHost for task id {0}", taskId);
     _updateTask = updateTask;
     _dataAndControlMessageSender =
         _communicationGroupClient.GetBroadcastSender <MapInputWithControlMessage <TMapInput> >(IMRUConstants.BroadcastOperatorName);
     _dataReceiver  = _communicationGroupClient.GetReduceReceiver <TMapOutput>(IMRUConstants.ReduceOperatorName);
     _resultHandler = resultHandler;
     Logger.Log(Level.Info, "$$$$_resultHandler." + _resultHandler.GetType().AssemblyQualifiedName);
     Logger.Log(Level.Info, "UpdateTaskHost initialized.");
 }
コード例 #20
0
ファイル: KMeansMasterTask.cs プロジェクト: cccnam5158/reef
 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;
     }
 }
コード例 #21
0
        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);
        }