Changeset 1415 for DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/power
- Timestamp:
- 07/15/14 16:26:31 (11 years ago)
- Location:
- DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/power
- Files:
-
- 1 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/power/StandardPowerStateName.java
r1396 r1415 8 8 SLEEP, 9 9 SUSPEND, 10 HIBERNATE; 10 HIBERNATE, 11 BOOT, 12 POWEROFF; 11 13 12 14 public String getLabel() { -
DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/power/plugin/EnergyEstimationPlugin.java
r1396 r1415 2 2 3 3 import schedframe.Plugin; 4 import schedframe.resources.computing.profiles.energy. EnergyEvent;4 import schedframe.resources.computing.profiles.energy.ResourceEvent; 5 5 import schedframe.resources.devices.PhysicalResource; 6 6 import schedframe.scheduling.manager.tasks.JobRegistry; … … 8 8 public interface EnergyEstimationPlugin extends Plugin { 9 9 10 public double estimatePowerConsumption( EnergyEvent event, JobRegistry jobRegistry, PhysicalResource resource);10 public double estimatePowerConsumption(ResourceEvent event, JobRegistry jobRegistry, PhysicalResource resource); 11 11 12 public double estimateAirflow( EnergyEvent event, JobRegistry jobRegistry, PhysicalResource resource);12 public double estimateAirflow(ResourceEvent event, JobRegistry jobRegistry, PhysicalResource resource); 13 13 14 public double estimateTemperature( EnergyEvent event, JobRegistry jobRegistry, PhysicalResource resource);14 public double estimateTemperature(ResourceEvent event, JobRegistry jobRegistry, PhysicalResource resource); 15 15 16 16 } -
DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/power/ui/ComputingResourcePowerInterface.java
r1396 r1415 9 9 import schedframe.resources.ResourceStatus; 10 10 import schedframe.resources.computing.ComputingResource; 11 import schedframe.resources.computing.profiles.energy. EnergyEvent;12 import schedframe.resources.computing.profiles.energy. EnergyEventType;11 import schedframe.resources.computing.profiles.energy.ResourceEvent; 12 import schedframe.resources.computing.profiles.energy.ResourceEventType; 13 13 import schedframe.resources.computing.profiles.energy.power.PowerProfile; 14 14 import schedframe.resources.computing.profiles.energy.power.PowerState; … … 49 49 } 50 50 //notifications from all levels 51 resource.handleEvent(new EnergyEvent(EnergyEventType.POWER_STATE_CHANGED, resource.getFullName()));51 resource.handleEvent(new ResourceEvent(ResourceEventType.POWER_STATE_CHANGED, resource.getFullName())); 52 52 53 53 //notification from last level -
DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/power/ui/NodePowerInterface.java
r1384 r1415 3 3 4 4 5 import java.util.List; 6 5 7 import schedframe.resources.ResourceStatus; 6 8 import schedframe.resources.computing.ComputingResource; 7 9 import schedframe.resources.computing.Node; 8 import schedframe.resources.computing.profiles.energy. EnergyEvent;9 import schedframe.resources.computing.profiles.energy. EnergyEventType;10 import schedframe.resources.computing.profiles.energy.ResourceEvent; 11 import schedframe.resources.computing.profiles.energy.ResourceEventType; 10 12 import schedframe.resources.computing.profiles.energy.power.PowerProfile; 13 import schedframe.resources.computing.profiles.energy.power.PowerState; 11 14 import schedframe.resources.computing.profiles.energy.power.PowerStateName; 12 15 import schedframe.resources.computing.profiles.energy.power.StandardPowerStateName; 16 import schedframe.resources.computing.profiles.energy.power.Transition; 17 import simulator.DataCenterWorkloadSimulator; 13 18 14 19 public class NodePowerInterface extends ComputingResourcePowerInterface{ … … 26 31 27 32 Node node = (Node) resource; 28 for(ComputingResource child: node.getProcessors()){33 for(ComputingResource child: node.getProcessors()){ 29 34 if(child.getPowerInterface() != null){ 30 35 child.getPowerInterface().setPowerState(state); … … 39 44 } 40 45 41 node.handleEvent(new EnergyEvent(EnergyEventType.POWER_STATE_CHANGED, node.getFullName()));46 node.handleEvent(new ResourceEvent(ResourceEventType.POWER_STATE_CHANGED, node.getFullName())); 42 47 43 48 //node.handleEvent(new EnergyEvent(EnergyEventType.POWER_STATE_CHANGED, computingNode.getName())); … … 48 53 49 54 public void turnOn(){ 55 /*double timePenalty = getTransitionTime(currentPowerState, StandardPowerStateName.ON); 56 setPowerState(StandardPowerStateName.BOOT); 57 DataCenterWorkloadSimulator.getEventManager().sendToResource(resource.getFullName(), timePenalty, new ResourceEvent(ResourceEventType.UPDATE_POWER_STATE, StandardPowerStateName.ON, resource.getFullName()));*/ 50 58 setPowerState(StandardPowerStateName.ON); 51 59 } 52 60 53 61 public void turnOff(){ 62 /*double timePenalty = getTransitionTime(currentPowerState, StandardPowerStateName.OFF); 63 setPowerState(StandardPowerStateName.POWEROFF); 64 DataCenterWorkloadSimulator.getEventManager().sendToResource(resource.getFullName(), timePenalty, new ResourceEvent(ResourceEventType.UPDATE_POWER_STATE, StandardPowerStateName.OFF, resource.getFullName()));*/ 54 65 setPowerState(StandardPowerStateName.OFF); 55 66 } 56 67 68 private double getTransitionTime(PowerStateName from, PowerStateName to){ 69 List<PowerState> availablePowerStates = getSupportedPowerStates(); 70 double timePenalty = 0; 71 for(PowerState ps : availablePowerStates){ 72 if(ps.getName().getLabel().equals(from.getLabel())){ 73 List<Transition> transitions = ps.getTransitions(); 74 for(Transition t: transitions){ 75 if(t.getTo().getLabel().equals(to)){ 76 timePenalty = t.getTime(); 77 } 78 } 79 } 80 } 81 return timePenalty; 82 } 57 83 58 84 -
DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/power/ui/ProcessorPowerInterface.java
r1299 r1415 6 6 import schedframe.resources.ResourceStatus; 7 7 import schedframe.resources.computing.ComputingResource; 8 import schedframe.resources.computing.profiles.energy. EnergyEvent;9 import schedframe.resources.computing.profiles.energy. EnergyEventType;8 import schedframe.resources.computing.profiles.energy.ResourceEvent; 9 import schedframe.resources.computing.profiles.energy.ResourceEventType; 10 10 import schedframe.resources.computing.profiles.energy.power.PState; 11 11 import schedframe.resources.computing.profiles.energy.power.PowerProfile; … … 33 33 resource.setStatus(ResourceStatus.FREE); 34 34 } 35 resource.handleEvent(new EnergyEvent(EnergyEventType.POWER_STATE_CHANGED, resource.getFullName()));35 resource.handleEvent(new ResourceEvent(ResourceEventType.POWER_STATE_CHANGED, resource.getFullName())); 36 36 } 37 37 … … 67 67 //speed.setAmount(Double.valueOf(currentPState.getFrequency()).intValue()); 68 68 //new ResourceEventCommand(resource).execute(EnergyEventType.FREQUENCY_CHANGED); 69 resource.handleEvent(new EnergyEvent(EnergyEventType.FREQUENCY_CHANGED, resource.getFullName()));69 resource.handleEvent(new ResourceEvent(ResourceEventType.CPU_FREQUENCY_CHANGED, resource.getFullName())); 70 70 //resource.getScheduler().sendInternal(GridSimTags.SCHEDULE_NOW, DCWormsTags.UPDATE, resource.getName()); 71 71
Note: See TracChangeset
for help on using the changeset viewer.