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

Legend:

Unmodified
Added
Removed
  • DCWoRMS/branches/coolemall/src/test/migrate/NodeEnergyEstimationPlugin.java

    r1399 r1420  
    22 
    33import schedframe.resources.computing.Node; 
    4 import schedframe.resources.computing.profiles.energy.EnergyEvent; 
     4import schedframe.resources.computing.profiles.energy.ResourceEvent; 
    55import schedframe.resources.computing.profiles.energy.power.PowerState; 
    66import schedframe.resources.computing.profiles.energy.power.StandardPowerStateName; 
    77import schedframe.resources.computing.profiles.energy.power.CustomPowerStateName; 
     8import schedframe.resources.computing.profiles.energy.power.plugin.EnergyPluginConfiguration; 
    89import schedframe.resources.devices.PhysicalResource; 
    910import schedframe.scheduling.manager.tasks.JobRegistry; 
     
    1415public class NodeEnergyEstimationPlugin extends BaseEnergyEstimationPlugin { 
    1516 
    16         private static int POWER_CAP_LEVEL = 150; 
    17  
    18          
    19         public double estimatePowerConsumption(EnergyEvent event, JobRegistry jobRegistry, 
     17        public double estimatePowerConsumption(ResourceEvent event, JobRegistry jobRegistry, 
    2018                        PhysicalResource resource) { 
    2119                double powerConsumption = 0; 
     20                EnergyPluginConfiguration epConf = (EnergyPluginConfiguration) getConfiguration(); 
     21                 
    2222                Node node = (Node) resource; 
    2323 
     
    2525                        powerConsumption = getPowerConsumption(node); 
    2626                }  
    27                 if(powerConsumption > POWER_CAP_LEVEL ){ 
     27                if(powerConsumption > epConf.getPowerCapLevel()){ 
    2828                        DataCenterWorkloadSimulator.getEventManager().sendToAllSchedulers(0, DCWormsTags.POWER_LIMIT_EXCEEDED, node.getFullName()); 
    2929                } 
     
    6262 
    6363                                        for(PowerState powerState: node.getPowerInterface().getSupportedPowerStates()){ 
    64                                                 Double load = Double.valueOf(powerState.getName().getLabel().substring(3)); 
     64                                                Double load; 
     65                                                try{ 
     66                                                        load = Double.valueOf(powerState.getName().getLabel().substring(3)); 
     67                                                }catch (Exception e){ 
     68                                                        continue; 
     69                                                } 
    6570                                                if(loadLevel > load){ 
    6671                                                        lowerLoadLevel = load; 
     
    6873                                                else if(loadLevel < load){ 
    6974                                                        higherLoadLevel = load; 
    70                                                         break; 
    7175                                                } 
    7276                                        } 
Note: See TracChangeset for help on using the changeset viewer.