public void assignExperiments(ref List <MonitoredExperimentViewModel> pendingExperiments , ref List <HerdAgentViewModel> freeHerdAgents , ref List <ExperimentBatch> experimentAssignments , CancellationToken cancelToken, Logger.LogFunction logFunction = null) { experimentAssignments.Clear(); List <MonitoredExperimentViewModel> experimentBatch; while (pendingExperiments.Count > 0 && freeHerdAgents.Count > 0) { HerdAgentViewModel agentVM = freeHerdAgents[0]; freeHerdAgents.RemoveAt(0); //usedHerdAgents.Add(agentVM); int numProcessors = Math.Max(1, agentVM.numProcessors - 1); //we free one processor experimentBatch = new List <MonitoredExperimentViewModel>(); int numPendingExperiments = pendingExperiments.Count; for (int i = 0; i < Math.Min(numProcessors, numPendingExperiments); i++) { experimentBatch.Add(pendingExperiments[0]); pendingExperiments.RemoveAt(0); } experimentAssignments.Add(new ExperimentBatch("batch-" + batchId, experimentBatch, agentVM, m_evaluationMonitor , cancelToken, logFunction)); ++batchId; } }
public MonitorWindowViewModel(List <HerdAgentViewModel> freeHerdAgents , List <Experiment> pendingExperiments, Logger.LogFunction logFunction, string batchFilename) { evaluationPlot = new PlotViewModel("Evaluation episodes"); experimentQueueMonitor = new ExperimentQueueMonitorViewModel(freeHerdAgents, pendingExperiments , evaluationPlot, logFunction); m_batchFilename = batchFilename; }
public CJobDispatcher() { m_job = new CJob(); m_xmlStream = new XMLStream(); m_nextFileSize = 0; m_tempDir = ""; m_logMessageHandler = null; }
public ExperimentBatch(string name, List<MonitoredExperimentViewModel> experiments,HerdAgentViewModel herdAgent ,PlotViewModel evaluationPlot,CancellationToken cancelToken, Logger.LogFunction logFunction) { m_name = name; m_monitoredExperiments = experiments; m_herdAgent = herdAgent; m_logFunction = logFunction; m_shepherd = new Shepherd(); m_shepherd.setLogMessageHandler(logFunction); m_cancelToken = cancelToken; m_evaluationPlot = evaluationPlot; m_experimentSeriesId = new Dictionary<string, int>(); }
public ExperimentBatch(string name, List <MonitoredExperimentViewModel> experiments, HerdAgentViewModel herdAgent , PlotViewModel evaluationPlot, CancellationToken cancelToken, Logger.LogFunction logFunction) { m_name = name; m_monitoredExperiments = experiments; m_herdAgent = herdAgent; m_logFunction = logFunction; m_shepherd = new Shepherd(); m_shepherd.setLogMessageHandler(logFunction); m_cancelToken = cancelToken; m_evaluationPlot = evaluationPlot; m_experimentSeriesId = new Dictionary <string, int>(); }
public ExperimentQueueMonitorViewModel(List <HerdAgentViewModel> freeHerdAgents , List <Experiment> experiments, PlotViewModel evaluationMonitor , Logger.LogFunction logFunctionDelegate) { m_evaluationMonitor = evaluationMonitor; m_herdAgentList = freeHerdAgents; logFunction = logFunctionDelegate; foreach (Experiment exp in experiments) { MonitoredExperimentViewModel monitoredExperiment = new MonitoredExperimentViewModel(exp, evaluationMonitor); m_monitoredExperimentBatchList.Add(monitoredExperiment); m_pendingExperiments.Add(monitoredExperiment); } NotifyOfPropertyChange(() => monitoredExperimentBatchList); }
public ExperimentQueueMonitorViewModel(List<HerdAgentViewModel> freeHerdAgents , List<Experiment> experiments, PlotViewModel evaluationMonitor , Logger.LogFunction logFunctionDelegate) { m_evaluationMonitor = evaluationMonitor; m_herdAgentList = freeHerdAgents; logFunction = logFunctionDelegate; foreach (Experiment exp in experiments) { MonitoredExperimentViewModel monitoredExperiment= new MonitoredExperimentViewModel(exp,evaluationMonitor); m_monitoredExperimentBatchList.Add(monitoredExperiment); m_pendingExperiments.Add(monitoredExperiment); } NotifyOfPropertyChange(() => monitoredExperimentBatchList); }
public void setLogMessageHandler(Logger.LogFunction logMessageHandler) { m_logMessageHandler = logMessageHandler; }
public void setLogMessageHandler(Logger.LogFunction logMessageHandler) { m_logMessageHandler = logMessageHandler; m_xmlStream.setLogMessageHandler(logMessageHandler); }