source: DCWoRMS/trunk/src/example/energy/ComputingNodeEnergyEstimationPlugin.java @ 477

Revision 477, 1.1 KB checked in by wojtekp, 13 years ago (diff)
  • Property svn:mime-type set to text/plain
Line 
1package example.energy;
2
3import schedframe.resources.computing.ComputingNode;
4import schedframe.resources.computing.ComputingResource;
5import schedframe.resources.computing.Processor;
6import schedframe.resources.computing.profiles.energy.EnergyEvent;
7import schedframe.scheduling.manager.tasks.JobRegistry;
8
9public class ComputingNodeEnergyEstimationPlugin extends BaseEnergyEstimationPlugin {
10
11        @Override
12        public double estimatePowerConsumption(EnergyEvent event, JobRegistry jobRegistry,
13                        ComputingResource resource) {
14                double power = 0;
15                ComputingNode node = (ComputingNode) resource;
16                for(Processor cpu: node.getProcessors()){
17                        try{
18                                power = power + cpu.getPowerInterface().getRecentPowerUsage().getValue();
19                        } catch(Exception e){
20                                //power = power + cpu.getPowerInterface().getPowerConsumption(cpu.getPowerInterface().getPowerState());
21                        }
22                }
23
24                try {
25                        power += node.getPowerInterface().getPowerConsumption(node.getPowerInterface().getPowerState());
26                } catch (NoSuchFieldException e) {
27                }
28
29                return power;
30        }
31
32        public String getName() {
33                return getClass().getName();
34        }
35
36}
Note: See TracBrowser for help on using the repository browser.