package test.article.recs.plugins.energy; import java.io.FileNotFoundException; import java.io.IOException; import schedframe.resources.computing.ComputingNode; import schedframe.resources.computing.ComputingResource; import schedframe.resources.computing.Processor; import schedframe.resources.computing.profiles.energy.EnergyEvent; import schedframe.scheduling.manager.tasks.JobRegistry; public class AmdNodeEEP extends RecsNodeBaseEEP { public double estimatePowerConsumption(EnergyEvent event, JobRegistry jobRegistry, ComputingResource resource) { double powerConsumption = 0; ComputingNode node = (ComputingNode) resource; try { if(jobRegistry.getRunningTasks().size() > 0) { powerConsumption = powerConsumption + getMeasuredPower(createQuery(jobRegistry.getRunningTasks().get(0))); } else { for(Processor cpu: node.getProcessors()){ try{ //powerConsumption = powerConsumption + cpu.getPowerInterface().getRecentPowerUsage().getValue(); } catch (Exception e){ } } try { powerConsumption = powerConsumption + node.getPowerInterface().getPowerConsumption(node.getPowerInterface().getPowerState()); } catch (NoSuchFieldException e) { } } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return powerConsumption; } }