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

Revision 477, 1.0 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.ResourceStatus;
4import schedframe.resources.computing.ComputingResource;
5import schedframe.resources.computing.Processor;
6import schedframe.resources.computing.profiles.energy.EnergyEvent;
7import schedframe.resources.computing.profiles.energy.power.StandardPowerStateName;
8import schedframe.scheduling.manager.tasks.JobRegistry;
9
10public class CPUEnergyEstimationPlugin extends BaseEnergyEstimationPlugin  {
11
12        @Override
13        public double estimatePowerConsumption(EnergyEvent event, JobRegistry jobRegistry,
14                        ComputingResource resource) {
15                Processor cpu = (Processor)resource;
16                if(resource.getPowerInterface().getPowerState().getName().equals(StandardPowerStateName.OFF))
17                        return 0;
18                if(resource.getStatus() == ResourceStatus.BUSY)
19                        try {
20                                return cpu.getPowerInterface().getPowerConsumption(cpu.getPowerInterface().getPState());
21                        } catch (NoSuchFieldException e) {
22                                return 0;
23                        }
24                else
25                        return 1;
26        }
27
28        public String getName() {
29                return getClass().getName();
30        }
31
32
33}
Note: See TracBrowser for help on using the repository browser.