Ignore:
Timestamp:
10/31/12 13:52:06 (12 years ago)
Author:
wojtekp
Message:
 
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  
    1919        protected Map<String, PState> supportedPStates; 
    2020         
     21        protected Parameters parameters; 
     22         
    2123 
    22         public PowerProfile(EnergyEstimationPlugin energyEstimationPlugin, List<schedframe.resources.computing.profiles.energy.power.PowerState> supportedPowerStates) { 
     24        public PowerProfile(EnergyEstimationPlugin energyEstimationPlugin, List<PowerState> powerStates) { 
    2325                this.energyEstimationPlugin = energyEstimationPlugin; 
    2426                this.powerUsage = new ArrayList<PowerUsage>(); 
    25                 this.supportedPowerStates = supportedPowerStates; 
     27                this.supportedPowerStates = powerStates; 
    2628        } 
    2729         
    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) { 
    2931                this.energyEstimationPlugin = energyEstimationPlugin; 
    30                 this.supportedPowerStates = supportedPowerStates; 
     32                this.supportedPowerStates = powerStates; 
    3133                this.powerUsage = new ArrayList<PowerUsage>(); 
    3234                if(pStates.size() > 0) 
     
    98100        } 
    99101 
    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; 
    102108        } 
    103109 
     110 
    104111} 
  • DCWoRMS/trunk/build/classes/schedframe/resources/computing/profiles/energy/power/PowerUsage.java

    r477 r539  
    11package schedframe.resources.computing.profiles.energy.power; 
    22 
    3 public class PowerUsage { 
     3import schedframe.resources.computing.profiles.energy.MeasurementHistory; 
    44 
    5         protected long timestamp; 
    6         protected double value; 
     5public class PowerUsage extends MeasurementHistory{ 
    76 
    87        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); 
    239        } 
    2410         
  • DCWoRMS/trunk/build/classes/schedframe/resources/computing/profiles/energy/power/plugin/EnergyEstimationPlugin.java

    r477 r539  
    1010        public double estimatePowerConsumption(EnergyEvent event, JobRegistry jobRegistry, ComputingResource resource); 
    1111 
    12         public double estimateEnergyDissipation(EnergyEvent event, JobRegistry jobRegistry, ComputingResource resource); 
     12        public double estimateAirThroughput(EnergyEvent event, JobRegistry jobRegistry, ComputingResource resource); 
    1313 
    1414        public double estimateTemperature(EnergyEvent event, JobRegistry jobRegistry, ComputingResource resource); 
  • DCWoRMS/trunk/build/classes/schedframe/resources/computing/profiles/energy/power/ui/ComputingNodePowerInterface.java

    r477 r539  
    1010import schedframe.resources.computing.profiles.energy.power.StandardPowerStateName; 
    1111 
    12 public class ComputingNodePowerInterface extends AbstractPowerInterface{ 
     12public class ComputingNodePowerInterface extends ComputingResourcePowerInterface{ 
    1313 
    1414        public static long START_TIME = 600000; 
     
    2828                currentPowerState = state; 
    2929                ComputingNode computingNode = (ComputingNode) resource; 
     30                boolean pePowerStateChangeStatus = false; 
    3031                if(computingNode.getProcessors() != null) 
    3132                { 
    3233                        for(ComputingResource child:computingNode.getProcessors()){ 
    33                                 child.getPowerInterface().setPowerState(state); 
     34                                if(child.getPowerInterface() != null){ 
     35                                        pePowerStateChangeStatus = child.getPowerInterface().setPowerState(state);       
     36                                } 
    3437                        } 
    35                 } else { 
     38                }  
     39                 
     40                if(!pePowerStateChangeStatus){ 
    3641                        computingNode.handleEvent(new EnergyEvent(EnergyEventType.POWER_STATE_CHANGED, computingNode.getName())); 
    3742                } 
    38                  
     43 
    3944                if(state == StandardPowerStateName.OFF){ 
    4045                        computingNode.setStatus(ResourceStatus.UNAVAILABLE); 
     
    4651                return true; 
    4752        } 
    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         }*/ 
    7553 
    7654        public void turnOn(){ 
  • DCWoRMS/trunk/build/classes/schedframe/resources/computing/profiles/energy/power/ui/DataCenterPowerInterface.java

    r477 r539  
    77import schedframe.resources.computing.profiles.energy.power.StandardPowerStateName; 
    88 
    9 public class DataCenterPowerInterface extends AbstractPowerInterface{ 
     9public class DataCenterPowerInterface extends ComputingResourcePowerInterface{ 
    1010 
    11  
    12  
    13          
    1411        public DataCenterPowerInterface(ComputingResource resource, PowerProfile pp){ 
    1512                super(resource, pp); 
  • DCWoRMS/trunk/build/classes/schedframe/resources/computing/profiles/energy/power/ui/PowerInterface.java

    r477 r539  
    33import java.util.List; 
    44 
     5import schedframe.Parameters; 
    56import schedframe.resources.computing.profiles.energy.power.PowerState; 
    67import schedframe.resources.computing.profiles.energy.power.PowerStateName; 
     
    2526        List<PowerUsage> getPowerUsageHistory(); 
    2627         
     28        public Parameters getParameters(); 
    2729} 
  • DCWoRMS/trunk/build/classes/schedframe/resources/computing/profiles/energy/power/ui/ProcessorPowerInterface.java

    r477 r539  
    11package schedframe.resources.computing.profiles.energy.power.ui; 
     2 
     3 
     4import gridsim.GridSimTags; 
     5import gridsim.dcworms.DCWormsTags; 
    26 
    37import java.util.Map; 
    48 
    5 import schedframe.events.ResourceEventCommand; 
    69import schedframe.resources.ResourceStatus; 
    710import schedframe.resources.computing.ComputingResource; 
    8 import schedframe.resources.computing.Processor; 
    911import schedframe.resources.computing.profiles.energy.EnergyEvent; 
    1012import schedframe.resources.computing.profiles.energy.EnergyEventType; 
     
    1618import schedframe.resources.units.StandardResourceUnitName; 
    1719 
    18 public class ProcessorPowerInterface extends AbstractPowerInterface { 
     20public class ProcessorPowerInterface extends ComputingResourcePowerInterface { 
    1921 
    2022        protected PState currentPState; 
     
    3638                if(powerState != currentPowerState){ 
    3739                        currentPowerState = powerState; 
    38                         //Processor cpu = (Processor) resource; 
    3940                        if(powerState == StandardPowerStateName.OFF){ 
    4041                                resource.setStatus(ResourceStatus.UNAVAILABLE); 
     
    4243                                resource.setStatus(ResourceStatus.FREE); 
    4344                        } 
    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()));          
    4646                } 
    4747 
     
    7979 
    8080                if(newPState != currentPState){ 
    81                         double factor = newPState.getFrequency()/currentPState.getFrequency(); 
     81                        //double factor = newPState.getFrequency()/currentPState.getFrequency(); 
    8282                        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()); 
    8585                        //new ResourceEventCommand(resource).execute(EnergyEventType.FREQUENCY_CHANGED); 
    8686                        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()); 
    8888                        return true; 
    8989                } 
Note: See TracChangeset for help on using the changeset viewer.