source: DCWoRMS/trunk/build/classes/example/energy/CPUEnergyEstimationPlugin.java @ 539

Revision 539, 1001 bytes checked in by wojtekp, 12 years ago (diff)
  • Property svn:mime-type set to text/plain
Line 
1package example.energy;
2
3import schedframe.resources.computing.ComputingResource;
4import schedframe.resources.computing.Processor;
5import schedframe.resources.computing.profiles.energy.EnergyEvent;
6import schedframe.resources.computing.profiles.energy.power.StandardPowerStateName;
7import schedframe.scheduling.manager.tasks.JobRegistry;
8
9public class CPUEnergyEstimationPlugin extends BaseEnergyEstimationPlugin  {
10
11        @Override
12        public double estimatePowerConsumption(EnergyEvent event, JobRegistry jobRegistry,
13                        ComputingResource resource) {
14                Processor cpu = (Processor)resource;
15                if(resource.getPowerInterface().getPowerState().equals(StandardPowerStateName.OFF))
16                        return 0;
17                else {
18                        try {
19                                return cpu.getPowerInterface().getPowerConsumption(cpu.getPowerInterface().getPState());
20                        } catch (NoSuchFieldException e) {
21                                try {
22                                        return cpu.getPowerInterface().getPowerConsumption(StandardPowerStateName.ON);
23                                } catch (NoSuchFieldException e1) {
24                                }
25                        }
26                        return 1;
27                }
28
29        }
30
31}
Note: See TracBrowser for help on using the repository browser.