- Timestamp:
- 02/01/16 16:12:28 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
DCWoRMS/branches/coolemall/src/example/energy/NodeEnergyEstimationPlugin.java
r1415 r1555 1 1 package example.energy; 2 3 import gridsim.dcworms.DCWormsTags; 4 2 5 3 6 import schedframe.resources.computing.Node; 4 7 import schedframe.resources.computing.Processor; 5 8 import schedframe.resources.computing.profiles.energy.ResourceEvent; 9 import schedframe.resources.computing.profiles.energy.power.plugin.EnergyPluginConfiguration; 6 10 import schedframe.resources.devices.Device; 7 11 import schedframe.resources.devices.PhysicalResource; 8 12 import schedframe.scheduling.manager.tasks.JobRegistry; 13 import simulator.DataCenterWorkloadSimulator; 9 14 10 15 public class NodeEnergyEstimationPlugin extends BaseEnergyEstimationPlugin { … … 13 18 PhysicalResource resource) { 14 19 double powerConsumption = 0; 20 EnergyPluginConfiguration epConf = (EnergyPluginConfiguration) getConfiguration(); 15 21 Node node = (Node) resource; 16 22 for(Processor cpu: node.getProcessors()){ … … 24 30 powerConsumption = powerConsumption + node.getPowerInterface().getPowerConsumption(node.getPowerInterface().getPowerState()); 25 31 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(); 27 34 } 28 35 } catch (NoSuchFieldException e) { 29 36 } 30 37 38 if(epConf.getPowerCapLevel() != -1 && powerConsumption > epConf.getPowerCapLevel()){ 39 DataCenterWorkloadSimulator.getEventManager().sendToAllSchedulers(0, DCWormsTags.RESOURCE_POWER_LIMIT_EXCEEDED, node.getFullName()); 40 } 31 41 return powerConsumption; 32 42 }
Note: See TracChangeset
for help on using the changeset viewer.