source: DCWoRMS/branches/coolemall/src/experiments/e2dc2015/models/i5/NodeGroupEnergyEstimationPlugin.java @ 1593

Revision 1593, 1.4 KB checked in by wojtekp, 8 years ago (diff)
  • Property svn:mime-type set to text/plain
Line 
1package experiments.e2dc2015.models.i5;
2
3import schedframe.resources.StandardResourceType;
4import schedframe.resources.computing.Node;
5import schedframe.resources.computing.coolemall.NodeGroup;
6import schedframe.resources.computing.profiles.energy.ResourceEvent;
7import schedframe.resources.devices.Device;
8import schedframe.resources.devices.Fan;
9import schedframe.resources.devices.PhysicalResource;
10import schedframe.scheduling.manager.tasks.JobRegistry;
11import example.energy.BaseEnergyEstimationPlugin;
12
13public class NodeGroupEnergyEstimationPlugin extends BaseEnergyEstimationPlugin{
14
15        public double estimatePowerConsumption(ResourceEvent event, JobRegistry jobRegistry,
16                        PhysicalResource resource) {
17               
18                double powerConsumption = 0;
19                NodeGroup nodeGroup = (NodeGroup)resource;
20                for(Node node: nodeGroup.getNodes()){
21                        try{
22                                powerConsumption = powerConsumption + node.getPowerInterface().getRecentPowerUsage().getValue();
23                                powerConsumption = powerConsumption + node.getProcessors().get(0).getResourceCharacteristic().getDevices().get(0).getPowerInterface().getRecentPowerUsage().getValue();
24
25                        } catch (Exception e){
26                        }
27                }
28                for(Device device: nodeGroup.getResourceCharacteristic().getDevices()){
29                        if(device.getType().equals(StandardResourceType.Fan)){
30                                Fan fan = (Fan) device;
31                                powerConsumption = powerConsumption + fan.getPowerInterface().getRecentPowerUsage().getValue();
32                        }
33                }
34                return powerConsumption;
35        }
36
37}
Note: See TracBrowser for help on using the repository browser.