Ignore:
Timestamp:
04/11/12 16:30:38 (13 years ago)
Author:
piontek
Message:
 
Location:
xssim/branches/tpiontek/src/example/energy
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • xssim/branches/tpiontek/src/example/energy/CPUEnergyEstimationPlugin.java

    r206 r241  
    11package example.energy; 
    22 
     3import gssim.schedframe.scheduling.ExecTaskInterface; 
     4 
     5import java.util.List; 
    36import java.util.Properties; 
    47 
     
    1619                        ComputingResource resource) { 
    1720                Processor cpu = (Processor)resource; 
     21                 
    1822                if(resource.getPowerInterface().getPowerState() == PowerState.OFF) 
    1923                        return 0; 
     24                 
     25                double factor = 1.3; 
     26                 
    2027                if(resource.getStatus() == ResourceStatus.BUSY) 
    21                         return cpu.getPowerInterface().getPState().getPower(); 
     28                { 
     29                        List<ExecTaskInterface> tasks = jobRegistry.getRunningTasks(); 
     30                        int type = Integer.parseInt( tasks.get(0).getJobId()); 
     31                         
     32                        switch( type % 4) 
     33                        { 
     34                                default: factor = 1.3;  
     35                        } 
     36                         
     37                        return cpu.getPowerInterface().getPState().getPower() * factor; 
     38                }        
    2239                else  
    23                         return 1;  
     40                        return cpu.getPowerInterface().getPState().getPower();  
    2441        } 
    2542 
  • xssim/branches/tpiontek/src/example/energy/ComputingNodeEnergyEstimationPlugin.java

    r206 r241  
    55import test.rewolucja.energy.EnergyEvent; 
    66import test.rewolucja.resources.physical.base.ComputingResource; 
     7import test.rewolucja.resources.physical.implementation.ComputingNode; 
    78import test.rewolucja.resources.physical.implementation.Processor; 
    8 import test.rewolucja.resources.physical.implementation.ComputingNode; 
    99import test.rewolucja.scheduling.JobRegistryInterface; 
    1010 
     
    1616                double power = 0; 
    1717                ComputingNode node = (ComputingNode) resource; 
     18                 
     19                if( node.getCategory().getName().equals("A")) 
     20                        power = 240; 
     21                else if( node.getCategory().getName().equals("B")) 
     22                        power = 95; 
     23                else 
     24                { 
     25                        System.err.println("Unknown Model: "  +node.getCategory().getName()); 
     26                        System.exit(1); 
     27                }        
     28                 
     29                 
     30                 
    1831                for(Processor cpu: node.getProcessors()){ 
    1932                        //try{ 
     
    2336                        //} 
    2437                } 
    25                 power += node.getPowerInterface().getPowerConsumption(node.getPowerInterface().getPowerState()); 
     38                //power += node.getPowerInterface().getPowerConsumption(node.getPowerInterface().getPowerState()); 
    2639                return power; 
    2740        } 
Note: See TracChangeset for help on using the changeset viewer.