Ignore:
Timestamp:
07/15/14 16:26:31 (11 years ago)
Author:
wojtekp
Message:
 
File:
1 edited

Legend:

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

    r1396 r1415  
    1515import schedframe.resources.computing.profiles.energy.power.PowerInterfaceFactory; 
    1616import schedframe.resources.computing.profiles.energy.power.PowerProfile; 
     17import schedframe.resources.computing.profiles.energy.power.PowerStateName; 
    1718import schedframe.resources.computing.profiles.energy.power.ui.PowerInterface; 
    1819import schedframe.resources.computing.profiles.energy.thermal.ThermalInterfaceFactory; 
     
    110111                if(powerProfile == null || powerProfile.getEnergyEstimationPlugin() == null) 
    111112                        return false; 
    112                 if(event.getType().getName().equals(EnergyEventType.POWER_STATE_CHANGED.getName())) 
    113                         return true; 
    114                 else if(event.getType().getName().equals(EnergyEventType.FREQUENCY_CHANGED.getName())) 
    115                         return true; 
    116                 else if(event.getType().getName().equals(EnergyEventType.TASK_STARTED.getName())) 
    117                         return true; 
    118                 else if(event.getType().getName().equals(EnergyEventType.TASK_FINISHED.getName())) 
    119                         return true; 
    120                 else if(event.getType().getName().equals(EnergyEventType.RESOURCE_UTILIZATION_CHANGED.getName())) 
    121                         return true; 
    122          
    123                 if(event.getType().getName().equals(EnergyEventType.AIRFLOW_STATE_CHANGED.getName())) 
    124                         return true; 
    125                 if(event.getType().getName().equals(EnergyEventType.TEMPERATURE_CHANGED.getName())) 
     113                if(event.getType().getName().equals(ResourceEventType.POWER_STATE_CHANGED.getName())) 
     114                        return true; 
     115                else if(event.getType().getName().equals(ResourceEventType.CPU_FREQUENCY_CHANGED.getName())) 
     116                        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())) 
     122                        return true; 
     123         
     124                if(event.getType().getName().equals(ResourceEventType.AIRFLOW_STATE_CHANGED.getName())) 
     125                        return true; 
     126                if(event.getType().getName().equals(ResourceEventType.TEMPERATURE_CHANGED.getName())) 
    126127                        return true; 
    127128                 
     
    131132        public void handleEvent(Event event) { 
    132133                 
    133                 EnergyEvent enEvent = (EnergyEvent)event; 
     134                ResourceEvent resEvent = (ResourceEvent)event; 
    134135                double power = 0; 
    135136                boolean status = false; 
    136137                try{ 
    137                         switch (enEvent.getType()) { 
     138                        switch (resEvent.getType()) { 
    138139                         
     140                        case UPDATE_POWER_STATE: 
     141                                PowerStateName newPowerState = (PowerStateName) resEvent.getData(); 
     142                                powerInterface.setPowerState(newPowerState); 
     143                                break; 
     144                                 
    139145                        case POWER_STATE_CHANGED: 
    140                                 power = powerProfile.getEnergyEstimationPlugin().estimatePowerConsumption(enEvent, new JobRegistryImpl(resource.getFullName()), resource);                       
    141                                 status = powerProfile.addToPowerUsageHistory(power); 
    142                                 break; 
    143                                  
    144                         case FREQUENCY_CHANGED: 
    145                                 power = powerProfile.getEnergyEstimationPlugin().estimatePowerConsumption(enEvent, new JobRegistryImpl(resource.getFullName()), resource); 
     146                                power = powerProfile.getEnergyEstimationPlugin().estimatePowerConsumption(resEvent, new JobRegistryImpl(resource.getFullName()), resource);                      
     147                                status = powerProfile.addToPowerUsageHistory(power); 
     148                                break; 
     149                                 
     150                        case CPU_FREQUENCY_CHANGED: 
     151                                power = powerProfile.getEnergyEstimationPlugin().estimatePowerConsumption(resEvent, new JobRegistryImpl(resource.getFullName()), resource); 
    146152                                status = powerProfile.addToPowerUsageHistory(power); 
    147153                                break; 
    148154                                 
    149155                        case TASK_STARTED: 
    150                                 power = powerProfile.getEnergyEstimationPlugin().estimatePowerConsumption(enEvent, new JobRegistryImpl(resource.getFullName()), resource); 
     156                                power = powerProfile.getEnergyEstimationPlugin().estimatePowerConsumption(resEvent, new JobRegistryImpl(resource.getFullName()), resource); 
    151157                                status = powerProfile.addToPowerUsageHistory(power); 
    152158                                break; 
    153159         
    154160                        case TASK_FINISHED: 
    155                                 power = powerProfile.getEnergyEstimationPlugin().estimatePowerConsumption(enEvent, new JobRegistryImpl(resource.getFullName()), resource); 
    156                                 status = powerProfile.addToPowerUsageHistory(power); 
    157                                 break; 
    158                                  
    159                         case RESOURCE_UTILIZATION_CHANGED: 
    160                                 power = powerProfile.getEnergyEstimationPlugin().estimatePowerConsumption(enEvent, new JobRegistryImpl(resource.getFullName()), resource); 
     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); 
    161167                                status = powerProfile.addToPowerUsageHistory(power); 
    162168                                break; 
    163169                                 
    164170                        case AIRFLOW_STATE_CHANGED: 
    165                                 double airflow = powerProfile.getEnergyEstimationPlugin().estimateAirflow(enEvent, new JobRegistryImpl(resource.getFullName()), resource); 
     171                                double airflow = powerProfile.getEnergyEstimationPlugin().estimateAirflow(resEvent, new JobRegistryImpl(resource.getFullName()), resource); 
    166172                                airflowProfile.addToAirFlowHistory(airflow); 
    167173                                break; 
    168174                                 
    169175                        case TEMPERATURE_CHANGED: 
    170                                 double temperature = powerProfile.getEnergyEstimationPlugin().estimateTemperature(enEvent, new JobRegistryImpl(resource.getFullName()), resource); 
     176                                double temperature = powerProfile.getEnergyEstimationPlugin().estimateTemperature(resEvent, new JobRegistryImpl(resource.getFullName()), resource); 
    171177                                thermalProfile.addToTemperatureHistory(temperature); 
    172178                                break; 
     
    176182                } 
    177183                if(status){ 
    178                         DataCenterWorkloadSimulator.getEventManager().sendToResources(resource.getType(), 0, new EnergyEvent(EnergyEventType.TEMPERATURE_CHANGED, resource.getFullName())); 
     184                        DataCenterWorkloadSimulator.getEventManager().sendToResources(resource.getType(), 0, new ResourceEvent(ResourceEventType.TEMPERATURE_CHANGED, resource.getFullName())); 
    179185                } 
    180186        } 
Note: See TracChangeset for help on using the changeset viewer.