コード例 #1
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);
        }
コード例 #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
        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);
        }
コード例 #4
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);
        }
コード例 #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
        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
ファイル: 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);
        }
コード例 #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
ファイル: 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);
        }
コード例 #10
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);
        }
コード例 #11
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);
     }
 }
コード例 #12
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);
     }      
 }
コード例 #13
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");
        }
コード例 #14
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");
        }
コード例 #15
0
        public GroupCommClient(
            [Parameter(typeof(GroupCommConfigurationOptions.SerializedGroupConfigs))] ISet <string> groupConfigs,
            [Parameter(typeof(TaskConfigurationOptions.Identifier))] string taskId,
            WritableNetworkService <GeneralGroupCommunicationMessage> networkService,
            AvroConfigurationSerializer configSerializer,
            IInjector injector)
        {
            _commGroups     = new Dictionary <string, ICommunicationGroupClient>();
            _networkService = networkService;
            networkService.Register(new StringIdentifier(taskId));

            foreach (string serializedGroupConfig in groupConfigs)
            {
                IConfiguration            groupConfig     = configSerializer.FromString(serializedGroupConfig);
                IInjector                 groupInjector   = injector.ForkInjector(groupConfig);
                ICommunicationGroupClient commGroupClient = groupInjector.GetInstance <ICommunicationGroupClient>();
                _commGroups[commGroupClient.GroupName] = commGroupClient;
            }
        }
コード例 #16
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;
     }
 }