- Timestamp:
- 02/01/11 15:51:11 (14 years ago)
- Location:
- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Slave/3.4
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Slave/3.4/ConfigManager.cs
r5314 r5404 26 26 using HeuristicLab.Services.Hive.Common.DataTransfer; 27 27 using HeuristicLab.Clients.Hive.Slave.Properties; 28 using System.Management; 29 using System.Diagnostics; 28 30 29 31 … … 44 46 45 47 public Core Core { get; set; } 46 private HeuristicLab.Services.Hive.Common.DataTransfer.Slave hardwareInfo;47 48 private HeuristicLab.Services.Hive.Common.DataTransfer.Slave slave; 49 48 50 /// <summary> 49 51 /// Constructor for the singleton, must recover Guid, Calendar, ... 50 52 /// </summary> 51 53 private ConfigManager() { 52 hardwareInfo = new HeuristicLab.Services.Hive.Common.DataTransfer.Slave(); 53 54 if (Settings.Default.Guid == Guid.Empty) { 55 hardwareInfo.Id = Guid.NewGuid(); 56 Settings.Default.Guid = hardwareInfo.Id; 57 Settings.Default.Save(); 58 } else 59 hardwareInfo.Id = Settings.Default.Guid; 60 61 hardwareInfo.Cores = Environment.ProcessorCount; 62 hardwareInfo.Memory = 1024; 63 hardwareInfo.Name = Environment.MachineName; 54 slave = new HeuristicLab.Services.Hive.Common.DataTransfer.Slave(); 55 slave.Id = GetUniqueMachineId(); 56 slave.Name = Environment.MachineName; 57 slave.Cores = Environment.ProcessorCount; 58 slave.Memory = GetPhysicalMemory(); 59 slave.CpuArchitecture = Environment.Is64BitOperatingSystem ? CpuArchitecture.x64 : CpuArchitecture.x86; 60 slave.OperatingSystem = Environment.OSVersion.VersionString; 64 61 } 65 62 … … 71 68 //TODO: how to display connectedsince in gui? 72 69 //hardwareInfo.Login = WcfService.Instance.ConnectedSince; 73 return hardwareInfo;70 return slave; 74 71 } 75 72 … … 81 78 //Todo: Locking 82 79 StatusCommons st = new StatusCommons(); 83 st.ClientGuid = hardwareInfo.Id;80 st.ClientGuid = slave.Id; 84 81 85 82 st.Status = WcfService.Instance.ConnState; 86 83 st.ConnectedSince = WcfService.Instance.ConnectedSince; 87 84 88 st.TotalCores = hardwareInfo.Cores.HasValue ? hardwareInfo.Cores.Value : 0;89 st.FreeCores = hardwareInfo.Cores.HasValue ? hardwareInfo.Cores.Value - GetUsedCores() : 0;85 st.TotalCores = slave.Cores.HasValue ? slave.Cores.Value : 0; 86 st.FreeCores = slave.Cores.HasValue ? slave.Cores.Value - GetUsedCores() : 0; 90 87 91 88 st.JobsAborted = SlaveStatusInfo.JobsAborted; … … 128 125 } 129 126 127 public static Guid GetUniqueMachineId() { 128 // todo: instead of creating a new id, generate an ID from hardware IDs which is always the same for one machine 129 if (Settings.Default.Guid == Guid.Empty) { 130 Guid id = Guid.NewGuid(); 131 Settings.Default.Guid = id; 132 Settings.Default.Save(); 133 return id; 134 } else 135 return Settings.Default.Guid; 136 } 137 138 public static int GetPhysicalMemory() { 139 return 1024; // todo 140 } 141 142 public static int GetFreeMemory() { 143 PerformanceCounter counter = new PerformanceCounter("Memory", "Available Bytes", true); 144 int mb = (int)(counter.NextValue() / 1024 / 1024); 145 return mb; 146 } 130 147 } 131 148 } -
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Slave/3.4/Core.cs
r5402 r5404 153 153 154 154 //Pull a Job from the Server 155 case MessageContainer.MessageType. AquireJob:156 Job myJob = wcfService. AquireJob();155 case MessageContainer.MessageType.CalculateJob: 156 Job myJob = wcfService.GetJob(container.JobId); 157 157 //TODO: handle in own thread!! 158 158 JobData jobData = wcfService.GetJobData(myJob.Id); -
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Slave/3.4/HeartbeatManager.cs
r5375 r5404 93 93 SlaveId = info.Id, /*Settings.Default.Guid*/ 94 94 FreeCores = info.Cores.HasValue ? info.Cores.Value - ConfigManager.Instance.GetUsedCores() : 0, 95 FreeMemory = GetFreeMemory(),95 FreeMemory = ConfigManager.GetFreeMemory(), 96 96 JobProgress = ConfigManager.Instance.GetExecutionTimeOfAllJobs() 97 97 }; … … 129 129 } 130 130 #endregion 131 132 #region Helpers133 private int GetFreeMemory() {134 PerformanceCounter counter = new PerformanceCounter("Memory", "Available Bytes", true);135 int mb = (int)(counter.NextValue() / 1024 / 1024);136 return mb;137 }138 #endregion139 131 } 140 132 } -
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Slave/3.4/HeuristicLab.Clients.Hive.Slave-3.4.csproj
r5402 r5404 88 88 <Reference Include="System" /> 89 89 <Reference Include="System.Core" /> 90 <Reference Include="System.Management" /> 90 91 <Reference Include="System.Runtime.Serialization" /> 91 92 <Reference Include="System.ServiceModel" /> -
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Slave/3.4/WcfService.cs
r5375 r5404 113 113 114 114 /// <summary> 115 /// Aquire a Job from the Server, return the Job116 /// </summary> 117 public Job AquireJob() {118 using (Disposable<IHiveService> service = ServiceLocator.Instance.GetService()) { 119 try { 120 Job job = service.Obj. AquireJob(Settings.Default.Guid);115 /// Get a Job from the Server 116 /// </summary> 117 public Job GetJob(Guid jobId) { 118 using (Disposable<IHiveService> service = ServiceLocator.Instance.GetService()) { 119 try { 120 Job job = service.Obj.GetJob(jobId); 121 121 return job; 122 122 }
Note: See TracChangeset
for help on using the changeset viewer.