- Timestamp:
- 03/28/19 16:54:20 (6 years ago)
- Location:
- branches/2521_ProblemRefactoring
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2521_ProblemRefactoring
- Property svn:mergeinfo changed
-
branches/2521_ProblemRefactoring/HeuristicLab.Clients.Hive.Slave
-
Property
svn:mergeinfo
set to
(toggle deleted branches)
/branches/2520_PersistenceReintegration/HeuristicLab.Clients.Hive.Slave merged eligible /branches/2839_HiveProjectManagement/HeuristicLab.Clients.Hive.Slave merged eligible /branches/2947_ConfigurableIndexedDataTable/HeuristicLab.Clients.Hive.Slave merged eligible /branches/2965_CancelablePersistence/HeuristicLab.Clients.Hive.Slave merged eligible /stable/HeuristicLab.Clients.Hive.Slave merged eligible /trunk/HeuristicLab.Clients.Hive.Slave merged eligible /branches/1721-RandomForestPersistence/HeuristicLab.Clients.Hive.Slave 10321-10322 /branches/2892_LR-prediction-intervals/HeuristicLab.Clients.Hive.Slave 15743-16388 /branches/2915-AbsoluteSymbol/HeuristicLab.Clients.Hive.Slave 15943-16355 /branches/Algorithms.GradientDescent/HeuristicLab.Clients.Hive.Slave 5516-5520 /branches/Benchmarking/sources/HeuristicLab.Clients.Hive.Slave 6917-7005 /branches/CloningRefactoring/HeuristicLab.Clients.Hive.Slave 4656-4721 /branches/CodeEditor/HeuristicLab.Clients.Hive.Slave 11700-11806 /branches/DataAnalysis Refactoring/HeuristicLab.Clients.Hive.Slave 5471-5808 /branches/DataAnalysis SolutionEnsembles/HeuristicLab.Clients.Hive.Slave 5815-6180 /branches/DataAnalysis/HeuristicLab.Clients.Hive.Slave 4458-4459,4462,4464 /branches/DataPreprocessing/HeuristicLab.Clients.Hive.Slave 10085-11101 /branches/GP.Grammar.Editor/HeuristicLab.Clients.Hive.Slave 6284-6795 /branches/GP.Symbols (TimeLag, Diff, Integral)/HeuristicLab.Clients.Hive.Slave 5060 /branches/HLScript/HeuristicLab.Clients.Hive.Slave 10331-10358 /branches/HeuristicLab.DatasetRefactor/sources/HeuristicLab.Clients.Hive.Slave 11570-12508 /branches/HeuristicLab.Problems.DataAnalysis.Trading/HeuristicLab.Clients.Hive.Slave 6123-9799 /branches/HeuristicLab.Problems.Orienteering/HeuristicLab.Clients.Hive.Slave 11130-12721 /branches/HiveStatistics/sources/HeuristicLab.Clients.Hive.Slave 12440-12877 /branches/LogResidualEvaluator/HeuristicLab.Clients.Hive.Slave 10202-10483 /branches/NET40/sources/HeuristicLab.Clients.Hive.Slave 5138-5162 /branches/NSGA-II Changes/HeuristicLab.Clients.Hive.Slave 12033-12122 /branches/ParallelEngine/HeuristicLab.Clients.Hive.Slave 5175-5192 /branches/ProblemInstancesRegressionAndClassification/HeuristicLab.Clients.Hive.Slave 7568-7810 /branches/QAPAlgorithms/HeuristicLab.Clients.Hive.Slave 6350-6627 /branches/Restructure trunk solution/HeuristicLab.Clients.Hive.Slave 6828 /branches/RuntimeOptimizer/HeuristicLab.Clients.Hive.Slave 8943-9078 /branches/ScatterSearch (trunk integration)/HeuristicLab.Clients.Hive.Slave 7787-8333 /branches/SlaveShutdown/HeuristicLab.Clients.Hive.Slave 8944-8956 /branches/SpectralKernelForGaussianProcesses/HeuristicLab.Clients.Hive.Slave 10204-10479 /branches/SuccessProgressAnalysis/HeuristicLab.Clients.Hive.Slave 5370-5682 /branches/Trunk/HeuristicLab.Clients.Hive.Slave 6829-6865 /branches/UnloadJobs/HeuristicLab.Clients.Hive.Slave 9168-9215 /branches/VNS/HeuristicLab.Clients.Hive.Slave 5594-5752 /branches/crossvalidation-2434/HeuristicLab.Clients.Hive.Slave 12948-12950 /branches/histogram/HeuristicLab.Clients.Hive.Slave 5959-6341
-
Property
svn:mergeinfo
set to
(toggle deleted branches)
-
branches/2521_ProblemRefactoring/HeuristicLab.Clients.Hive.Slave/3.3/Core.cs
r16692 r16723 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 8Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. … … 38 38 /// </summary> 39 39 public class Core : MarshalByRefObject { 40 private static readonly object locker = new object(); 41 40 42 private static HeartbeatManager heartbeatManager; 41 43 public static HeartbeatManager HeartbeatManager { … … 240 242 task = wcfService.GetTask(taskId); 241 243 if (task == null) throw new TaskNotFoundException(taskId); 242 if (ConfigManager.Instance.GetFreeCores() < task.CoresNeeded) throw new OutOfCoresException(); 243 if (ConfigManager.Instance.GetFreeMemory() < task.MemoryNeeded) throw new OutOfMemoryException(); 244 SlaveStatusInfo.IncrementUsedCores(task.CoresNeeded); usedCores = task.CoresNeeded; 244 lock (locker) { 245 // the amount of used cores/memory could exceed the amount of available cores/memory 246 // if HandleCalculateTask is called simultaneously from within two different tasks 247 if (ConfigManager.Instance.GetFreeCores() < task.CoresNeeded) throw new OutOfCoresException(); 248 if (ConfigManager.Instance.GetFreeMemory() < task.MemoryNeeded) throw new OutOfMemoryException(); 249 SlaveStatusInfo.IncrementUsedCores(task.CoresNeeded); usedCores = task.CoresNeeded; 250 } 245 251 TaskData taskData = wcfService.GetTaskData(taskId); 246 252 if (taskData == null) throw new TaskDataNotFoundException(taskId); … … 400 406 401 407 private void taskManager_TaskAborted(object sender, EventArgs<SlaveTask> e) { 408 var slaveTask = e.Value; 409 var task = wcfService.GetTask(slaveTask.TaskId); 410 wcfService.UpdateJobState(task.Id, TaskState.Aborted, null); 402 411 SlaveStatusInfo.DecrementUsedCores(e.Value.CoresNeeded); 403 412 }
Note: See TracChangeset
for help on using the changeset viewer.