/// <summary> /// Submits two contexts, one that fails the Evaluator and another that allows for /// Context Stacking. /// </summary> public void OnNext(IAllocatedEvaluator value) { lock (_lock) { if (_shouldFailOnRootContext) { // Failing config. var ctxConf = ContextConfiguration.ConfigurationModule .Set(ContextConfiguration.Identifier, Context0) .Build(); var serviceConf = ServiceConfiguration.ConfigurationModule .Set(ServiceConfiguration.Services, GenericType <ServiceConstructorExceptionService> .Class) .Build(); value.SubmitContextAndService(ctxConf, serviceConf); _shouldFailOnRootContext = false; } else { // Context stacking config. value.SubmitContext( ContextConfiguration.ConfigurationModule .Set(ContextConfiguration.Identifier, Context1) .Build()); } } }
public void OnNext(IAllocatedEvaluator allocatedEvaluator) { IConfiguration contextConfiguration = _groupCommDriver.GetContextConfiguration(); int partitionNum; if (_groupCommDriver.IsMasterContextConfiguration(contextConfiguration)) { partitionNum = -1; } else { lock (_lockObj) { partitionNum = _partitionInex; _partitionInex++; } } IConfiguration gcServiceConfiguration = _groupCommDriver.GetServiceConfiguration(); gcServiceConfiguration = Configurations.Merge(gcServiceConfiguration, _centroidCodecConf, _controlMessageCodecConf, _processedResultsCodecConf); IConfiguration commonServiceConfiguration = TangFactory.GetTang().NewConfigurationBuilder(gcServiceConfiguration) .BindNamedParameter <DataPartitionCache.PartitionIndex, int>(GenericType <DataPartitionCache.PartitionIndex> .Class, partitionNum.ToString(CultureInfo.InvariantCulture)) .BindNamedParameter <KMeansConfiguratioinOptions.ExecutionDirectory, string>(GenericType <KMeansConfiguratioinOptions.ExecutionDirectory> .Class, _executionDirectory) .BindNamedParameter <KMeansConfiguratioinOptions.TotalNumEvaluators, int>(GenericType <KMeansConfiguratioinOptions.TotalNumEvaluators> .Class, _totalEvaluators.ToString(CultureInfo.InvariantCulture)) .BindNamedParameter <KMeansConfiguratioinOptions.K, int>(GenericType <KMeansConfiguratioinOptions.K> .Class, _clustersNumber.ToString(CultureInfo.InvariantCulture)) .Build(); IConfiguration dataCacheServiceConfiguration = ServiceConfiguration.ConfigurationModule .Set(ServiceConfiguration.Services, GenericType <DataPartitionCache> .Class) .Build(); allocatedEvaluator.SubmitContextAndService(contextConfiguration, Configurations.Merge(commonServiceConfiguration, dataCacheServiceConfiguration)); }
/// <summary> /// Specifies context and service configuration for evaluator depending /// on whether it is for Update function or for map function /// </summary> /// <param name="allocatedEvaluator">The allocated evaluator</param> public void OnNext(IAllocatedEvaluator allocatedEvaluator) { var configs = _serviceAndContextConfigurationProvider.GetContextConfigurationForEvaluatorById(allocatedEvaluator.Id); allocatedEvaluator.SubmitContextAndService(configs.Context, configs.Service); }
public void OnNext(IAllocatedEvaluator allocatedEvaluator) { IConfiguration contextConf = _groupCommDriver.GetContextConfiguration(); IConfiguration serviceConf = _groupCommDriver.GetServiceConfiguration(); serviceConf = Configurations.Merge(serviceConf, _tcpPortProviderConfig, _codecConfig); allocatedEvaluator.SubmitContextAndService(contextConf, serviceConf); }
public void OnNext(IAllocatedEvaluator value) { Logger.Log(Level.Info, "Received IAllocatedEvaluator"); UpdateMetrics(TestSystemState.EvaluatorAllocated); const string contextId = "ContextID"; var serviceConfiguration = ServiceConfiguration.ConfigurationModule .Build(); var contextConfiguration1 = ContextConfiguration.ConfigurationModule .Set(ContextConfiguration.Identifier, contextId) .Build(); var contextConfiguration2 = MessageSenderConfigurationModule.ConfigurationModule.Build(); var contextConfiguration = Configurations.Merge(contextConfiguration1, contextConfiguration2); value.SubmitContextAndService(contextConfiguration, serviceConfiguration); }
/// <summary> /// Gets context and service configuration for evaluator depending /// on whether it is for update/master function or for mapper function. /// Then submits Context and Service with the corresponding configuration /// </summary> /// <param name="allocatedEvaluator"></param> private void SubmitContextAndService(IAllocatedEvaluator allocatedEvaluator) { ContextAndServiceConfiguration configs; if (_evaluatorManager.IsMasterEvaluatorId(allocatedEvaluator.Id)) { configs = _serviceAndContextConfigurationProvider .GetContextConfigurationForMasterEvaluatorById( allocatedEvaluator.Id); } else { configs = _serviceAndContextConfigurationProvider .GetDataLoadingConfigurationForEvaluatorById( allocatedEvaluator.Id); } allocatedEvaluator.SubmitContextAndService(configs.Context, configs.Service); }
public void OnNext(IAllocatedEvaluator value) { Logger.Log(Level.Info, "Received IAllocatedEvaluator"); const string contextId = "ContextID"; var serviceConfiguration = ServiceConfiguration.ConfigurationModule .Build(); var contextConfiguration1 = ContextConfiguration.ConfigurationModule .Set(ContextConfiguration.Identifier, contextId) ////.Set(ContextConfiguration.OnSendMessage, GenericType<MetricsMessageSender>.Class) .Build(); var contextConfiguration2 = MessageSenderConfigurationModule.ConfigurationModule.Build(); var contextConfiguration = Configurations.Merge(contextConfiguration1, contextConfiguration2); value.SubmitContextAndService(contextConfiguration, serviceConfiguration); }