source: DCWoRMS/trunk/src/example/energy/CPUEnergyEstimationPlugin.java @ 532

Revision 532, 1.0 KB checked in by wojtekp, 12 years ago (diff)
  • Property svn:mime-type set to text/plain
RevLine 
[477]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        public double estimatePowerConsumption(EnergyEvent event, JobRegistry jobRegistry,
12                        ComputingResource resource) {
[532]13                double powerConsumption;
[477]14                Processor cpu = (Processor)resource;
[497]15                if(resource.getPowerInterface().getPowerState().equals(StandardPowerStateName.OFF))
[532]16                        powerConsumption = 0;
[497]17                else {
[477]18                        try {
19                                return cpu.getPowerInterface().getPowerConsumption(cpu.getPowerInterface().getPState());
20                        } catch (NoSuchFieldException e) {
[497]21                                try {
22                                        return cpu.getPowerInterface().getPowerConsumption(StandardPowerStateName.ON);
23                                } catch (NoSuchFieldException e1) {
[532]24                                        powerConsumption = 1;
[497]25                                }
[477]26                        }
[497]27                }
[532]28                return powerConsumption;
[477]29        }
30
31}
Note: See TracBrowser for help on using the repository browser.