package test.fips.models.i7; import schedframe.resources.computing.Node; import schedframe.resources.computing.Processor; import schedframe.resources.computing.profiles.energy.ResourceEvent; import schedframe.resources.devices.PhysicalResource; import schedframe.scheduling.manager.tasks.JobRegistry; import example.energy.BaseEnergyEstimationPlugin; public class NodeEnergyEstimationPlugin extends BaseEnergyEstimationPlugin { private static double Pidle = 0; private static double Pfull = 0; public double estimatePowerConsumption(ResourceEvent event, JobRegistry jobRegistry, PhysicalResource resource) { Node node = (Node) resource; double powerConsumption = 0; double Pcpu = 0; for(Processor cpu: node.getProcessors()){ Pcpu = Pcpu + cpu.getPowerInterface().getRecentPowerUsage().getValue(); } powerConsumption = Pcpu + Pidle + (Pfull- Pidle) * node.getLoadInterface().getRecentUtilization().getValue()/100; //powerConsumption = powerConsumption + node.getProcessors().get(0).getResourceCharacteristic().getDevices().get(0).getPowerInterface().getRecentPowerUsage().getValue(); return powerConsumption; } }