- Timestamp:
- 06/26/14 14:18:01 (11 years ago)
- Location:
- DCWoRMS/branches/coolemall/src/simulator/stats/implementation
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
DCWoRMS/branches/coolemall/src/simulator/stats/implementation/AccumulatedResourceStats.java
r477 r1396 1 1 package simulator.stats.implementation; 2 2 3 import simulator.stats. GSSAccumulator;3 import simulator.stats.DCwormsAccumulator; 4 4 import simulator.stats.implementation.out.StatsSerializer; 5 5 … … 12 12 13 13 // accumulated resource statistic 14 protected GSSAccumulator resourceLoad;15 protected GSSAccumulator resourceReservationLoad;14 protected DCwormsAccumulator resourceLoad; 15 protected DCwormsAccumulator resourceReservationLoad; 16 16 protected String resourceName; 17 17 … … 21 21 public AccumulatedResourceStats(String resourceName) { 22 22 this.resourceName = resourceName; 23 this.resourceLoad = new GSSAccumulator();24 this.resourceReservationLoad = new GSSAccumulator();23 this.resourceLoad = new DCwormsAccumulator(); 24 this.resourceReservationLoad = new DCwormsAccumulator(); 25 25 } 26 26 … … 37 37 } 38 38 39 public GSSAccumulator getResourceLoad() {39 public DCwormsAccumulator getResourceLoad() { 40 40 return this.resourceLoad; 41 41 } 42 42 43 public GSSAccumulator getResourceReservationLoad() {43 public DCwormsAccumulator getResourceReservationLoad() { 44 44 return this.resourceReservationLoad; 45 45 } -
DCWoRMS/branches/coolemall/src/simulator/stats/implementation/DCWormsStatistics.java
r1374 r1396 59 59 import schedframe.ExecutablesList; 60 60 import schedframe.SimulatedEnvironment; 61 import schedframe. exceptions.ResourceException;61 import schedframe.resources.CustomResourceType; 62 62 import schedframe.resources.ResourceType; 63 import schedframe.resources.UserResourceType;64 63 import schedframe.resources.computing.ComputingResource; 65 import schedframe.resources.computing.Processor;66 64 import schedframe.resources.computing.extensions.Extension; 67 65 import schedframe.resources.computing.extensions.ExtensionList; … … 69 67 import schedframe.resources.computing.profiles.energy.EnergyExtension; 70 68 import schedframe.resources.computing.profiles.energy.MeasurementHistory; 71 import schedframe.resources.computing.profiles.energy.airthroughput.Air FlowValue;69 import schedframe.resources.computing.profiles.energy.airthroughput.AirflowValue; 72 70 import schedframe.resources.computing.profiles.energy.power.PowerUsage; 73 71 import schedframe.resources.computing.profiles.energy.thermal.TemperatureValue; … … 80 78 import schedframe.resources.units.StandardResourceUnitName; 81 79 import schedframe.scheduling.ExecutionHistoryItem; 82 import schedframe.scheduling.Resource HistoryItem;80 import schedframe.scheduling.ResourceItem; 83 81 import schedframe.scheduling.Scheduler; 84 82 import schedframe.scheduling.manager.tasks.JobRegistry; … … 91 89 import simulator.GenericUser; 92 90 import simulator.stats.CoolEmAllMetricsCalculator; 91 import simulator.stats.DCwormsAccumulator; 93 92 import simulator.stats.DCwormsMetricsCalculator; 94 import simulator.stats.GSSAccumulator;95 93 import simulator.stats.MetricsCalculator; 96 94 import simulator.stats.SimulationStatistics; … … 124 122 protected static final String RESOURCEUTILIZATION_STATISTICS_OUTPUT_FILE_NAME = "ResourceUtilization.txt"; 125 123 protected static final String ENERGYUSAGE_STATISTICS_OUTPUT_FILE_NAME = "EnergyUsage.txt"; 126 protected static final String AIRFLOW_STATISTICS_OUTPUT_FILE_NAME = "Air Throughput.txt";124 protected static final String AIRFLOW_STATISTICS_OUTPUT_FILE_NAME = "Airflow.txt"; 127 125 protected static final String TEMPERATURE_STATISTICS_OUTPUT_FILE_NAME = "Temperature.txt"; 128 126 protected static final String USEFUL_WORK_STATISTICS_OUTPUT_FILE_NAME = "UsefulWork.txt"; … … 144 142 145 143 protected GSSAccumulatorsStats accStats; 146 protected Map<String, GSSAccumulator> statsData;144 protected Map<String, DCwormsAccumulator> statsData; 147 145 148 146 protected GenericUser users; … … 232 230 task_processorsMap = new HashMap<String, Set<ComputingResource>>(); 233 231 accStats = new GSSAccumulatorsStats(); 234 statsData = new HashMap<String, GSSAccumulator>();232 statsData = new HashMap<String, DCwormsAccumulator>(); 235 233 236 234 this.serializer = new StringSerializer(); … … 298 296 cStats.add(Stats.chartEnergy); 299 297 cStats.add(Stats.textAirFlow); 300 if(ArrayUtils.contains(configuration.resForAir FlowChart, resourceTypeName))298 if(ArrayUtils.contains(configuration.resForAirflowChart, resourceTypeName)) 301 299 cStats.add(Stats.chartAirFlow); 302 300 cStats.add(Stats.textTemperature); … … 420 418 List<ComputingResource> compResources = null; 421 419 for(String resourceTypeName: resourceController.getComputingResourceLayers()){ 422 GSSAccumulator resourceEnergyAccumulator = new GSSAccumulator();423 GSSAccumulator maxResourceEnergyAccumulator = new GSSAccumulator();424 GSSAccumulator calculationsEnergyAccumulator = new GSSAccumulator();420 DCwormsAccumulator resourceEnergyAccumulator = new DCwormsAccumulator(); 421 DCwormsAccumulator maxResourceEnergyAccumulator = new DCwormsAccumulator(); 422 DCwormsAccumulator calculationsEnergyAccumulator = new DCwormsAccumulator(); 425 423 compResources = new ArrayList<ComputingResource>(); 426 424 for(ComputingResource compRes: resourceController.getComputingResources() ){ 427 compResources.addAll(compRes.getDescendantsByType(new UserResourceType(resourceTypeName)));425 compResources.addAll(compRes.getDescendantsByType(new CustomResourceType(resourceTypeName))); 428 426 } 429 427 if(resourceController.getComputingResources().get(0).getType().getName().equals(resourceTypeName)) … … 526 524 527 525 for(Device device: compResource.getResourceCharacteristic().getDevices()){ 528 GSSAccumulator devAccumulator = new GSSAccumulator();526 DCwormsAccumulator devAccumulator = new DCwormsAccumulator(); 529 527 ResourcePowerStats deviceEnergyUsage = gatherResourcePowerConsumptionStats(device); 530 528 deviceEnergyUsage.setMeanValue(calculateMeanValue(deviceEnergyUsage)); … … 592 590 } 593 591 594 if(ArrayUtils.contains(configuration.resForAir FlowChart, device.getType().getName())){592 if(ArrayUtils.contains(configuration.resForAirflowChart, device.getType().getName())){ 595 593 if (configuration.creatediagrams_resairflow) { 596 594 createResourceAirFlowDiagramData(deviceAirFlow); … … 767 765 768 766 769 LinkedList<Resource HistoryItem> resourceHistory = exec.getAllocatedResources();767 LinkedList<ResourceItem> resourceHistory = exec.getAllocatedResources(); 770 768 if(resourceHistory.size() == 0) 771 769 continue; … … 805 803 806 804 try{ 807 double usefulWork = execTask.get ResourceConsumptionProfile().getUsefulWork()/pes.size();805 double usefulWork = execTask.getExecutionProfile().getUsefulWork()/pes.size(); 808 806 //double usefulWork = gatherUsefulWorkStats(pe).getValue(); 809 GSSAccumulator uwAcc;807 DCwormsAccumulator uwAcc; 810 808 if(metCalc.getMetricsData().containsKey("UW_" + pe.getFullName())){ 811 809 uwAcc = metCalc.getMetricsData().get("UW_" + pe.getFullName()).get(0); 812 810 uwAcc.add(usefulWork); 813 811 } else { 814 uwAcc = new GSSAccumulator();812 uwAcc = new DCwormsAccumulator(); 815 813 uwAcc.add(usefulWork); 816 814 metCalc.addMetricsData("UW_" + pe.getFullName(), uwAcc); … … 832 830 Executable exec = (Executable) execTask; 833 831 834 LinkedList<Resource HistoryItem> resourceHistory = exec.getAllocatedResources();832 LinkedList<ResourceItem> resourceHistory = exec.getAllocatedResources(); 835 833 if(resourceHistory.size() == 0) 836 834 continue; 837 835 838 836 for(int i = 0; i < resourceHistory .size(); i++){ 839 Resource HistoryItem resHistItem = resourceHistory.get(i);837 ResourceItem resHistItem = resourceHistory.get(i); 840 838 Map<ResourceUnitName, ResourceUnit> res = resHistItem.getResourceUnits(); 841 839 ResourceUnit resUnit = res.get(StandardResourceUnitName.PE); 842 840 //ProcessingElements pes = (ProcessingElements) resUnit ; 843 LinkedList<ExecutionHistoryItem> execHistory = exec.getExec History();841 LinkedList<ExecutionHistoryItem> execHistory = exec.getExecutionHistory(); 844 842 long st = -1, et; 845 843 for(int j = 0; j < execHistory .size(); j++){ … … 893 891 894 892 try{ 895 double usefulWork = execTask.get ResourceConsumptionProfile().getUsefulWork()/pes.size();893 double usefulWork = execTask.getExecutionProfile().getUsefulWork()/pes.size(); 896 894 usefulWork = ((et - st) / (1000 * getExecutionTime(execTask))) * usefulWork; 897 GSSAccumulator uwAcc;895 DCwormsAccumulator uwAcc; 898 896 if(metCalc.getMetricsData().containsKey("UW_" + pe.getFullName())){ 899 897 uwAcc = metCalc.getMetricsData().get("UW_" + pe.getFullName()).get(0); 900 898 uwAcc.add(usefulWork); 901 899 } else { 902 uwAcc = new GSSAccumulator();900 uwAcc = new DCwormsAccumulator(); 903 901 uwAcc.add(usefulWork); 904 902 metCalc.addMetricsData("UW_" + pe.getFullName(), uwAcc); … … 922 920 long previousTimestamp = 0; 923 921 int previousStatus = DCWormsTags.CREATED; 924 for(ExecutionHistoryItem execHistItem: execTask.getExec History()){922 for(ExecutionHistoryItem execHistItem: execTask.getExecutionHistory()){ 925 923 if(previousStatus == DCWormsTags.INEXEC){ 926 924 executionTime = executionTime + (execHistItem.getTimeStamp().getMillis()/1000 - previousTimestamp); … … 1033 1031 JobRegistry jr = new JobRegistryImpl(compResource.getFullName()); 1034 1032 for(ExecTask task: jr.getFinishedTasks()){ 1035 usefulWork = usefulWork + task.get ResourceConsumptionProfile().getUsefulWork();1033 usefulWork = usefulWork + task.getExecutionProfile().getUsefulWork(); 1036 1034 } 1037 1035 ResourceUsefulWorkStats usefulWorkStats = new ResourceUsefulWorkStats(compResource.getFullName(), compResource.getType(), usageType, usefulWork, endSimulationTime); … … 1175 1173 if(ee.getAirFlowProfile() == null) 1176 1174 break; 1177 List<Air FlowValue> airFlowHistory = ee.getAirFlowProfile().getAirThroughputHistory();1175 List<AirflowValue> airFlowHistory = ee.getAirFlowProfile().getAirflowHistory(); 1178 1176 if(airFlowHistory.size() == 0) 1179 1177 break; 1180 1178 long endSimulationTime = DateTimeUtilsExt.currentTimeMillis(); 1181 airFlowHistory.add(new Air FlowValue(endSimulationTime, ee.getAirFlowProfile().getAirThroughputHistory().get(ee.getAirFlowProfile().getAirThroughputHistory().size()-1).getValue()));1182 for(Air FlowValue af:airFlowHistory){1179 airFlowHistory.add(new AirflowValue(endSimulationTime, ee.getAirFlowProfile().getAirflowHistory().get(ee.getAirFlowProfile().getAirflowHistory().size()-1).getValue())); 1180 for(AirflowValue af:airFlowHistory){ 1183 1181 airFlow.put(af.getTimestamp(), af.getValue()); 1184 1182 } … … 1402 1400 resourceAirFlowDiagram = getResourceDynamicDiagram(resourceAirFlowDiagrams.get(resType), simulationTime, chartName, 1403 1401 subtitle, axisName); 1404 if (!saveXYPlotChart(resourceAirFlowDiagram, fileName + "Air Throughput_" + resType))1402 if (!saveXYPlotChart(resourceAirFlowDiagram, fileName + "Airflow_" + resType)) 1405 1403 return false; 1406 1404 } … … 2040 2038 } 2041 2039 2042 public GSSAccumulator getStats(String name) {2040 public DCwormsAccumulator getStats(String name) { 2043 2041 return statsData.get(name); 2044 2042 } -
DCWoRMS/branches/coolemall/src/simulator/stats/implementation/GSSAccumulatorsStats.java
r1277 r1396 1 1 package simulator.stats.implementation; 2 2 3 import simulator.stats. GSSAccumulator;3 import simulator.stats.DCwormsAccumulator; 4 4 import simulator.stats.implementation.out.StatsSerializer; 5 5 6 6 public class GSSAccumulatorsStats implements StatsInterface { 7 7 8 public GSSAccumulator meanTotalOccupancy;9 public GSSAccumulator meanTotalLoad;10 public GSSAccumulator meanQueueLength;11 public GSSAccumulator meanEnergyUsage;12 public GSSAccumulator meanAirFlow;13 public GSSAccumulator meanTemperature;8 public DCwormsAccumulator meanTotalOccupancy; 9 public DCwormsAccumulator meanTotalLoad; 10 public DCwormsAccumulator meanQueueLength; 11 public DCwormsAccumulator meanEnergyUsage; 12 public DCwormsAccumulator meanAirFlow; 13 public DCwormsAccumulator meanTemperature; 14 14 15 public GSSAccumulator meanTaskStartTime;16 public GSSAccumulator meanTaskCompletionTime;17 public GSSAccumulator meanTaskExecutionTime;18 public GSSAccumulator meanTaskWaitingTime;19 public GSSAccumulator meanTaskFlowTime;20 public GSSAccumulator lateness;21 public GSSAccumulator tardiness;22 public GSSAccumulator delayedTasks;23 public GSSAccumulator failedRequests;24 public GSSAccumulator makespan;15 public DCwormsAccumulator meanTaskStartTime; 16 public DCwormsAccumulator meanTaskCompletionTime; 17 public DCwormsAccumulator meanTaskExecutionTime; 18 public DCwormsAccumulator meanTaskWaitingTime; 19 public DCwormsAccumulator meanTaskFlowTime; 20 public DCwormsAccumulator lateness; 21 public DCwormsAccumulator tardiness; 22 public DCwormsAccumulator delayedTasks; 23 public DCwormsAccumulator failedRequests; 24 public DCwormsAccumulator makespan; 25 25 26 26 private String[] headers = { "Resource name", "mean", "stdev", "variance", … … 28 28 29 29 public GSSAccumulatorsStats() { 30 meanTotalOccupancy = new GSSAccumulator();31 meanTotalLoad = new GSSAccumulator();32 meanQueueLength = new GSSAccumulator();33 meanEnergyUsage = new GSSAccumulator();34 meanAirFlow = new GSSAccumulator();35 meanTemperature = new GSSAccumulator();30 meanTotalOccupancy = new DCwormsAccumulator(); 31 meanTotalLoad = new DCwormsAccumulator(); 32 meanQueueLength = new DCwormsAccumulator(); 33 meanEnergyUsage = new DCwormsAccumulator(); 34 meanAirFlow = new DCwormsAccumulator(); 35 meanTemperature = new DCwormsAccumulator(); 36 36 37 meanTaskStartTime = new GSSAccumulator();38 meanTaskCompletionTime = new GSSAccumulator();39 meanTaskExecutionTime = new GSSAccumulator();40 meanTaskWaitingTime = new GSSAccumulator();41 meanTaskFlowTime = new GSSAccumulator();42 lateness = new GSSAccumulator();43 tardiness = new GSSAccumulator();44 delayedTasks = new GSSAccumulator();45 failedRequests = new GSSAccumulator();46 makespan = new GSSAccumulator();37 meanTaskStartTime = new DCwormsAccumulator(); 38 meanTaskCompletionTime = new DCwormsAccumulator(); 39 meanTaskExecutionTime = new DCwormsAccumulator(); 40 meanTaskWaitingTime = new DCwormsAccumulator(); 41 meanTaskFlowTime = new DCwormsAccumulator(); 42 lateness = new DCwormsAccumulator(); 43 tardiness = new DCwormsAccumulator(); 44 delayedTasks = new DCwormsAccumulator(); 45 failedRequests = new DCwormsAccumulator(); 46 makespan = new DCwormsAccumulator(); 47 47 } 48 48 -
DCWoRMS/branches/coolemall/src/simulator/stats/implementation/JobStats.java
r477 r1396 1 1 package simulator.stats.implementation; 2 2 3 import java.io.PrintStream; 4 5 import simulator.stats.GSSAccumulator; 3 import simulator.stats.DCwormsAccumulator; 6 4 import simulator.stats.implementation.out.StatsSerializer; 7 5 … … 14 12 15 13 protected String jobID; 16 protected GSSAccumulator meanTaskCompletionTime;17 protected GSSAccumulator meanTaskExecutionTime;18 protected GSSAccumulator meanTaskStartTime;19 protected GSSAccumulator meanTaskFlowTime;20 protected GSSAccumulator meanTaskWaitingTime;21 protected GSSAccumulator meanTaskGQ_WaitingTime;22 protected GSSAccumulator lateness;23 protected GSSAccumulator tardiness;24 protected GSSAccumulator makespan;14 protected DCwormsAccumulator meanTaskCompletionTime; 15 protected DCwormsAccumulator meanTaskExecutionTime; 16 protected DCwormsAccumulator meanTaskStartTime; 17 protected DCwormsAccumulator meanTaskFlowTime; 18 protected DCwormsAccumulator meanTaskWaitingTime; 19 protected DCwormsAccumulator meanTaskGQ_WaitingTime; 20 protected DCwormsAccumulator lateness; 21 protected DCwormsAccumulator tardiness; 22 protected DCwormsAccumulator makespan; 25 23 26 24 JobStats(String jobID) { … … 35 33 36 34 private void init() { 37 this.meanTaskCompletionTime = new GSSAccumulator();38 this.meanTaskExecutionTime = new GSSAccumulator();39 this.meanTaskStartTime = new GSSAccumulator();40 this.meanTaskFlowTime = new GSSAccumulator();41 this.meanTaskWaitingTime = new GSSAccumulator();42 this.meanTaskGQ_WaitingTime = new GSSAccumulator();43 this.lateness = new GSSAccumulator();44 this.tardiness = new GSSAccumulator();45 this.makespan = new GSSAccumulator();35 this.meanTaskCompletionTime = new DCwormsAccumulator(); 36 this.meanTaskExecutionTime = new DCwormsAccumulator(); 37 this.meanTaskStartTime = new DCwormsAccumulator(); 38 this.meanTaskFlowTime = new DCwormsAccumulator(); 39 this.meanTaskWaitingTime = new DCwormsAccumulator(); 40 this.meanTaskGQ_WaitingTime = new DCwormsAccumulator(); 41 this.lateness = new DCwormsAccumulator(); 42 this.tardiness = new DCwormsAccumulator(); 43 this.makespan = new DCwormsAccumulator(); 46 44 } 47 45 … … 50 48 } 51 49 52 public GSSAccumulator getMeanTaskCompletionTime() {50 public DCwormsAccumulator getMeanTaskCompletionTime() { 53 51 return meanTaskCompletionTime; 54 52 } 55 53 56 public GSSAccumulator getMeanTaskExecutionTime() {54 public DCwormsAccumulator getMeanTaskExecutionTime() { 57 55 return meanTaskExecutionTime; 58 56 } 59 57 60 public GSSAccumulator getMeanTaskStartTime() {58 public DCwormsAccumulator getMeanTaskStartTime() { 61 59 return meanTaskStartTime; 62 60 } 63 61 64 public GSSAccumulator getMeanTaskFlowTime() {62 public DCwormsAccumulator getMeanTaskFlowTime() { 65 63 return meanTaskFlowTime; 66 64 } 67 65 68 public GSSAccumulator getMeanTaskWaitingTime() {66 public DCwormsAccumulator getMeanTaskWaitingTime() { 69 67 return meanTaskWaitingTime; 70 68 } 71 69 72 public GSSAccumulator getMeanTaskGQ_WaitingTime() {70 public DCwormsAccumulator getMeanTaskGQ_WaitingTime() { 73 71 return meanTaskGQ_WaitingTime; 74 72 } 75 73 76 public GSSAccumulator getLateness() {74 public DCwormsAccumulator getLateness() { 77 75 return lateness; 78 76 } 79 77 80 public GSSAccumulator getTardiness() {78 public DCwormsAccumulator getTardiness() { 81 79 return tardiness; 82 80 } 83 81 84 public GSSAccumulator getMakespan() {82 public DCwormsAccumulator getMakespan() { 85 83 return makespan; 86 84 } -
DCWoRMS/branches/coolemall/src/simulator/stats/implementation/ResourceHistoryStats.java
r1207 r1396 3 3 import java.util.List; 4 4 5 import schedframe.resources.ResourceHistory Changes;5 import schedframe.resources.ResourceHistoryItem; 6 6 import simulator.stats.implementation.out.StatsSerializer; 7 7 … … 10 10 private String[] headers = {"timestamp", "resourceName", "operation", "parameter" }; 11 11 12 protected List<ResourceHistory Changes> resHistChanges;12 protected List<ResourceHistoryItem> resHist; 13 13 14 public ResourceHistoryStats(List<ResourceHistoryChanges> resHistChanges) { 15 super(); 16 this.resHistChanges = resHistChanges; 14 public ResourceHistoryStats(List<ResourceHistoryItem> resHist) { 15 this.resHist = resHist; 17 16 } 18 19 17 20 18 public Object serialize(StatsSerializer serializer) { … … 26 24 } 27 25 28 29 public List<ResourceHistoryChanges> getResHistChanges() { 30 return resHistChanges; 26 public List<ResourceHistoryItem> getResourceHistory() { 27 return resHist; 31 28 } 32 29 } -
DCWoRMS/branches/coolemall/src/simulator/stats/implementation/TaskStats.java
r1362 r1396 108 108 long previousTimestamp = 0; 109 109 int previousStatus = DCWormsTags.CREATED; 110 for(ExecutionHistoryItem execHistItem: task.getExec History()){110 for(ExecutionHistoryItem execHistItem: task.getExecutionHistory()){ 111 111 if(previousStatus == DCWormsTags.INEXEC){ 112 112 executionTime = executionTime + (execHistItem.getTimeStamp().getMillis()/1000 - previousTimestamp); -
DCWoRMS/branches/coolemall/src/simulator/stats/implementation/out/CoolEmAllStringSerializer.java
r1207 r1396 8 8 9 9 import schedframe.resources.CoolEmAllResourceType; 10 import schedframe.resources.ResourceHistory Changes;10 import schedframe.resources.ResourceHistoryItem; 11 11 import schedframe.resources.StandardResourceType; 12 12 import simulator.stats.implementation.MetricsStats; … … 311 311 df.setGroupingUsed(false); 312 312 313 for(ResourceHistory Changes rhc: arg.getResHistChanges()){313 for(ResourceHistoryItem rhc: arg.getResourceHistory()){ 314 314 buffer.append(rhc.getTimestamp()); 315 315 buffer.append(fieldSeparator); 316 316 buffer.append(rhc.getResourceName()); 317 317 buffer.append(fieldSeparator); 318 buffer.append(rhc.get Operation());318 buffer.append(rhc.getAction()); 319 319 buffer.append(fieldSeparator); 320 320 buffer.append(rhc.getParamter());
Note: See TracChangeset
for help on using the changeset viewer.