Ignore:
Timestamp:
07/30/14 12:25:00 (11 years ago)
Author:
wojtekp
Message:
 
Location:
DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/EnergyExtension.java

    r1415 r1423  
    111111                if(powerProfile == null || powerProfile.getEnergyEstimationPlugin() == null) 
    112112                        return false; 
    113                 if(event.getType().getName().equals(ResourceEventType.POWER_STATE_CHANGED.getName())) 
     113                if(event.getType().getName().equals(ResourceEventType.UTILIZATION_CHANGED.getName())) 
     114                        return true; 
     115                else if(event.getType().getName().equals(ResourceEventType.TASK_STARTED.getName())) 
     116                        return true; 
     117                else if(event.getType().getName().equals(ResourceEventType.TASK_FINISHED.getName())) 
     118                        return true; 
     119                else if(event.getType().getName().equals(ResourceEventType.POWER_STATE_CHANGED.getName())) 
    114120                        return true; 
    115121                else if(event.getType().getName().equals(ResourceEventType.CPU_FREQUENCY_CHANGED.getName())) 
    116122                        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())) 
     123                else if(event.getType().getName().equals(ResourceEventType.UPDATE_POWER_STATE.getName())) 
    122124                        return true; 
    123125         
     
    138140                        switch (resEvent.getType()) { 
    139141                         
    140                         case UPDATE_POWER_STATE: 
    141                                 PowerStateName newPowerState = (PowerStateName) resEvent.getData(); 
    142                                 powerInterface.setPowerState(newPowerState); 
    143                                 break; 
    144                                  
     142                        case UTILIZATION_CHANGED: 
     143                                power = powerProfile.getEnergyEstimationPlugin().estimatePowerConsumption(resEvent, new JobRegistryImpl(resource.getFullName()), resource); 
     144                                status = powerProfile.addToPowerUsageHistory(power); 
     145                                break; 
     146                                 
     147                        case TASK_STARTED: 
     148                                power = powerProfile.getEnergyEstimationPlugin().estimatePowerConsumption(resEvent, new JobRegistryImpl(resource.getFullName()), resource); 
     149                                status = powerProfile.addToPowerUsageHistory(power); 
     150                                break; 
     151         
     152                        case TASK_FINISHED: 
     153                                power = powerProfile.getEnergyEstimationPlugin().estimatePowerConsumption(resEvent, new JobRegistryImpl(resource.getFullName()), resource); 
     154                                status = powerProfile.addToPowerUsageHistory(power); 
     155                                break; 
     156                                                                 
    145157                        case POWER_STATE_CHANGED: 
    146158                                power = powerProfile.getEnergyEstimationPlugin().estimatePowerConsumption(resEvent, new JobRegistryImpl(resource.getFullName()), resource);                      
     
    153165                                break; 
    154166                                 
    155                         case TASK_STARTED: 
    156                                 power = powerProfile.getEnergyEstimationPlugin().estimatePowerConsumption(resEvent, new JobRegistryImpl(resource.getFullName()), resource); 
    157                                 status = powerProfile.addToPowerUsageHistory(power); 
    158                                 break; 
    159          
    160                         case TASK_FINISHED: 
    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); 
    167                                 status = powerProfile.addToPowerUsageHistory(power); 
     167                        case UPDATE_POWER_STATE: 
     168                                if(resource.getFullName().equals(resEvent.getSource())){ 
     169                                        PowerStateName newPowerState = (PowerStateName) resEvent.getData(); 
     170                                        powerInterface.setPowerState(newPowerState); 
     171                                } 
    168172                                break; 
    169173                                 
  • DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/airthroughput/ui/AirflowInterface.java

    r1396 r1423  
    2424        public AirflowValue getRecentAirflow(); 
    2525         
    26         List<AirflowValue> getAirflowHistory(); 
     26        public List<AirflowValue> getAirflowHistory(); 
    2727         
    2828        public Parameters getParameters(); 
  • DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/airthroughput/ui/ComputingResourceAirflowInterface.java

    r1415 r1423  
    11package schedframe.resources.computing.profiles.energy.airthroughput.ui; 
    22 
    3 import java.util.ArrayList; 
    43import java.util.List; 
    54 
     
    5453 
    5554        public List<AirflowState> getSupportedAirflowStates() { 
    56                 List<AirflowState> airflowStates = new ArrayList<AirflowState>(); 
    57                 for(AirflowState airflowState: airflowProfile.getAirflowStates()){ 
    58                         airflowStates.add(airflowState); 
    59                 } 
    60                 return airflowStates; 
     55                return airflowProfile.getAirflowStates(); 
    6156        } 
    6257 
  • DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/power/PowerProfile.java

    r1207 r1423  
    6464        public List<PowerState> getSupportedPowerStates() { 
    6565                if(supportedPowerStates == null) 
    66                         return new ArrayList<PowerState>(); 
     66                        return new ArrayList<PowerState>(0); 
    6767                return supportedPowerStates; 
    6868        } 
     
    7070        public Map<String, PState> getSupportedPStates() { 
    7171                if(supportedPStates == null) 
    72                         return new HashMap<String, PState>(); 
     72                        return new HashMap<String, PState>(0); 
    7373                return supportedPStates; 
    7474        } 
     
    117117                boolean supportsOFF = false; 
    118118                if(supportedPowerStates == null){ 
    119                         supportedPowerStates = new ArrayList<PowerState>(); 
     119                        supportedPowerStates = new ArrayList<PowerState>(4); 
    120120                } 
    121121                for(PowerState ps: supportedPowerStates){ 
     
    128128                 
    129129                if(!supportsON){ 
    130                         supportedPowerStates.add(new PowerState(StandardPowerStateName.ON, -1, new ArrayList<Transition>())); 
     130                        supportedPowerStates.add(new PowerState(StandardPowerStateName.ON, -1, null)); 
     131                        supportedPowerStates.add(new PowerState(StandardPowerStateName.BOOT, -1, null)); 
    131132                } 
    132133                if(!supportsOFF){ 
    133                         supportedPowerStates.add(new PowerState(StandardPowerStateName.OFF, -1, new ArrayList<Transition>())); 
     134                        supportedPowerStates.add(new PowerState(StandardPowerStateName.OFF, -1, null)); 
     135                        supportedPowerStates.add(new PowerState(StandardPowerStateName.POWEROFF, -1, null)); 
    134136                } 
    135137        } 
  • DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/power/PowerState.java

    r477 r1423  
    11package schedframe.resources.computing.profiles.energy.power; 
    22 
     3import java.util.ArrayList; 
    34import java.util.List; 
    45 
     
    2425        } 
    2526        public List<Transition> getTransitions() { 
     27                if(transitions == null) 
     28                        return new ArrayList<Transition>(0); 
    2629                return transitions; 
    2730        } 
  • DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/power/ui/ComputingResourcePowerInterface.java

    r1415 r1423  
    11package schedframe.resources.computing.profiles.energy.power.ui; 
    22 
    3 import java.util.ArrayList; 
    43import java.util.List; 
    54 
     
    6564 
    6665        public List<PowerState> getSupportedPowerStates(){ 
    67                 List<PowerState> powerStates = new ArrayList<PowerState>(); 
    68                 for(PowerState powerState: powerProfile.getSupportedPowerStates()){ 
    69                         powerStates.add(powerState); 
    70                 } 
    71                 return powerStates; 
     66                return powerProfile.getSupportedPowerStates(); 
    7267        } 
    7368 
  • DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/power/ui/NodePowerInterface.java

    r1415 r1423  
    44 
    55import java.util.List; 
     6 
    67 
    78import schedframe.resources.ResourceStatus; 
     
    3738                        } 
    3839 
    39                         if(state == StandardPowerStateName.OFF){ 
     40                        if(state == StandardPowerStateName.OFF || state == StandardPowerStateName.POWEROFF){ 
    4041                                node.setStatus(ResourceStatus.UNAVAILABLE); 
    4142                        } 
    42                         else if(state == StandardPowerStateName.ON){ 
     43                        else if(state == StandardPowerStateName.ON || state == StandardPowerStateName.BOOT){ 
    4344                                node.setStatus(ResourceStatus.FREE); 
    4445                        } 
     
    5556                /*double timePenalty = getTransitionTime(currentPowerState, StandardPowerStateName.ON); 
    5657                setPowerState(StandardPowerStateName.BOOT); 
    57                 DataCenterWorkloadSimulator.getEventManager().sendToResource(resource.getFullName(), timePenalty, new ResourceEvent(ResourceEventType.UPDATE_POWER_STATE, StandardPowerStateName.ON, resource.getFullName()));*/ 
     58                DataCenterWorkloadSimulator.getEventManager().sendToResource(resource.getFullName(), timePenalty, new ResourceEvent(ResourceEventType.UPDATE_POWER_STATE, StandardPowerStateName.ON, resource.getFullName())); 
     59                 */              
    5860                setPowerState(StandardPowerStateName.ON); 
    5961        } 
     
    6870        private double getTransitionTime(PowerStateName from, PowerStateName to){ 
    6971                List<PowerState> availablePowerStates = getSupportedPowerStates(); 
    70                 double timePenalty = 0; 
     72                double time = 0; 
    7173                for(PowerState ps : availablePowerStates){ 
    7274                        if(ps.getName().getLabel().equals(from.getLabel())){ 
     
    7476                                for(Transition t: transitions){ 
    7577                                        if(t.getTo().getLabel().equals(to)){ 
    76                                                 timePenalty = t.getTime(); 
     78                                                time = t.getTime(); 
    7779                                        } 
    7880                                } 
    7981                        } 
    8082                } 
    81                 return timePenalty; 
     83                return time; 
    8284        } 
    8385 
  • DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/power/ui/PowerInterface.java

    r1380 r1423  
    2424        //public double getCurrentPowerConsumption(); 
    2525         
    26         List<PowerUsage> getPowerUsageHistory(); 
     26        public List<PowerUsage> getPowerUsageHistory(); 
    2727         
    2828        public Parameters getParameters(); 
  • DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/thermal/ui/ThermalInterface.java

    r804 r1423  
    1010        public TemperatureValue getRecentTemperature(); 
    1111         
    12         List<TemperatureValue> getTemperatureHistory(); 
     12        public List<TemperatureValue> getTemperatureHistory(); 
    1313         
    1414        public Parameters getParameters(); 
  • DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/load/LoadEstimationPluginFactory.java

    r1293 r1423  
    11package schedframe.resources.computing.profiles.load; 
    22 
     3import example.load.AppBasedProcessorLoadEstimationPlugin; 
    34import example.load.DefaultLoadEstimationPlugin; 
    45import example.load.ProcessorLoadEstimationPlugin; 
     
    1415                 
    1516                if(resType.getName().equals(StandardResourceType.Processor.getName())) 
    16                         loadEstimationPlugin = new ProcessorLoadEstimationPlugin(); 
     17                        loadEstimationPlugin = new AppBasedProcessorLoadEstimationPlugin(); 
    1718                else 
    1819                        loadEstimationPlugin = new DefaultLoadEstimationPlugin(); 
  • DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/load/LoadExtension.java

    r1415 r1423  
    1919        protected PhysicalResource resource; 
    2020 
    21         public LoadExtension(LoadProfile loadProfile,  PhysicalResource resource) { 
     21        public LoadExtension(LoadProfile loadProfile, PhysicalResource resource) { 
    2222                this.loadProfile = loadProfile; 
    2323                this.loadInterface =  LoadInterfaceFactory.createLoadInterface(resource, loadProfile); 
     
    2929                if(loadProfile == null || loadProfile.getLoadEstimationPlugin() == null) 
    3030                        return false; 
    31                 if(event.getType().getName().equals(ResourceEventType.POWER_STATE_CHANGED.getName())) 
    32                         return true; 
    33                 else if(event.getType().getName().equals(ResourceEventType.CPU_FREQUENCY_CHANGED.getName())) 
     31                if(event.getType().getName().equals(ResourceEventType.UTILIZATION_CHANGED.getName())) 
    3432                        return true; 
    3533                else if(event.getType().getName().equals(ResourceEventType.TASK_STARTED.getName())) 
     
    3735                else if(event.getType().getName().equals(ResourceEventType.TASK_FINISHED.getName())) 
    3836                        return true; 
    39                 else if(event.getType().getName().equals(ResourceEventType.UTILIZATION_CHANGED.getName())) 
    40                         return true;             
     37                else if(event.getType().getName().equals(ResourceEventType.POWER_STATE_CHANGED.getName())) 
     38                        return true; 
     39                else if(event.getType().getName().equals(ResourceEventType.CPU_FREQUENCY_CHANGED.getName())) 
     40                        return true; 
    4141                else return false; 
    4242        } 
     
    4444        public void handleEvent(Event event) { 
    4545                 
    46                 ResourceEvent enEvent = (ResourceEvent)event; 
     46                ResourceEvent resEvent = (ResourceEvent)event; 
    4747                double load = 0; 
    4848                try{ 
    49                         switch (enEvent.getType()) { 
     49                        switch (resEvent.getType()) { 
    5050                         
     51                        case UTILIZATION_CHANGED: 
     52                                load = loadProfile.getLoadEstimationPlugin().estimateUtlization(resEvent, new JobRegistryImpl(resource.getFullName()), resource); 
     53                                loadProfile.addToLoadHistory(load); 
     54                                break; 
     55                                 
     56                        case TASK_STARTED: 
     57                                load = loadProfile.getLoadEstimationPlugin().estimateUtlization(resEvent, new JobRegistryImpl(resource.getFullName()), resource); 
     58                                loadProfile.addToLoadHistory(load); 
     59                                break; 
     60         
     61                        case TASK_FINISHED: 
     62                                load = loadProfile.getLoadEstimationPlugin().estimateUtlization(resEvent, new JobRegistryImpl(resource.getFullName()), resource); 
     63                                loadProfile.addToLoadHistory(load); 
     64                                break; 
     65                                 
    5166                        case POWER_STATE_CHANGED: 
    52                                 load = loadProfile.getLoadEstimationPlugin().estimateUtlization(enEvent, new JobRegistryImpl(resource.getFullName()), resource); 
     67                                load = loadProfile.getLoadEstimationPlugin().estimateUtlization(resEvent, new JobRegistryImpl(resource.getFullName()), resource); 
    5368                                loadProfile.addToLoadHistory(load); 
    5469                                break; 
    5570                                 
    5671                        case CPU_FREQUENCY_CHANGED: 
    57                                 load = loadProfile.getLoadEstimationPlugin().estimateUtlization(enEvent, new JobRegistryImpl(resource.getFullName()), resource); 
    58                                 loadProfile.addToLoadHistory(load); 
    59                                 break; 
    60                                  
    61                         case TASK_STARTED: 
    62                                 load = loadProfile.getLoadEstimationPlugin().estimateUtlization(enEvent, new JobRegistryImpl(resource.getFullName()), resource); 
    63                                 loadProfile.addToLoadHistory(load); 
    64                                 break; 
    65          
    66                         case TASK_FINISHED: 
    67                                 load = loadProfile.getLoadEstimationPlugin().estimateUtlization(enEvent, new JobRegistryImpl(resource.getFullName()), resource); 
    68                                 loadProfile.addToLoadHistory(load); 
    69                                 break; 
    70                                  
    71                         case UTILIZATION_CHANGED: 
    72                                 load = loadProfile.getLoadEstimationPlugin().estimateUtlization(enEvent, new JobRegistryImpl(resource.getFullName()), resource); 
     72                                load = loadProfile.getLoadEstimationPlugin().estimateUtlization(resEvent, new JobRegistryImpl(resource.getFullName()), resource); 
    7373                                loadProfile.addToLoadHistory(load); 
    7474                                break; 
Note: See TracChangeset for help on using the changeset viewer.