Ignore:
Timestamp:
02/01/16 16:12:28 (9 years ago)
Author:
wojtekp
Message:
 
File:
1 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        } 
Note: See TracChangeset for help on using the changeset viewer.