Ignore:
Timestamp:
07/15/14 16:26:31 (11 years ago)
Author:
wojtekp
Message:
 
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  
    88        SLEEP, 
    99        SUSPEND, 
    10         HIBERNATE; 
     10        HIBERNATE, 
     11        BOOT, 
     12        POWEROFF; 
    1113 
    1214        public String getLabel() { 
  • DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/power/plugin/EnergyEstimationPlugin.java

    r1396 r1415  
    22 
    33import schedframe.Plugin; 
    4 import schedframe.resources.computing.profiles.energy.EnergyEvent; 
     4import schedframe.resources.computing.profiles.energy.ResourceEvent; 
    55import schedframe.resources.devices.PhysicalResource; 
    66import schedframe.scheduling.manager.tasks.JobRegistry; 
     
    88public interface EnergyEstimationPlugin extends Plugin { 
    99         
    10         public double estimatePowerConsumption(EnergyEvent event, JobRegistry jobRegistry, PhysicalResource resource); 
     10        public double estimatePowerConsumption(ResourceEvent event, JobRegistry jobRegistry, PhysicalResource resource); 
    1111 
    12         public double estimateAirflow(EnergyEvent event, JobRegistry jobRegistry, PhysicalResource resource); 
     12        public double estimateAirflow(ResourceEvent event, JobRegistry jobRegistry, PhysicalResource resource); 
    1313 
    14         public double estimateTemperature(EnergyEvent event, JobRegistry jobRegistry, PhysicalResource resource); 
     14        public double estimateTemperature(ResourceEvent event, JobRegistry jobRegistry, PhysicalResource resource); 
    1515 
    1616} 
  • DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/power/ui/ComputingResourcePowerInterface.java

    r1396 r1415  
    99import schedframe.resources.ResourceStatus; 
    1010import schedframe.resources.computing.ComputingResource; 
    11 import schedframe.resources.computing.profiles.energy.EnergyEvent; 
    12 import schedframe.resources.computing.profiles.energy.EnergyEventType; 
     11import schedframe.resources.computing.profiles.energy.ResourceEvent; 
     12import schedframe.resources.computing.profiles.energy.ResourceEventType; 
    1313import schedframe.resources.computing.profiles.energy.power.PowerProfile; 
    1414import schedframe.resources.computing.profiles.energy.power.PowerState; 
     
    4949                        } 
    5050                        //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())); 
    5252 
    5353                        //notification from last level 
  • DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/power/ui/NodePowerInterface.java

    r1384 r1415  
    33 
    44 
     5import java.util.List; 
     6 
    57import schedframe.resources.ResourceStatus; 
    68import schedframe.resources.computing.ComputingResource; 
    79import schedframe.resources.computing.Node; 
    8 import schedframe.resources.computing.profiles.energy.EnergyEvent; 
    9 import schedframe.resources.computing.profiles.energy.EnergyEventType; 
     10import schedframe.resources.computing.profiles.energy.ResourceEvent; 
     11import schedframe.resources.computing.profiles.energy.ResourceEventType; 
    1012import schedframe.resources.computing.profiles.energy.power.PowerProfile; 
     13import schedframe.resources.computing.profiles.energy.power.PowerState; 
    1114import schedframe.resources.computing.profiles.energy.power.PowerStateName; 
    1215import schedframe.resources.computing.profiles.energy.power.StandardPowerStateName; 
     16import schedframe.resources.computing.profiles.energy.power.Transition; 
     17import simulator.DataCenterWorkloadSimulator; 
    1318 
    1419public class NodePowerInterface extends ComputingResourcePowerInterface{ 
     
    2631                         
    2732                        Node node = (Node) resource; 
    28                         for(ComputingResource child:node.getProcessors()){ 
     33                        for(ComputingResource child: node.getProcessors()){ 
    2934                                if(child.getPowerInterface() != null){ 
    3035                                        child.getPowerInterface().setPowerState(state);  
     
    3944                        } 
    4045         
    41                         node.handleEvent(new EnergyEvent(EnergyEventType.POWER_STATE_CHANGED, node.getFullName())); 
     46                        node.handleEvent(new ResourceEvent(ResourceEventType.POWER_STATE_CHANGED, node.getFullName())); 
    4247 
    4348                        //node.handleEvent(new EnergyEvent(EnergyEventType.POWER_STATE_CHANGED, computingNode.getName())); 
     
    4853 
    4954        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()));*/ 
    5058                setPowerState(StandardPowerStateName.ON); 
    5159        } 
    5260         
    5361        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()));*/ 
    5465                setPowerState(StandardPowerStateName.OFF); 
    5566        } 
    5667 
     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        } 
    5783 
    5884 
  • DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/power/ui/ProcessorPowerInterface.java

    r1299 r1415  
    66import schedframe.resources.ResourceStatus; 
    77import schedframe.resources.computing.ComputingResource; 
    8 import schedframe.resources.computing.profiles.energy.EnergyEvent; 
    9 import schedframe.resources.computing.profiles.energy.EnergyEventType; 
     8import schedframe.resources.computing.profiles.energy.ResourceEvent; 
     9import schedframe.resources.computing.profiles.energy.ResourceEventType; 
    1010import schedframe.resources.computing.profiles.energy.power.PState; 
    1111import schedframe.resources.computing.profiles.energy.power.PowerProfile; 
     
    3333                                resource.setStatus(ResourceStatus.FREE); 
    3434                        } 
    35                         resource.handleEvent(new EnergyEvent(EnergyEventType.POWER_STATE_CHANGED, resource.getFullName()));              
     35                        resource.handleEvent(new ResourceEvent(ResourceEventType.POWER_STATE_CHANGED, resource.getFullName()));          
    3636                } 
    3737 
     
    6767                        //speed.setAmount(Double.valueOf(currentPState.getFrequency()).intValue()); 
    6868                        //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())); 
    7070                        //resource.getScheduler().sendInternal(GridSimTags.SCHEDULE_NOW, DCWormsTags.UPDATE, resource.getName()); 
    7171                         
Note: See TracChangeset for help on using the changeset viewer.