- Timestamp:
- 10/31/12 13:52:06 (12 years ago)
- Location:
- DCWoRMS/trunk/build/classes/schedframe/resources/computing/profiles/energy/power
- Files:
-
- 4 added
- 14 edited
Legend:
- Unmodified
- Added
- Removed
-
DCWoRMS/trunk/build/classes/schedframe/resources/computing/profiles/energy/power/PowerProfile.java
r477 r539 19 19 protected Map<String, PState> supportedPStates; 20 20 21 protected Parameters parameters; 22 21 23 22 public PowerProfile(EnergyEstimationPlugin energyEstimationPlugin, List< schedframe.resources.computing.profiles.energy.power.PowerState> supportedPowerStates) {24 public PowerProfile(EnergyEstimationPlugin energyEstimationPlugin, List<PowerState> powerStates) { 23 25 this.energyEstimationPlugin = energyEstimationPlugin; 24 26 this.powerUsage = new ArrayList<PowerUsage>(); 25 this.supportedPowerStates = supportedPowerStates;27 this.supportedPowerStates = powerStates; 26 28 } 27 29 28 public PowerProfile(EnergyEstimationPlugin energyEstimationPlugin, List< schedframe.resources.computing.profiles.energy.power.PowerState> supportedPowerStates, List<schedframe.resources.computing.profiles.energy.power.PState> pStates) {30 public PowerProfile(EnergyEstimationPlugin energyEstimationPlugin, List<PowerState> powerStates, List<PState> pStates) { 29 31 this.energyEstimationPlugin = energyEstimationPlugin; 30 this.supportedPowerStates = supportedPowerStates;32 this.supportedPowerStates = powerStates; 31 33 this.powerUsage = new ArrayList<PowerUsage>(); 32 34 if(pStates.size() > 0) … … 98 100 } 99 101 100 public void init(Parameters parameters){ 101 102 public void init(Parameters params){ 103 this.parameters = params; 104 } 105 106 public Parameters getParameters() { 107 return parameters; 102 108 } 103 109 110 104 111 } -
DCWoRMS/trunk/build/classes/schedframe/resources/computing/profiles/energy/power/PowerUsage.java
r477 r539 1 1 package schedframe.resources.computing.profiles.energy.power; 2 2 3 public class PowerUsage { 3 import schedframe.resources.computing.profiles.energy.MeasurementHistory; 4 4 5 protected long timestamp; 6 protected double value; 5 public class PowerUsage extends MeasurementHistory{ 7 6 8 7 public PowerUsage(long timestamp, double value){ 9 this.timestamp = timestamp; 10 this.value = value; 11 } 12 13 public long getTimestamp() { 14 return timestamp; 15 } 16 17 public double getValue() { 18 return value; 19 } 20 21 public void setValue(double value) { 22 this.value = value; 8 super(timestamp, value); 23 9 } 24 10 -
DCWoRMS/trunk/build/classes/schedframe/resources/computing/profiles/energy/power/plugin/EnergyEstimationPlugin.java
r477 r539 10 10 public double estimatePowerConsumption(EnergyEvent event, JobRegistry jobRegistry, ComputingResource resource); 11 11 12 public double estimate EnergyDissipation(EnergyEvent event, JobRegistry jobRegistry, ComputingResource resource);12 public double estimateAirThroughput(EnergyEvent event, JobRegistry jobRegistry, ComputingResource resource); 13 13 14 14 public double estimateTemperature(EnergyEvent event, JobRegistry jobRegistry, ComputingResource resource); -
DCWoRMS/trunk/build/classes/schedframe/resources/computing/profiles/energy/power/ui/ComputingNodePowerInterface.java
r477 r539 10 10 import schedframe.resources.computing.profiles.energy.power.StandardPowerStateName; 11 11 12 public class ComputingNodePowerInterface extends AbstractPowerInterface{12 public class ComputingNodePowerInterface extends ComputingResourcePowerInterface{ 13 13 14 14 public static long START_TIME = 600000; … … 28 28 currentPowerState = state; 29 29 ComputingNode computingNode = (ComputingNode) resource; 30 boolean pePowerStateChangeStatus = false; 30 31 if(computingNode.getProcessors() != null) 31 32 { 32 33 for(ComputingResource child:computingNode.getProcessors()){ 33 child.getPowerInterface().setPowerState(state); 34 if(child.getPowerInterface() != null){ 35 pePowerStateChangeStatus = child.getPowerInterface().setPowerState(state); 36 } 34 37 } 35 } else { 38 } 39 40 if(!pePowerStateChangeStatus){ 36 41 computingNode.handleEvent(new EnergyEvent(EnergyEventType.POWER_STATE_CHANGED, computingNode.getName())); 37 42 } 38 43 39 44 if(state == StandardPowerStateName.OFF){ 40 45 computingNode.setStatus(ResourceStatus.UNAVAILABLE); … … 46 51 return true; 47 52 } 48 49 /*public double getPowerConsumption(PowerState state) {50 if(currentPowerState == PowerState.OFF)51 return 0;52 else if(currentPowerState == PowerState.ON)53 return 750;54 else return 500;55 }*/56 57 /*public boolean supportPowerState(PowerState state) {58 switch(state){59 case ON:60 return true;61 case OFF:62 return true;63 case SLEEP:64 return true;65 case HIBERNATE:66 return true;67 default:68 return false;69 }70 }71 72 public List<PowerState> getSupportedPowerStates() {73 return Arrays.asList(new PowerState[]{PowerState.ON, PowerState.OFF, PowerState.SLEEP, PowerState.HIBERNATE});74 }*/75 53 76 54 public void turnOn(){ -
DCWoRMS/trunk/build/classes/schedframe/resources/computing/profiles/energy/power/ui/DataCenterPowerInterface.java
r477 r539 7 7 import schedframe.resources.computing.profiles.energy.power.StandardPowerStateName; 8 8 9 public class DataCenterPowerInterface extends AbstractPowerInterface{9 public class DataCenterPowerInterface extends ComputingResourcePowerInterface{ 10 10 11 12 13 14 11 public DataCenterPowerInterface(ComputingResource resource, PowerProfile pp){ 15 12 super(resource, pp); -
DCWoRMS/trunk/build/classes/schedframe/resources/computing/profiles/energy/power/ui/PowerInterface.java
r477 r539 3 3 import java.util.List; 4 4 5 import schedframe.Parameters; 5 6 import schedframe.resources.computing.profiles.energy.power.PowerState; 6 7 import schedframe.resources.computing.profiles.energy.power.PowerStateName; … … 25 26 List<PowerUsage> getPowerUsageHistory(); 26 27 28 public Parameters getParameters(); 27 29 } -
DCWoRMS/trunk/build/classes/schedframe/resources/computing/profiles/energy/power/ui/ProcessorPowerInterface.java
r477 r539 1 1 package schedframe.resources.computing.profiles.energy.power.ui; 2 3 4 import gridsim.GridSimTags; 5 import gridsim.dcworms.DCWormsTags; 2 6 3 7 import java.util.Map; 4 8 5 import schedframe.events.ResourceEventCommand;6 9 import schedframe.resources.ResourceStatus; 7 10 import schedframe.resources.computing.ComputingResource; 8 import schedframe.resources.computing.Processor;9 11 import schedframe.resources.computing.profiles.energy.EnergyEvent; 10 12 import schedframe.resources.computing.profiles.energy.EnergyEventType; … … 16 18 import schedframe.resources.units.StandardResourceUnitName; 17 19 18 public class ProcessorPowerInterface extends AbstractPowerInterface {20 public class ProcessorPowerInterface extends ComputingResourcePowerInterface { 19 21 20 22 protected PState currentPState; … … 36 38 if(powerState != currentPowerState){ 37 39 currentPowerState = powerState; 38 //Processor cpu = (Processor) resource;39 40 if(powerState == StandardPowerStateName.OFF){ 40 41 resource.setStatus(ResourceStatus.UNAVAILABLE); … … 42 43 resource.setStatus(ResourceStatus.FREE); 43 44 } 44 resource.handleEvent(new EnergyEvent(EnergyEventType.POWER_STATE_CHANGED, resource.getName())); 45 //cpu.handleEvent(new EnergyEvent(EnergyEventType.POWER_STATE_CHANGED, cpu.getName())); 45 resource.handleEvent(new EnergyEvent(EnergyEventType.POWER_STATE_CHANGED, resource.getName())); 46 46 } 47 47 … … 79 79 80 80 if(newPState != currentPState){ 81 double factor = newPState.getFrequency()/currentPState.getFrequency();81 //double factor = newPState.getFrequency()/currentPState.getFrequency(); 82 82 currentPState = newPState; 83 CpuSpeed speed = (CpuSpeed)resource.getResourceCharacteristic().getResourceUnits().get(StandardResourceUnitName.CPUSPEED).get(0);84 speed.setAmount(Double.valueOf(currentPState.getFrequency()).intValue());83 //CpuSpeed speed = (CpuSpeed)resource.getResourceCharacteristic().getResourceUnits().get(StandardResourceUnitName.CPUSPEED).get(0); 84 //speed.setAmount(Double.valueOf(currentPState.getFrequency()).intValue()); 85 85 //new ResourceEventCommand(resource).execute(EnergyEventType.FREQUENCY_CHANGED); 86 86 resource.handleEvent(new EnergyEvent(EnergyEventType.FREQUENCY_CHANGED, resource.getName())); 87 //resource.getScheduler().sendInternal(GridSimTags.SCHEDULE_NOW, GssimTags.UPDATE, resource.getName());87 //resource.getScheduler().sendInternal(GridSimTags.SCHEDULE_NOW, DCWormsTags.UPDATE, resource.getName()); 88 88 return true; 89 89 }
Note: See TracChangeset
for help on using the changeset viewer.