package experiments.simpat2014.models.article; import schedframe.resources.computing.profiles.energy.ResourceEvent; import schedframe.resources.devices.Device; import schedframe.resources.devices.PhysicalResource; import schedframe.scheduling.manager.tasks.JobRegistry; import example.energy.BaseEnergyEstimationPlugin; public class PowerLeakageEnergyEstimationPlugin extends BaseEnergyEstimationPlugin{ public double estimatePowerConsumption(ResourceEvent event, JobRegistry jobRegistry, PhysicalResource resource) { double powerLekage = 0; Device pl = (Device) resource; double tempDiff = pl.getComputingResource().getThermalInterface().getRecentTemperature().getValue() - 65; if(tempDiff < 0) return 0; powerLekage = 0.02 * tempDiff * pl.getComputingResource().getPowerInterface().getRecentPowerUsage().getValue(); //powerConsumption = factor * pl.getComputingResource().getPowerInterface().getRecentPowerUsage().getValue(); /*Device pl = (Device) resource; if(pl.getComputingResource().getThermalInterface().getRecentTemperature().getValue() > 90){ powerConsumption = powerConsumption + 15; }*/ return powerLekage; } }