source: DCWoRMS/branches/coolemall/src/test/drs_tst/recs/plugins/energy/IntelNodeEEP.java @ 1420

Revision 1420, 1.5 KB checked in by wojtekp, 11 years ago (diff)
Line 
1package test.drs_tst.recs.plugins.energy;
2
3import java.io.FileNotFoundException;
4import java.io.IOException;
5
6import schedframe.resources.computing.Node;
7import schedframe.resources.computing.Processor;
8import schedframe.resources.computing.profiles.energy.ResourceEvent;
9import schedframe.resources.devices.PhysicalResource;
10import schedframe.scheduling.manager.tasks.JobRegistry;
11
12public class IntelNodeEEP extends RecsNodeBaseEEP {
13
14        public double estimatePowerConsumption(ResourceEvent event, JobRegistry jobRegistry,
15                        PhysicalResource resource) {
16                double powerConsumption = 0;
17                Node node = (Node) resource;
18               
19                try {
20                        if(jobRegistry.getRunningTasks().size() > 0) {
21                                //System.out.println("running tasks: "+jobRegistry.getRunningTasks().size());
22                                powerConsumption = powerConsumption + getMeasuredPower(createQuery(jobRegistry.getRunningTasks().get(0)));
23                        }
24                        else {
25                                for(Processor cpu: node.getProcessors()){
26                                        try{
27                                                //powerConsumption = powerConsumption + cpu.getPowerInterface().getRecentPowerUsage().getValue();
28                                        } catch (Exception e){
29                                               
30                                        }
31                                }
32                                try {
33                                        powerConsumption = powerConsumption + node.getPowerInterface().getPowerConsumption(node.getPowerInterface().getPowerState());
34                                } catch (NoSuchFieldException e) {
35                                }
36                        }
37                } catch (FileNotFoundException e) {
38                        // TODO Auto-generated catch block
39                        e.printStackTrace();
40                } catch (IOException e) {
41                        // TODO Auto-generated catch block
42                        e.printStackTrace();
43                }
44
45                return powerConsumption;
46        }
47
48}
Note: See TracBrowser for help on using the repository browser.