source: DCWoRMS/branches/coolemall/src/experiments/simpat2014/models/article/PowerLeakageEnergyEstimationPlugin.java @ 1500

Revision 1500, 1.9 KB checked in by wojtekp, 10 years ago (diff)
Line 
1package experiments.simpat2014.models.article;
2
3import java.util.List;
4
5import schedframe.resources.CoolEmAllResourceType;
6import schedframe.resources.computing.ComputingResource;
7import schedframe.resources.computing.Node;
8import schedframe.resources.computing.Processor;
9import schedframe.resources.computing.Rack;
10import schedframe.resources.computing.coolemall.ComputeBox1;
11import schedframe.resources.computing.coolemall.NodeGroup;
12import schedframe.resources.computing.profiles.energy.ResourceEvent;
13import schedframe.resources.computing.profiles.energy.airthroughput.CustomAirflowStateName;
14import schedframe.resources.computing.profiles.energy.power.PState;
15import schedframe.resources.computing.profiles.energy.power.StandardPowerStateName;
16import schedframe.resources.devices.Device;
17import schedframe.resources.devices.PhysicalResource;
18import schedframe.scheduling.manager.tasks.JobRegistry;
19import simulator.DataCenterWorkloadSimulator;
20import example.energy.BaseEnergyEstimationPlugin;
21import example.energy.coolemall.CoolEmAllTestbedMeasurements;
22import gridsim.dcworms.DCWormsTags;
23
24public class PowerLeakageEnergyEstimationPlugin extends BaseEnergyEstimationPlugin{
25
26        private static double Tidle = 28;
27        private static double Tfull = 60;
28       
29        public double estimatePowerConsumption(ResourceEvent event, JobRegistry jobRegistry,
30                        PhysicalResource resource) {
31
32                double powerConsumption = 0;
33                Device pl = (Device) resource;
34                double tempDiff = pl.getComputingResource().getThermalInterface().getRecentTemperature().getValue() - Tidle;
35                double factor = 0.01 * tempDiff;
36                powerConsumption = factor * pl.getComputingResource().getPowerInterface().getRecentPowerUsage().getValue();
37                /*Device pl = (Device) resource;
38                if(pl.getComputingResource().getThermalInterface().getRecentTemperature().getValue() > 90){
39                        powerConsumption = powerConsumption + 15;
40                }*/
41                return powerConsumption;
42        }
43
44
45}
Note: See TracBrowser for help on using the repository browser.