- Timestamp:
- 07/30/14 12:25:00 (11 years ago)
- Location:
- DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles
- Files:
-
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/EnergyExtension.java
r1415 r1423 111 111 if(powerProfile == null || powerProfile.getEnergyEstimationPlugin() == null) 112 112 return false; 113 if(event.getType().getName().equals(ResourceEventType.POWER_STATE_CHANGED.getName())) 113 if(event.getType().getName().equals(ResourceEventType.UTILIZATION_CHANGED.getName())) 114 return true; 115 else if(event.getType().getName().equals(ResourceEventType.TASK_STARTED.getName())) 116 return true; 117 else if(event.getType().getName().equals(ResourceEventType.TASK_FINISHED.getName())) 118 return true; 119 else if(event.getType().getName().equals(ResourceEventType.POWER_STATE_CHANGED.getName())) 114 120 return true; 115 121 else if(event.getType().getName().equals(ResourceEventType.CPU_FREQUENCY_CHANGED.getName())) 116 122 return true; 117 else if(event.getType().getName().equals(ResourceEventType.TASK_STARTED.getName())) 118 return true; 119 else if(event.getType().getName().equals(ResourceEventType.TASK_FINISHED.getName())) 120 return true; 121 else if(event.getType().getName().equals(ResourceEventType.UTILIZATION_CHANGED.getName())) 123 else if(event.getType().getName().equals(ResourceEventType.UPDATE_POWER_STATE.getName())) 122 124 return true; 123 125 … … 138 140 switch (resEvent.getType()) { 139 141 140 case UPDATE_POWER_STATE: 141 PowerStateName newPowerState = (PowerStateName) resEvent.getData(); 142 powerInterface.setPowerState(newPowerState); 143 break; 144 142 case UTILIZATION_CHANGED: 143 power = powerProfile.getEnergyEstimationPlugin().estimatePowerConsumption(resEvent, new JobRegistryImpl(resource.getFullName()), resource); 144 status = powerProfile.addToPowerUsageHistory(power); 145 break; 146 147 case TASK_STARTED: 148 power = powerProfile.getEnergyEstimationPlugin().estimatePowerConsumption(resEvent, new JobRegistryImpl(resource.getFullName()), resource); 149 status = powerProfile.addToPowerUsageHistory(power); 150 break; 151 152 case TASK_FINISHED: 153 power = powerProfile.getEnergyEstimationPlugin().estimatePowerConsumption(resEvent, new JobRegistryImpl(resource.getFullName()), resource); 154 status = powerProfile.addToPowerUsageHistory(power); 155 break; 156 145 157 case POWER_STATE_CHANGED: 146 158 power = powerProfile.getEnergyEstimationPlugin().estimatePowerConsumption(resEvent, new JobRegistryImpl(resource.getFullName()), resource); … … 153 165 break; 154 166 155 case TASK_STARTED: 156 power = powerProfile.getEnergyEstimationPlugin().estimatePowerConsumption(resEvent, new JobRegistryImpl(resource.getFullName()), resource); 157 status = powerProfile.addToPowerUsageHistory(power); 158 break; 159 160 case TASK_FINISHED: 161 power = powerProfile.getEnergyEstimationPlugin().estimatePowerConsumption(resEvent, new JobRegistryImpl(resource.getFullName()), resource); 162 status = powerProfile.addToPowerUsageHistory(power); 163 break; 164 165 case UTILIZATION_CHANGED: 166 power = powerProfile.getEnergyEstimationPlugin().estimatePowerConsumption(resEvent, new JobRegistryImpl(resource.getFullName()), resource); 167 status = powerProfile.addToPowerUsageHistory(power); 167 case UPDATE_POWER_STATE: 168 if(resource.getFullName().equals(resEvent.getSource())){ 169 PowerStateName newPowerState = (PowerStateName) resEvent.getData(); 170 powerInterface.setPowerState(newPowerState); 171 } 168 172 break; 169 173 -
DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/airthroughput/ui/AirflowInterface.java
r1396 r1423 24 24 public AirflowValue getRecentAirflow(); 25 25 26 List<AirflowValue> getAirflowHistory();26 public List<AirflowValue> getAirflowHistory(); 27 27 28 28 public Parameters getParameters(); -
DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/airthroughput/ui/ComputingResourceAirflowInterface.java
r1415 r1423 1 1 package schedframe.resources.computing.profiles.energy.airthroughput.ui; 2 2 3 import java.util.ArrayList;4 3 import java.util.List; 5 4 … … 54 53 55 54 public List<AirflowState> getSupportedAirflowStates() { 56 List<AirflowState> airflowStates = new ArrayList<AirflowState>(); 57 for(AirflowState airflowState: airflowProfile.getAirflowStates()){ 58 airflowStates.add(airflowState); 59 } 60 return airflowStates; 55 return airflowProfile.getAirflowStates(); 61 56 } 62 57 -
DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/power/PowerProfile.java
r1207 r1423 64 64 public List<PowerState> getSupportedPowerStates() { 65 65 if(supportedPowerStates == null) 66 return new ArrayList<PowerState>( );66 return new ArrayList<PowerState>(0); 67 67 return supportedPowerStates; 68 68 } … … 70 70 public Map<String, PState> getSupportedPStates() { 71 71 if(supportedPStates == null) 72 return new HashMap<String, PState>( );72 return new HashMap<String, PState>(0); 73 73 return supportedPStates; 74 74 } … … 117 117 boolean supportsOFF = false; 118 118 if(supportedPowerStates == null){ 119 supportedPowerStates = new ArrayList<PowerState>( );119 supportedPowerStates = new ArrayList<PowerState>(4); 120 120 } 121 121 for(PowerState ps: supportedPowerStates){ … … 128 128 129 129 if(!supportsON){ 130 supportedPowerStates.add(new PowerState(StandardPowerStateName.ON, -1, new ArrayList<Transition>())); 130 supportedPowerStates.add(new PowerState(StandardPowerStateName.ON, -1, null)); 131 supportedPowerStates.add(new PowerState(StandardPowerStateName.BOOT, -1, null)); 131 132 } 132 133 if(!supportsOFF){ 133 supportedPowerStates.add(new PowerState(StandardPowerStateName.OFF, -1, new ArrayList<Transition>())); 134 supportedPowerStates.add(new PowerState(StandardPowerStateName.OFF, -1, null)); 135 supportedPowerStates.add(new PowerState(StandardPowerStateName.POWEROFF, -1, null)); 134 136 } 135 137 } -
DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/power/PowerState.java
r477 r1423 1 1 package schedframe.resources.computing.profiles.energy.power; 2 2 3 import java.util.ArrayList; 3 4 import java.util.List; 4 5 … … 24 25 } 25 26 public List<Transition> getTransitions() { 27 if(transitions == null) 28 return new ArrayList<Transition>(0); 26 29 return transitions; 27 30 } -
DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/power/ui/ComputingResourcePowerInterface.java
r1415 r1423 1 1 package schedframe.resources.computing.profiles.energy.power.ui; 2 2 3 import java.util.ArrayList;4 3 import java.util.List; 5 4 … … 65 64 66 65 public List<PowerState> getSupportedPowerStates(){ 67 List<PowerState> powerStates = new ArrayList<PowerState>(); 68 for(PowerState powerState: powerProfile.getSupportedPowerStates()){ 69 powerStates.add(powerState); 70 } 71 return powerStates; 66 return powerProfile.getSupportedPowerStates(); 72 67 } 73 68 -
DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/power/ui/NodePowerInterface.java
r1415 r1423 4 4 5 5 import java.util.List; 6 6 7 7 8 import schedframe.resources.ResourceStatus; … … 37 38 } 38 39 39 if(state == StandardPowerStateName.OFF ){40 if(state == StandardPowerStateName.OFF || state == StandardPowerStateName.POWEROFF){ 40 41 node.setStatus(ResourceStatus.UNAVAILABLE); 41 42 } 42 else if(state == StandardPowerStateName.ON ){43 else if(state == StandardPowerStateName.ON || state == StandardPowerStateName.BOOT){ 43 44 node.setStatus(ResourceStatus.FREE); 44 45 } … … 55 56 /*double timePenalty = getTransitionTime(currentPowerState, StandardPowerStateName.ON); 56 57 setPowerState(StandardPowerStateName.BOOT); 57 DataCenterWorkloadSimulator.getEventManager().sendToResource(resource.getFullName(), timePenalty, new ResourceEvent(ResourceEventType.UPDATE_POWER_STATE, StandardPowerStateName.ON, resource.getFullName()));*/ 58 DataCenterWorkloadSimulator.getEventManager().sendToResource(resource.getFullName(), timePenalty, new ResourceEvent(ResourceEventType.UPDATE_POWER_STATE, StandardPowerStateName.ON, resource.getFullName())); 59 */ 58 60 setPowerState(StandardPowerStateName.ON); 59 61 } … … 68 70 private double getTransitionTime(PowerStateName from, PowerStateName to){ 69 71 List<PowerState> availablePowerStates = getSupportedPowerStates(); 70 double time Penalty= 0;72 double time = 0; 71 73 for(PowerState ps : availablePowerStates){ 72 74 if(ps.getName().getLabel().equals(from.getLabel())){ … … 74 76 for(Transition t: transitions){ 75 77 if(t.getTo().getLabel().equals(to)){ 76 time Penalty= t.getTime();78 time = t.getTime(); 77 79 } 78 80 } 79 81 } 80 82 } 81 return time Penalty;83 return time; 82 84 } 83 85 -
DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/power/ui/PowerInterface.java
r1380 r1423 24 24 //public double getCurrentPowerConsumption(); 25 25 26 List<PowerUsage> getPowerUsageHistory();26 public List<PowerUsage> getPowerUsageHistory(); 27 27 28 28 public Parameters getParameters(); -
DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/thermal/ui/ThermalInterface.java
r804 r1423 10 10 public TemperatureValue getRecentTemperature(); 11 11 12 List<TemperatureValue> getTemperatureHistory();12 public List<TemperatureValue> getTemperatureHistory(); 13 13 14 14 public Parameters getParameters(); -
DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/load/LoadEstimationPluginFactory.java
r1293 r1423 1 1 package schedframe.resources.computing.profiles.load; 2 2 3 import example.load.AppBasedProcessorLoadEstimationPlugin; 3 4 import example.load.DefaultLoadEstimationPlugin; 4 5 import example.load.ProcessorLoadEstimationPlugin; … … 14 15 15 16 if(resType.getName().equals(StandardResourceType.Processor.getName())) 16 loadEstimationPlugin = new ProcessorLoadEstimationPlugin();17 loadEstimationPlugin = new AppBasedProcessorLoadEstimationPlugin(); 17 18 else 18 19 loadEstimationPlugin = new DefaultLoadEstimationPlugin(); -
DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/load/LoadExtension.java
r1415 r1423 19 19 protected PhysicalResource resource; 20 20 21 public LoadExtension(LoadProfile loadProfile, 21 public LoadExtension(LoadProfile loadProfile, PhysicalResource resource) { 22 22 this.loadProfile = loadProfile; 23 23 this.loadInterface = LoadInterfaceFactory.createLoadInterface(resource, loadProfile); … … 29 29 if(loadProfile == null || loadProfile.getLoadEstimationPlugin() == null) 30 30 return false; 31 if(event.getType().getName().equals(ResourceEventType.POWER_STATE_CHANGED.getName())) 32 return true; 33 else if(event.getType().getName().equals(ResourceEventType.CPU_FREQUENCY_CHANGED.getName())) 31 if(event.getType().getName().equals(ResourceEventType.UTILIZATION_CHANGED.getName())) 34 32 return true; 35 33 else if(event.getType().getName().equals(ResourceEventType.TASK_STARTED.getName())) … … 37 35 else if(event.getType().getName().equals(ResourceEventType.TASK_FINISHED.getName())) 38 36 return true; 39 else if(event.getType().getName().equals(ResourceEventType.UTILIZATION_CHANGED.getName())) 40 return true; 37 else if(event.getType().getName().equals(ResourceEventType.POWER_STATE_CHANGED.getName())) 38 return true; 39 else if(event.getType().getName().equals(ResourceEventType.CPU_FREQUENCY_CHANGED.getName())) 40 return true; 41 41 else return false; 42 42 } … … 44 44 public void handleEvent(Event event) { 45 45 46 ResourceEvent enEvent = (ResourceEvent)event;46 ResourceEvent resEvent = (ResourceEvent)event; 47 47 double load = 0; 48 48 try{ 49 switch ( enEvent.getType()) {49 switch (resEvent.getType()) { 50 50 51 case UTILIZATION_CHANGED: 52 load = loadProfile.getLoadEstimationPlugin().estimateUtlization(resEvent, new JobRegistryImpl(resource.getFullName()), resource); 53 loadProfile.addToLoadHistory(load); 54 break; 55 56 case TASK_STARTED: 57 load = loadProfile.getLoadEstimationPlugin().estimateUtlization(resEvent, new JobRegistryImpl(resource.getFullName()), resource); 58 loadProfile.addToLoadHistory(load); 59 break; 60 61 case TASK_FINISHED: 62 load = loadProfile.getLoadEstimationPlugin().estimateUtlization(resEvent, new JobRegistryImpl(resource.getFullName()), resource); 63 loadProfile.addToLoadHistory(load); 64 break; 65 51 66 case POWER_STATE_CHANGED: 52 load = loadProfile.getLoadEstimationPlugin().estimateUtlization( enEvent, new JobRegistryImpl(resource.getFullName()), resource);67 load = loadProfile.getLoadEstimationPlugin().estimateUtlization(resEvent, new JobRegistryImpl(resource.getFullName()), resource); 53 68 loadProfile.addToLoadHistory(load); 54 69 break; 55 70 56 71 case CPU_FREQUENCY_CHANGED: 57 load = loadProfile.getLoadEstimationPlugin().estimateUtlization(enEvent, new JobRegistryImpl(resource.getFullName()), resource); 58 loadProfile.addToLoadHistory(load); 59 break; 60 61 case TASK_STARTED: 62 load = loadProfile.getLoadEstimationPlugin().estimateUtlization(enEvent, new JobRegistryImpl(resource.getFullName()), resource); 63 loadProfile.addToLoadHistory(load); 64 break; 65 66 case TASK_FINISHED: 67 load = loadProfile.getLoadEstimationPlugin().estimateUtlization(enEvent, new JobRegistryImpl(resource.getFullName()), resource); 68 loadProfile.addToLoadHistory(load); 69 break; 70 71 case UTILIZATION_CHANGED: 72 load = loadProfile.getLoadEstimationPlugin().estimateUtlization(enEvent, new JobRegistryImpl(resource.getFullName()), resource); 72 load = loadProfile.getLoadEstimationPlugin().estimateUtlization(resEvent, new JobRegistryImpl(resource.getFullName()), resource); 73 73 loadProfile.addToLoadHistory(load); 74 74 break;
Note: See TracChangeset
for help on using the changeset viewer.