Changeset 1577 for DCWoRMS/branches


Ignore:
Timestamp:
02/04/16 11:25:04 (9 years ago)
Author:
wojtekp
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • DCWoRMS/branches/coolemall/src/experiments/e2dc2014/NodeEnergyEstimationPlugin.java

    r1501 r1577  
    3939                                                if(fan.getPowerInterface().getRecentPowerUsage().getValue() == -1){ 
    4040                                                        try { 
    41                                                                 powerConsumption = powerConsumption + fan.getAirflowInterface().getPowerConsumption(fan.getAirflowInterface().getAirflowState())/getNumberOfWorkingNodes(fan); 
     41                                                                powerConsumption = powerConsumption + fan.getAirflowInterface().getPowerConsumption(fan.getAirflowInterface().getAirflowState()) * (getFactor(fan)/(double)fan.getChilledResources().size())/getNumberOfWorkingNodes(fan); 
    4242                                                        } catch (NoSuchFieldException e) { 
    4343                                                                // TODO Auto-generated catch block 
     
    6868         
    6969        private double getFactor(Device device){ 
    70                 int quantity = 0; 
    7170 
    7271                double factor = 0;; 
     
    7877                        double meanMaxFrequency = 0; 
    7978                        if(fan.getChilledResources().contains(node.getFullName()) && node.getPowerInterface().getPowerState().equals(StandardPowerStateName.ON) ){ 
    80                                 quantity++; 
    8179                                for(Processor proc: node.getProcessors()){ 
    8280                                        if(proc.getCores().size() != proc.getFreeCores().size()){ 
    8381                                                nrOfComputingProcessor++; 
     82                                                meanCurrFrequency = meanCurrFrequency + proc.getPowerInterface().getFrequency(); 
     83                                                meanMaxFrequency = meanMaxFrequency + proc.getPowerInterface().getLowestPState().getFrequency();         
     84                                        } else { 
     85                                                meanCurrFrequency = meanCurrFrequency + proc.getPowerInterface().getHighestPState().getFrequency(); 
     86                                                meanMaxFrequency = meanMaxFrequency + proc.getPowerInterface().getLowestPState().getFrequency();                                                 
    8487                                        } 
    85                                         meanCurrFrequency = meanCurrFrequency + proc.getPowerInterface().getFrequency(); 
    86                                         meanMaxFrequency = meanMaxFrequency + proc.getPowerInterface().getLowestPState().getFrequency(); 
    8788                                } 
    8889                                meanCurrFrequency = meanCurrFrequency/node.getProcessors().size(); 
    8990                                meanMaxFrequency = meanMaxFrequency/node.getProcessors().size(); 
    90                                 factor = factor + (meanCurrFrequency /meanMaxFrequency) * (0.5+ nrOfComputingProcessor/node.getProcessors().size()); 
    91                                 //System.out.println(meanCurrFrequency + ";" + meanMaxFrequency +  ";" + factor); 
     91                                factor = factor + (meanCurrFrequency/meanMaxFrequency) * (0.5 + nrOfComputingProcessor/node.getProcessors().size()); 
    9292                        } 
    9393                } 
Note: See TracChangeset for help on using the changeset viewer.