Changeset 1555 for DCWoRMS/branches


Ignore:
Timestamp:
02/01/16 16:12:28 (9 years ago)
Author:
wojtekp
Message:
 
Location:
DCWoRMS/branches/coolemall/src/example/energy
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • DCWoRMS/branches/coolemall/src/example/energy/NodeEnergyEstimationPlugin.java

    r1415 r1555  
    11package example.energy; 
     2 
     3import gridsim.dcworms.DCWormsTags; 
     4 
    25 
    36import schedframe.resources.computing.Node; 
    47import schedframe.resources.computing.Processor; 
    58import schedframe.resources.computing.profiles.energy.ResourceEvent; 
     9import schedframe.resources.computing.profiles.energy.power.plugin.EnergyPluginConfiguration; 
    610import schedframe.resources.devices.Device; 
    711import schedframe.resources.devices.PhysicalResource; 
    812import schedframe.scheduling.manager.tasks.JobRegistry; 
     13import simulator.DataCenterWorkloadSimulator; 
    914 
    1015public class NodeEnergyEstimationPlugin extends BaseEnergyEstimationPlugin { 
     
    1318                        PhysicalResource resource) { 
    1419                double powerConsumption = 0; 
     20                EnergyPluginConfiguration epConf = (EnergyPluginConfiguration) getConfiguration(); 
    1521                Node node = (Node) resource; 
    1622                for(Processor cpu: node.getProcessors()){ 
     
    2430                        powerConsumption = powerConsumption + node.getPowerInterface().getPowerConsumption(node.getPowerInterface().getPowerState()); 
    2531                        for(Device dev: node.getResourceCharacteristic().getDevices()){ 
    26                                 powerConsumption = powerConsumption + dev.getPowerInterface().getRecentPowerUsage().getValue(); 
     32                                if(dev.getPowerInterface().getRecentPowerUsage().getValue() != -1) 
     33                                        powerConsumption = powerConsumption + dev.getPowerInterface().getRecentPowerUsage().getValue(); 
    2734                        } 
    2835                } catch (NoSuchFieldException e) { 
    2936                } 
    3037 
     38                if(epConf.getPowerCapLevel() != -1 && powerConsumption > epConf.getPowerCapLevel()){ 
     39                        DataCenterWorkloadSimulator.getEventManager().sendToAllSchedulers(0, DCWormsTags.RESOURCE_POWER_LIMIT_EXCEEDED, node.getFullName()); 
     40                } 
    3141                return powerConsumption; 
    3242        } 
  • DCWoRMS/branches/coolemall/src/example/energy/ProcessorEnergyEstimationPlugin.java

    r1415 r1555  
    1212        public double estimatePowerConsumption(ResourceEvent event, JobRegistry jobRegistry, 
    1313                        PhysicalResource resource) { 
    14                 double powerConsumption; 
     14                double powerConsumption = 0; 
    1515 
    1616                Processor cpu = (Processor)resource; 
     
    2424                                } catch (NoSuchFieldException e) { 
    2525                                        try { 
    26                                                 powerConsumption = cpu.getPowerInterface().getPowerConsumption(StandardPowerStateName.ON); 
     26                                                if(cpu.getPowerInterface().getPowerConsumption(cpu.getPowerInterface().getPowerState()) != -1) 
     27                                                        powerConsumption = cpu.getPowerInterface().getPowerConsumption(cpu.getPowerInterface().getPowerState()); 
    2728                                        } catch (NoSuchFieldException e1) { 
    2829                                                powerConsumption = 10; 
     
    3132                        } else{ 
    3233                                try { 
    33                                         powerConsumption = cpu.getPowerInterface().getPowerConsumption(cpu.getPowerInterface().getPState()); 
    34                                 } catch (NoSuchFieldException e) { 
    35                                         try { 
    36                                                 powerConsumption = cpu.getPowerInterface().getPowerConsumption(StandardPowerStateName.ON); 
    37                                         } catch (NoSuchFieldException e1) { 
    38                                                 powerConsumption = 0; 
    39                                         } 
     34                                        if(cpu.getPowerInterface().getPowerConsumption(cpu.getPowerInterface().getPowerState()) != -1) 
     35                                                powerConsumption = cpu.getPowerInterface().getPowerConsumption(cpu.getPowerInterface().getPowerState()); 
     36                                } catch (NoSuchFieldException e1) { 
     37                                        powerConsumption = 0; 
    4038                                } 
    4139                        } 
Note: See TracChangeset for help on using the changeset viewer.