Changeset 1415 for DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/EnergyExtension.java
- Timestamp:
- 07/15/14 16:26:31 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/EnergyExtension.java
r1396 r1415 15 15 import schedframe.resources.computing.profiles.energy.power.PowerInterfaceFactory; 16 16 import schedframe.resources.computing.profiles.energy.power.PowerProfile; 17 import schedframe.resources.computing.profiles.energy.power.PowerStateName; 17 18 import schedframe.resources.computing.profiles.energy.power.ui.PowerInterface; 18 19 import schedframe.resources.computing.profiles.energy.thermal.ThermalInterfaceFactory; … … 110 111 if(powerProfile == null || powerProfile.getEnergyEstimationPlugin() == null) 111 112 return false; 112 if(event.getType().getName().equals( EnergyEventType.POWER_STATE_CHANGED.getName()))113 return true; 114 else if(event.getType().getName().equals( EnergyEventType.FREQUENCY_CHANGED.getName()))115 return true; 116 else if(event.getType().getName().equals( EnergyEventType.TASK_STARTED.getName()))117 return true; 118 else if(event.getType().getName().equals( EnergyEventType.TASK_FINISHED.getName()))119 return true; 120 else if(event.getType().getName().equals( EnergyEventType.RESOURCE_UTILIZATION_CHANGED.getName()))121 return true; 122 123 if(event.getType().getName().equals( EnergyEventType.AIRFLOW_STATE_CHANGED.getName()))124 return true; 125 if(event.getType().getName().equals( EnergyEventType.TEMPERATURE_CHANGED.getName()))113 if(event.getType().getName().equals(ResourceEventType.POWER_STATE_CHANGED.getName())) 114 return true; 115 else if(event.getType().getName().equals(ResourceEventType.CPU_FREQUENCY_CHANGED.getName())) 116 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())) 122 return true; 123 124 if(event.getType().getName().equals(ResourceEventType.AIRFLOW_STATE_CHANGED.getName())) 125 return true; 126 if(event.getType().getName().equals(ResourceEventType.TEMPERATURE_CHANGED.getName())) 126 127 return true; 127 128 … … 131 132 public void handleEvent(Event event) { 132 133 133 EnergyEvent enEvent = (EnergyEvent)event;134 ResourceEvent resEvent = (ResourceEvent)event; 134 135 double power = 0; 135 136 boolean status = false; 136 137 try{ 137 switch ( enEvent.getType()) {138 switch (resEvent.getType()) { 138 139 140 case UPDATE_POWER_STATE: 141 PowerStateName newPowerState = (PowerStateName) resEvent.getData(); 142 powerInterface.setPowerState(newPowerState); 143 break; 144 139 145 case POWER_STATE_CHANGED: 140 power = powerProfile.getEnergyEstimationPlugin().estimatePowerConsumption( enEvent, new JobRegistryImpl(resource.getFullName()), resource);141 status = powerProfile.addToPowerUsageHistory(power); 142 break; 143 144 case FREQUENCY_CHANGED:145 power = powerProfile.getEnergyEstimationPlugin().estimatePowerConsumption( enEvent, new JobRegistryImpl(resource.getFullName()), resource);146 power = powerProfile.getEnergyEstimationPlugin().estimatePowerConsumption(resEvent, new JobRegistryImpl(resource.getFullName()), resource); 147 status = powerProfile.addToPowerUsageHistory(power); 148 break; 149 150 case CPU_FREQUENCY_CHANGED: 151 power = powerProfile.getEnergyEstimationPlugin().estimatePowerConsumption(resEvent, new JobRegistryImpl(resource.getFullName()), resource); 146 152 status = powerProfile.addToPowerUsageHistory(power); 147 153 break; 148 154 149 155 case TASK_STARTED: 150 power = powerProfile.getEnergyEstimationPlugin().estimatePowerConsumption( enEvent, new JobRegistryImpl(resource.getFullName()), resource);156 power = powerProfile.getEnergyEstimationPlugin().estimatePowerConsumption(resEvent, new JobRegistryImpl(resource.getFullName()), resource); 151 157 status = powerProfile.addToPowerUsageHistory(power); 152 158 break; 153 159 154 160 case TASK_FINISHED: 155 power = powerProfile.getEnergyEstimationPlugin().estimatePowerConsumption( enEvent, new JobRegistryImpl(resource.getFullName()), resource);156 status = powerProfile.addToPowerUsageHistory(power); 157 break; 158 159 case RESOURCE_UTILIZATION_CHANGED:160 power = powerProfile.getEnergyEstimationPlugin().estimatePowerConsumption( enEvent, new JobRegistryImpl(resource.getFullName()), resource);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); 161 167 status = powerProfile.addToPowerUsageHistory(power); 162 168 break; 163 169 164 170 case AIRFLOW_STATE_CHANGED: 165 double airflow = powerProfile.getEnergyEstimationPlugin().estimateAirflow( enEvent, new JobRegistryImpl(resource.getFullName()), resource);171 double airflow = powerProfile.getEnergyEstimationPlugin().estimateAirflow(resEvent, new JobRegistryImpl(resource.getFullName()), resource); 166 172 airflowProfile.addToAirFlowHistory(airflow); 167 173 break; 168 174 169 175 case TEMPERATURE_CHANGED: 170 double temperature = powerProfile.getEnergyEstimationPlugin().estimateTemperature( enEvent, new JobRegistryImpl(resource.getFullName()), resource);176 double temperature = powerProfile.getEnergyEstimationPlugin().estimateTemperature(resEvent, new JobRegistryImpl(resource.getFullName()), resource); 171 177 thermalProfile.addToTemperatureHistory(temperature); 172 178 break; … … 176 182 } 177 183 if(status){ 178 DataCenterWorkloadSimulator.getEventManager().sendToResources(resource.getType(), 0, new EnergyEvent(EnergyEventType.TEMPERATURE_CHANGED, resource.getFullName()));184 DataCenterWorkloadSimulator.getEventManager().sendToResources(resource.getType(), 0, new ResourceEvent(ResourceEventType.TEMPERATURE_CHANGED, resource.getFullName())); 179 185 } 180 186 }
Note: See TracChangeset
for help on using the changeset viewer.