Ignore:
Timestamp:
07/15/14 16:26:31 (11 years ago)
Author:
wojtekp
Message:
 
Location:
DCWoRMS/branches/coolemall/src/schedframe/resources
Files:
1 added
1 deleted
17 edited
2 moved

Legend:

Unmodified
Added
Removed
  • DCWoRMS/branches/coolemall/src/schedframe/resources/computing/ComputingResource.java

    r1396 r1415  
    99import java.util.Properties; 
    1010 
    11 import schedframe.events.Event; 
    1211import schedframe.events.EventHandler; 
     12import schedframe.events.EventReason; 
    1313import schedframe.events.ResourceEventCommand; 
    14 import schedframe.events.scheduling.EventReason; 
    1514import schedframe.events.scheduling.ResourceStateChangedEvent; 
    1615import schedframe.events.scheduling.SchedulingEvent; 
     
    2120import schedframe.resources.computing.extensions.Extension; 
    2221import schedframe.resources.computing.extensions.ExtensionListImpl; 
    23 import schedframe.resources.computing.profiles.energy.EnergyEvent; 
    24 import schedframe.resources.computing.profiles.energy.EnergyEventType; 
     22import schedframe.resources.computing.profiles.energy.ResourceEvent; 
     23import schedframe.resources.computing.profiles.energy.ResourceEventType; 
    2524import schedframe.resources.computing.profiles.energy.EnergyExtension; 
    2625import schedframe.resources.computing.profiles.load.LoadExtension; 
     
    117116        } 
    118117         
    119         private void triggerEventUp(Event event) { 
     118        private void triggerEventUp(ResourceEvent event) { 
    120119                if(parent != null) 
    121120                        parent.handleEvent(event); 
    122121        } 
    123122 
    124         public void handleEvent(Event event){ 
     123        public void handleEvent(ResourceEvent event){ 
    125124                ResourceEventCommand rec = new ResourceEventCommand(this); 
    126125                rec.execute(event); 
     
    227226        class ComputingResourceEventHandler implements EventHandler{ 
    228227                 
    229                 public void handleResourceEvent(Event event){ 
     228                public void handleResourceEvent(ResourceEvent event){ 
    230229                        if (extensionList != null) { 
    231230                                for (Extension extension: extensionList) { 
     
    254253                                //scheduler.sim_cancel(filter, null); 
    255254                                ResourceStateChangedEvent rscEvent = (ResourceStateChangedEvent) event; 
    256                                 EnergyEventType eeType = (EnergyEventType)rscEvent.getEventType(); 
     255                                ResourceEventType reType = rscEvent.getResourceEventType(); 
    257256                                //scheduler.sendInternal(GridSimTags.SCHEDULE_NOW, DCWormsTags.UPDATE_PROCESSING, src); 
    258                                 switch(eeType){ 
     257                                switch(reType){ 
    259258                                 
    260                                         case RESOURCE_UTILIZATION_CHANGED: { 
     259                                        case UTILIZATION_CHANGED: { 
    261260                                                scheduler.sendInternal(GridSimTags.SCHEDULE_NOW, DCWormsTags.UPDATE_PROCESSING, src); 
    262261                                                break; 
    263262                                        } 
    264                                         case FREQUENCY_CHANGED: { 
     263                                        case CPU_FREQUENCY_CHANGED: { 
    265264                                                scheduler.sendInternal(GridSimTags.SCHEDULE_NOW, DCWormsTags.UPDATE_PROCESSING, src); 
    266265                                                break; 
     
    286285                } 
    287286                ResourceEventCommand rec = new ResourceEventCommand(this); 
    288                 EnergyEvent event = new EnergyEvent(EnergyEventType.AIRFLOW_STATE_CHANGED, "Resource controller"); 
     287                ResourceEvent event = new ResourceEvent(ResourceEventType.AIRFLOW_STATE_CHANGED, "Resource controller"); 
    289288                event.setReason(EventReason.SIM_INIT); 
    290289                rec.execute(event); 
    291290                /*ResourceEventCommand*/ rec = new ResourceEventCommand(this); 
    292                 /*EnergyEvent*/ event = new EnergyEvent(EnergyEventType.POWER_STATE_CHANGED, "Resource controller"); 
     291                /*ResourceEvent*/ event = new ResourceEvent(ResourceEventType.POWER_STATE_CHANGED, "Resource controller"); 
    293292                event.setReason(EventReason.SIM_INIT); 
    294293                rec.execute(event); 
    295294                 
    296295                rec = new ResourceEventCommand(this); 
    297                 event = new EnergyEvent(EnergyEventType.TEMPERATURE_CHANGED, "Resource controller"); 
     296                event = new ResourceEvent(ResourceEventType.TEMPERATURE_CHANGED, "Resource controller"); 
    298297                event.setReason(EventReason.SIM_INIT); 
    299298                rec.execute(event); 
     
    302301                if(li != null){ 
    303302                        ResourceLoadCalendar rlc = li.getLoadCalendar(); 
    304                         LinkedList<TimestampUtilization> ll = rlc.getLoadDistribution(); 
    305                         for(TimestampUtilization tu: ll){ 
    306                                 DataCenterWorkloadSimulator.getEventManager().sendToResource(getFullName(), tu.getStartTime(), new EnergyEvent(EnergyEventType.RESOURCE_UTILIZATION_CHANGED, getFullName())); 
    307                                 DataCenterWorkloadSimulator.getEventManager().sendToResource(getFullName(), tu.getEndTime(), new EnergyEvent(EnergyEventType.RESOURCE_UTILIZATION_CHANGED, getFullName())); 
     303                        LinkedList<TimestampUtilization> ld = rlc.getLoadDistribution(); 
     304                        for(TimestampUtilization tu: ld){ 
     305                                DataCenterWorkloadSimulator.getEventManager().sendToResource(getFullName(), tu.getStartTime(), new ResourceEvent(ResourceEventType.UTILIZATION_CHANGED, getFullName())); 
     306                                DataCenterWorkloadSimulator.getEventManager().sendToResource(getFullName(), tu.getEndTime(), new ResourceEvent(ResourceEventType.UTILIZATION_CHANGED, getFullName())); 
    308307                        }                                        
    309308                } 
  • DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/EnergyExtension.java

    r1396 r1415  
    1515import schedframe.resources.computing.profiles.energy.power.PowerInterfaceFactory; 
    1616import schedframe.resources.computing.profiles.energy.power.PowerProfile; 
     17import schedframe.resources.computing.profiles.energy.power.PowerStateName; 
    1718import schedframe.resources.computing.profiles.energy.power.ui.PowerInterface; 
    1819import schedframe.resources.computing.profiles.energy.thermal.ThermalInterfaceFactory; 
     
    110111                if(powerProfile == null || powerProfile.getEnergyEstimationPlugin() == null) 
    111112                        return false; 
    112                 if(event.getType().getName().equals(EnergyEventType.POWER_STATE_CHANGED.getName())) 
    113                         return true; 
    114                 else if(event.getType().getName().equals(EnergyEventType.FREQUENCY_CHANGED.getName())) 
    115                         return true; 
    116                 else if(event.getType().getName().equals(EnergyEventType.TASK_STARTED.getName())) 
    117                         return true; 
    118                 else if(event.getType().getName().equals(EnergyEventType.TASK_FINISHED.getName())) 
    119                         return true; 
    120                 else if(event.getType().getName().equals(EnergyEventType.RESOURCE_UTILIZATION_CHANGED.getName())) 
    121                         return true; 
    122          
    123                 if(event.getType().getName().equals(EnergyEventType.AIRFLOW_STATE_CHANGED.getName())) 
    124                         return true; 
    125                 if(event.getType().getName().equals(EnergyEventType.TEMPERATURE_CHANGED.getName())) 
     113                if(event.getType().getName().equals(ResourceEventType.POWER_STATE_CHANGED.getName())) 
     114                        return true; 
     115                else if(event.getType().getName().equals(ResourceEventType.CPU_FREQUENCY_CHANGED.getName())) 
     116                        return true; 
     117                else if(event.getType().getName().equals(ResourceEventType.TASK_STARTED.getName())) 
     118                        return true; 
     119                else if(event.getType().getName().equals(ResourceEventType.TASK_FINISHED.getName())) 
     120                        return true; 
     121                else if(event.getType().getName().equals(ResourceEventType.UTILIZATION_CHANGED.getName())) 
     122                        return true; 
     123         
     124                if(event.getType().getName().equals(ResourceEventType.AIRFLOW_STATE_CHANGED.getName())) 
     125                        return true; 
     126                if(event.getType().getName().equals(ResourceEventType.TEMPERATURE_CHANGED.getName())) 
    126127                        return true; 
    127128                 
     
    131132        public void handleEvent(Event event) { 
    132133                 
    133                 EnergyEvent enEvent = (EnergyEvent)event; 
     134                ResourceEvent resEvent = (ResourceEvent)event; 
    134135                double power = 0; 
    135136                boolean status = false; 
    136137                try{ 
    137                         switch (enEvent.getType()) { 
     138                        switch (resEvent.getType()) { 
    138139                         
     140                        case UPDATE_POWER_STATE: 
     141                                PowerStateName newPowerState = (PowerStateName) resEvent.getData(); 
     142                                powerInterface.setPowerState(newPowerState); 
     143                                break; 
     144                                 
    139145                        case POWER_STATE_CHANGED: 
    140                                 power = powerProfile.getEnergyEstimationPlugin().estimatePowerConsumption(enEvent, new JobRegistryImpl(resource.getFullName()), resource);                       
    141                                 status = powerProfile.addToPowerUsageHistory(power); 
    142                                 break; 
    143                                  
    144                         case FREQUENCY_CHANGED: 
    145                                 power = powerProfile.getEnergyEstimationPlugin().estimatePowerConsumption(enEvent, new JobRegistryImpl(resource.getFullName()), resource); 
     146                                power = powerProfile.getEnergyEstimationPlugin().estimatePowerConsumption(resEvent, new JobRegistryImpl(resource.getFullName()), resource);                      
     147                                status = powerProfile.addToPowerUsageHistory(power); 
     148                                break; 
     149                                 
     150                        case CPU_FREQUENCY_CHANGED: 
     151                                power = powerProfile.getEnergyEstimationPlugin().estimatePowerConsumption(resEvent, new JobRegistryImpl(resource.getFullName()), resource); 
    146152                                status = powerProfile.addToPowerUsageHistory(power); 
    147153                                break; 
    148154                                 
    149155                        case TASK_STARTED: 
    150                                 power = powerProfile.getEnergyEstimationPlugin().estimatePowerConsumption(enEvent, new JobRegistryImpl(resource.getFullName()), resource); 
     156                                power = powerProfile.getEnergyEstimationPlugin().estimatePowerConsumption(resEvent, new JobRegistryImpl(resource.getFullName()), resource); 
    151157                                status = powerProfile.addToPowerUsageHistory(power); 
    152158                                break; 
    153159         
    154160                        case TASK_FINISHED: 
    155                                 power = powerProfile.getEnergyEstimationPlugin().estimatePowerConsumption(enEvent, new JobRegistryImpl(resource.getFullName()), resource); 
    156                                 status = powerProfile.addToPowerUsageHistory(power); 
    157                                 break; 
    158                                  
    159                         case RESOURCE_UTILIZATION_CHANGED: 
    160                                 power = powerProfile.getEnergyEstimationPlugin().estimatePowerConsumption(enEvent, new JobRegistryImpl(resource.getFullName()), resource); 
     161                                power = powerProfile.getEnergyEstimationPlugin().estimatePowerConsumption(resEvent, new JobRegistryImpl(resource.getFullName()), resource); 
     162                                status = powerProfile.addToPowerUsageHistory(power); 
     163                                break; 
     164                                 
     165                        case UTILIZATION_CHANGED: 
     166                                power = powerProfile.getEnergyEstimationPlugin().estimatePowerConsumption(resEvent, new JobRegistryImpl(resource.getFullName()), resource); 
    161167                                status = powerProfile.addToPowerUsageHistory(power); 
    162168                                break; 
    163169                                 
    164170                        case AIRFLOW_STATE_CHANGED: 
    165                                 double airflow = powerProfile.getEnergyEstimationPlugin().estimateAirflow(enEvent, new JobRegistryImpl(resource.getFullName()), resource); 
     171                                double airflow = powerProfile.getEnergyEstimationPlugin().estimateAirflow(resEvent, new JobRegistryImpl(resource.getFullName()), resource); 
    166172                                airflowProfile.addToAirFlowHistory(airflow); 
    167173                                break; 
    168174                                 
    169175                        case TEMPERATURE_CHANGED: 
    170                                 double temperature = powerProfile.getEnergyEstimationPlugin().estimateTemperature(enEvent, new JobRegistryImpl(resource.getFullName()), resource); 
     176                                double temperature = powerProfile.getEnergyEstimationPlugin().estimateTemperature(resEvent, new JobRegistryImpl(resource.getFullName()), resource); 
    171177                                thermalProfile.addToTemperatureHistory(temperature); 
    172178                                break; 
     
    176182                } 
    177183                if(status){ 
    178                         DataCenterWorkloadSimulator.getEventManager().sendToResources(resource.getType(), 0, new EnergyEvent(EnergyEventType.TEMPERATURE_CHANGED, resource.getFullName())); 
     184                        DataCenterWorkloadSimulator.getEventManager().sendToResources(resource.getType(), 0, new ResourceEvent(ResourceEventType.TEMPERATURE_CHANGED, resource.getFullName())); 
    179185                } 
    180186        } 
  • DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/ResourceEvent.java

    r1320 r1415  
    22 
    33import schedframe.events.Event; 
     4import schedframe.events.EventReason; 
    45import schedframe.events.EventType; 
    5 import schedframe.events.scheduling.EventReason; 
    66 
    77 
    8 public class EnergyEvent implements Event{ 
     8public class ResourceEvent implements Event{ 
    99 
    1010        protected EventType type; 
    1111        protected EventReason reason; 
     12        protected String source; 
    1213        protected Object data; 
    13         protected String source; 
    1414 
    15         public EnergyEvent(EventType eventType, String source){ 
     15        public ResourceEvent(EventType eventType, String source){ 
    1616                this.type = eventType; 
    1717                this.source = source; 
     
    1919        } 
    2020         
    21         public EnergyEvent(EventType eventType, Object data, String source){ 
     21        public ResourceEvent(EventType eventType, Object data, String source){ 
    2222                this.type = eventType; 
    2323                this.data = data; 
     
    2626        } 
    2727         
    28         public EnergyEventType getType() { 
    29                 EnergyEventType enEventType = null;  
     28        public ResourceEventType getType() { 
     29                ResourceEventType resEventType;  
    3030                try{ 
    31                         enEventType = (EnergyEventType)type; 
     31                        resEventType = (ResourceEventType)type; 
    3232                } catch(Exception e){ 
    33  
     33                        resEventType = null;  
    3434                } 
    35                 return enEventType; 
    36  
    37         } 
    38  
    39         public int getTag() { 
    40                 return type.getTag(); 
     35                return resEventType; 
    4136        } 
    4237 
  • DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/ResourceEventType.java

    r1320 r1415  
    33import schedframe.events.EventType; 
    44 
    5 public enum EnergyEventType implements EventType { 
     5public enum ResourceEventType implements EventType { 
    66         
    7         TASK_FINISHED(1), 
    8         TASK_FAILED(2), 
    9         TASK_CANCELED(4), 
    10         TASK_STARTED(8), 
     7        TASK_STARTED, 
     8        TASK_FINISHED, 
    119 
    12         TIMER(16), 
     10        POWER_STATE_CHANGED, 
     11        CPU_FREQUENCY_CHANGED, 
     12        AIRFLOW_STATE_CHANGED, 
     13         
     14        UTILIZATION_CHANGED, 
     15         
     16        TEMPERATURE_CHANGED, 
     17         
     18        UPDATE_POWER_STATE; 
    1319 
    14         POWER_STATE_CHANGED(32), 
    15         FREQUENCY_CHANGED(64), 
    16          
    17         AIRFLOW_STATE_CHANGED(256), 
    18          
    19         RESOURCE_FAILED(512), 
    20          
    21         RESOURCE_UTILIZATION_CHANGED(1024), 
    22          
    23         TEMPERATURE_CHANGED(2048) 
    24          
    25         ; 
    26  
    27         protected int tag; 
    28          
    29         public int getTag() { 
    30                 return tag; 
    31         } 
    32  
    33         private EnergyEventType(int tag){ 
    34                 this.tag = tag; 
    35         } 
    36          
    3720        public String getName(){ 
    3821                return toString(); 
  • DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/airthroughput/ui/ComputingResourceAirflowInterface.java

    r1396 r1415  
    88import schedframe.Parameters; 
    99import schedframe.resources.computing.ComputingResource; 
    10 import schedframe.resources.computing.profiles.energy.EnergyEvent; 
    11 import schedframe.resources.computing.profiles.energy.EnergyEventType; 
     10import schedframe.resources.computing.profiles.energy.ResourceEvent; 
     11import schedframe.resources.computing.profiles.energy.ResourceEventType; 
    1212import schedframe.resources.computing.profiles.energy.airthroughput.AirflowValue; 
    1313import schedframe.resources.computing.profiles.energy.airthroughput.AirflowProfile; 
     
    3737                         
    3838                        //TO DO - notifications should be called for all resources starting form the lowest layer 
    39                         resource.handleEvent(new EnergyEvent(EnergyEventType.AIRFLOW_STATE_CHANGED, resource.getFullName())); 
    40                         resource.handleEvent(new EnergyEvent(EnergyEventType.POWER_STATE_CHANGED, resource.getFullName())); 
     39                        resource.handleEvent(new ResourceEvent(ResourceEventType.AIRFLOW_STATE_CHANGED, resource.getFullName())); 
     40                        resource.handleEvent(new ResourceEvent(ResourceEventType.POWER_STATE_CHANGED, resource.getFullName())); 
    4141                        return true; 
    4242                } 
  • DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/power/StandardPowerStateName.java

    r1396 r1415  
    88        SLEEP, 
    99        SUSPEND, 
    10         HIBERNATE; 
     10        HIBERNATE, 
     11        BOOT, 
     12        POWEROFF; 
    1113 
    1214        public String getLabel() { 
  • DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/power/plugin/EnergyEstimationPlugin.java

    r1396 r1415  
    22 
    33import schedframe.Plugin; 
    4 import schedframe.resources.computing.profiles.energy.EnergyEvent; 
     4import schedframe.resources.computing.profiles.energy.ResourceEvent; 
    55import schedframe.resources.devices.PhysicalResource; 
    66import schedframe.scheduling.manager.tasks.JobRegistry; 
     
    88public interface EnergyEstimationPlugin extends Plugin { 
    99         
    10         public double estimatePowerConsumption(EnergyEvent event, JobRegistry jobRegistry, PhysicalResource resource); 
     10        public double estimatePowerConsumption(ResourceEvent event, JobRegistry jobRegistry, PhysicalResource resource); 
    1111 
    12         public double estimateAirflow(EnergyEvent event, JobRegistry jobRegistry, PhysicalResource resource); 
     12        public double estimateAirflow(ResourceEvent event, JobRegistry jobRegistry, PhysicalResource resource); 
    1313 
    14         public double estimateTemperature(EnergyEvent event, JobRegistry jobRegistry, PhysicalResource resource); 
     14        public double estimateTemperature(ResourceEvent event, JobRegistry jobRegistry, PhysicalResource resource); 
    1515 
    1616} 
  • DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/power/ui/ComputingResourcePowerInterface.java

    r1396 r1415  
    99import schedframe.resources.ResourceStatus; 
    1010import schedframe.resources.computing.ComputingResource; 
    11 import schedframe.resources.computing.profiles.energy.EnergyEvent; 
    12 import schedframe.resources.computing.profiles.energy.EnergyEventType; 
     11import schedframe.resources.computing.profiles.energy.ResourceEvent; 
     12import schedframe.resources.computing.profiles.energy.ResourceEventType; 
    1313import schedframe.resources.computing.profiles.energy.power.PowerProfile; 
    1414import schedframe.resources.computing.profiles.energy.power.PowerState; 
     
    4949                        } 
    5050                        //notifications from all levels 
    51                         resource.handleEvent(new EnergyEvent(EnergyEventType.POWER_STATE_CHANGED, resource.getFullName())); 
     51                        resource.handleEvent(new ResourceEvent(ResourceEventType.POWER_STATE_CHANGED, resource.getFullName())); 
    5252 
    5353                        //notification from last level 
  • DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/power/ui/NodePowerInterface.java

    r1384 r1415  
    33 
    44 
     5import java.util.List; 
     6 
    57import schedframe.resources.ResourceStatus; 
    68import schedframe.resources.computing.ComputingResource; 
    79import schedframe.resources.computing.Node; 
    8 import schedframe.resources.computing.profiles.energy.EnergyEvent; 
    9 import schedframe.resources.computing.profiles.energy.EnergyEventType; 
     10import schedframe.resources.computing.profiles.energy.ResourceEvent; 
     11import schedframe.resources.computing.profiles.energy.ResourceEventType; 
    1012import schedframe.resources.computing.profiles.energy.power.PowerProfile; 
     13import schedframe.resources.computing.profiles.energy.power.PowerState; 
    1114import schedframe.resources.computing.profiles.energy.power.PowerStateName; 
    1215import schedframe.resources.computing.profiles.energy.power.StandardPowerStateName; 
     16import schedframe.resources.computing.profiles.energy.power.Transition; 
     17import simulator.DataCenterWorkloadSimulator; 
    1318 
    1419public class NodePowerInterface extends ComputingResourcePowerInterface{ 
     
    2631                         
    2732                        Node node = (Node) resource; 
    28                         for(ComputingResource child:node.getProcessors()){ 
     33                        for(ComputingResource child: node.getProcessors()){ 
    2934                                if(child.getPowerInterface() != null){ 
    3035                                        child.getPowerInterface().setPowerState(state);  
     
    3944                        } 
    4045         
    41                         node.handleEvent(new EnergyEvent(EnergyEventType.POWER_STATE_CHANGED, node.getFullName())); 
     46                        node.handleEvent(new ResourceEvent(ResourceEventType.POWER_STATE_CHANGED, node.getFullName())); 
    4247 
    4348                        //node.handleEvent(new EnergyEvent(EnergyEventType.POWER_STATE_CHANGED, computingNode.getName())); 
     
    4853 
    4954        public void turnOn(){ 
     55                /*double timePenalty = getTransitionTime(currentPowerState, StandardPowerStateName.ON); 
     56                setPowerState(StandardPowerStateName.BOOT); 
     57                DataCenterWorkloadSimulator.getEventManager().sendToResource(resource.getFullName(), timePenalty, new ResourceEvent(ResourceEventType.UPDATE_POWER_STATE, StandardPowerStateName.ON, resource.getFullName()));*/ 
    5058                setPowerState(StandardPowerStateName.ON); 
    5159        } 
    5260         
    5361        public void turnOff(){ 
     62                /*double timePenalty = getTransitionTime(currentPowerState, StandardPowerStateName.OFF); 
     63                setPowerState(StandardPowerStateName.POWEROFF); 
     64                DataCenterWorkloadSimulator.getEventManager().sendToResource(resource.getFullName(), timePenalty, new ResourceEvent(ResourceEventType.UPDATE_POWER_STATE, StandardPowerStateName.OFF, resource.getFullName()));*/ 
    5465                setPowerState(StandardPowerStateName.OFF); 
    5566        } 
    5667 
     68        private double getTransitionTime(PowerStateName from, PowerStateName to){ 
     69                List<PowerState> availablePowerStates = getSupportedPowerStates(); 
     70                double timePenalty = 0; 
     71                for(PowerState ps : availablePowerStates){ 
     72                        if(ps.getName().getLabel().equals(from.getLabel())){ 
     73                                List<Transition> transitions = ps.getTransitions(); 
     74                                for(Transition t: transitions){ 
     75                                        if(t.getTo().getLabel().equals(to)){ 
     76                                                timePenalty = t.getTime(); 
     77                                        } 
     78                                } 
     79                        } 
     80                } 
     81                return timePenalty; 
     82        } 
    5783 
    5884 
  • DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/power/ui/ProcessorPowerInterface.java

    r1299 r1415  
    66import schedframe.resources.ResourceStatus; 
    77import schedframe.resources.computing.ComputingResource; 
    8 import schedframe.resources.computing.profiles.energy.EnergyEvent; 
    9 import schedframe.resources.computing.profiles.energy.EnergyEventType; 
     8import schedframe.resources.computing.profiles.energy.ResourceEvent; 
     9import schedframe.resources.computing.profiles.energy.ResourceEventType; 
    1010import schedframe.resources.computing.profiles.energy.power.PState; 
    1111import schedframe.resources.computing.profiles.energy.power.PowerProfile; 
     
    3333                                resource.setStatus(ResourceStatus.FREE); 
    3434                        } 
    35                         resource.handleEvent(new EnergyEvent(EnergyEventType.POWER_STATE_CHANGED, resource.getFullName()));              
     35                        resource.handleEvent(new ResourceEvent(ResourceEventType.POWER_STATE_CHANGED, resource.getFullName()));          
    3636                } 
    3737 
     
    6767                        //speed.setAmount(Double.valueOf(currentPState.getFrequency()).intValue()); 
    6868                        //new ResourceEventCommand(resource).execute(EnergyEventType.FREQUENCY_CHANGED); 
    69                         resource.handleEvent(new EnergyEvent(EnergyEventType.FREQUENCY_CHANGED, resource.getFullName())); 
     69                        resource.handleEvent(new ResourceEvent(ResourceEventType.CPU_FREQUENCY_CHANGED, resource.getFullName())); 
    7070                        //resource.getScheduler().sendInternal(GridSimTags.SCHEDULE_NOW, DCWormsTags.UPDATE, resource.getName()); 
    7171                         
  • DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/load/LoadExtension.java

    r1285 r1415  
    77import schedframe.resources.computing.extensions.ExtensionException; 
    88import schedframe.resources.computing.extensions.ExtensionType; 
    9 import schedframe.resources.computing.profiles.energy.EnergyEvent; 
    10 import schedframe.resources.computing.profiles.energy.EnergyEventType; 
     9import schedframe.resources.computing.profiles.energy.ResourceEvent; 
     10import schedframe.resources.computing.profiles.energy.ResourceEventType; 
    1111import schedframe.resources.computing.profiles.load.ui.LoadInterface; 
    1212import schedframe.resources.devices.PhysicalResource; 
     
    2929                if(loadProfile == null || loadProfile.getLoadEstimationPlugin() == null) 
    3030                        return false; 
    31                 if(event.getType().getName().equals(EnergyEventType.POWER_STATE_CHANGED.getName())) 
     31                if(event.getType().getName().equals(ResourceEventType.POWER_STATE_CHANGED.getName())) 
    3232                        return true; 
    33                 else if(event.getType().getName().equals(EnergyEventType.FREQUENCY_CHANGED.getName())) 
     33                else if(event.getType().getName().equals(ResourceEventType.CPU_FREQUENCY_CHANGED.getName())) 
    3434                        return true; 
    35                 else if(event.getType().getName().equals(EnergyEventType.TASK_STARTED.getName())) 
     35                else if(event.getType().getName().equals(ResourceEventType.TASK_STARTED.getName())) 
    3636                        return true; 
    37                 else if(event.getType().getName().equals(EnergyEventType.TASK_FINISHED.getName())) 
     37                else if(event.getType().getName().equals(ResourceEventType.TASK_FINISHED.getName())) 
    3838                        return true; 
    39                 else if(event.getType().getName().equals(EnergyEventType.RESOURCE_UTILIZATION_CHANGED.getName())) 
     39                else if(event.getType().getName().equals(ResourceEventType.UTILIZATION_CHANGED.getName())) 
    4040                        return true;             
    4141                else return false; 
     
    4444        public void handleEvent(Event event) { 
    4545                 
    46                 EnergyEvent enEvent = (EnergyEvent)event; 
     46                ResourceEvent enEvent = (ResourceEvent)event; 
    4747                double load = 0; 
    4848                try{ 
     
    5454                                break; 
    5555                                 
    56                         case FREQUENCY_CHANGED: 
     56                        case CPU_FREQUENCY_CHANGED: 
    5757                                load = loadProfile.getLoadEstimationPlugin().estimateUtlization(enEvent, new JobRegistryImpl(resource.getFullName()), resource); 
    5858                                loadProfile.addToLoadHistory(load); 
     
    6969                                break; 
    7070                                 
    71                         case RESOURCE_UTILIZATION_CHANGED: 
     71                        case UTILIZATION_CHANGED: 
    7272                                load = loadProfile.getLoadEstimationPlugin().estimateUtlization(enEvent, new JobRegistryImpl(resource.getFullName()), resource); 
    7373                                loadProfile.addToLoadHistory(load); 
  • DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/load/plugin/LoadEstimationPlugin.java

    r1285 r1415  
    22 
    33import schedframe.Plugin; 
    4 import schedframe.resources.computing.profiles.energy.EnergyEvent; 
     4import schedframe.resources.computing.profiles.energy.ResourceEvent; 
    55import schedframe.resources.devices.PhysicalResource; 
    66import schedframe.scheduling.manager.tasks.JobRegistry; 
     
    88public interface LoadEstimationPlugin extends Plugin { 
    99         
    10         public double estimateUtlization(EnergyEvent event, JobRegistry jobRegistry, PhysicalResource resource); 
     10        public double estimateUtlization(ResourceEvent event, JobRegistry jobRegistry, PhysicalResource resource); 
    1111 
    1212 
  • DCWoRMS/branches/coolemall/src/schedframe/resources/devices/Device.java

    r1396 r1415  
    11package schedframe.resources.devices; 
    22 
    3 import schedframe.events.Event; 
    43import schedframe.events.EventHandler; 
     4import schedframe.events.EventReason; 
    55import schedframe.events.ResourceEventCommand; 
    6 import schedframe.events.scheduling.EventReason; 
    76import schedframe.events.scheduling.SchedulingEvent; 
    87import schedframe.resources.ResourceStatus; 
     
    1110import schedframe.resources.computing.extensions.Extension; 
    1211import schedframe.resources.computing.extensions.ExtensionListImpl; 
    13 import schedframe.resources.computing.profiles.energy.EnergyEvent; 
    14 import schedframe.resources.computing.profiles.energy.EnergyEventType; 
     12import schedframe.resources.computing.profiles.energy.ResourceEvent; 
     13import schedframe.resources.computing.profiles.energy.ResourceEventType; 
    1514import schedframe.resources.computing.profiles.energy.EnergyExtension; 
    1615import schedframe.resources.devices.description.DeviceDescription; 
     
    4443        } 
    4544 
    46         public void handleEvent(Event event) { 
     45        public void handleEvent(ResourceEvent event) { 
    4746                ResourceEventCommand rec = new ResourceEventCommand(this); 
    4847                rec.execute(event); 
     
    5150        class DeviceEventHandler implements EventHandler{ 
    5251                 
    53                 public void handleResourceEvent(Event event){ 
     52                public void handleResourceEvent(ResourceEvent event){ 
    5453                        if (extensionList != null) { 
    5554                                for (Extension extension : extensionList) { 
     
    7574                 
    7675                ResourceEventCommand rec = new ResourceEventCommand(this); 
    77                 EnergyEvent event = new EnergyEvent(EnergyEventType.AIRFLOW_STATE_CHANGED, "Resource controller"); 
     76                ResourceEvent event = new ResourceEvent(ResourceEventType.AIRFLOW_STATE_CHANGED, "Resource controller"); 
    7877                event.setReason(EventReason.SIM_INIT); 
    7978                rec.execute(event); 
    8079                 
    8180                rec = new ResourceEventCommand(this); 
    82                 event = new EnergyEvent(EnergyEventType.POWER_STATE_CHANGED, "Resource controller"); 
     81                event = new ResourceEvent(ResourceEventType.POWER_STATE_CHANGED, "Resource controller"); 
    8382                event.setReason(EventReason.SIM_INIT); 
    8483                rec.execute(event); 
    8584                 
    8685                rec = new ResourceEventCommand(this); 
    87                 event = new EnergyEvent(EnergyEventType.TEMPERATURE_CHANGED, "Resource controller"); 
     86                event = new ResourceEvent(ResourceEventType.TEMPERATURE_CHANGED, "Resource controller"); 
    8887                event.setReason(EventReason.SIM_INIT); 
    8988                rec.execute(event); 
  • DCWoRMS/branches/coolemall/src/schedframe/resources/devices/DeviceAirflowInterface.java

    r1396 r1415  
    77 
    88import schedframe.Parameters; 
    9 import schedframe.resources.computing.profiles.energy.EnergyEvent; 
    10 import schedframe.resources.computing.profiles.energy.EnergyEventType; 
     9import schedframe.resources.computing.profiles.energy.ResourceEvent; 
     10import schedframe.resources.computing.profiles.energy.ResourceEventType; 
    1111import schedframe.resources.computing.profiles.energy.airthroughput.AirflowValue; 
    1212import schedframe.resources.computing.profiles.energy.airthroughput.AirflowProfile; 
     
    3737                         
    3838                        //TO DO - notifications should be called for all resources starting form the lowest layer 
    39                         resource.handleEvent(new EnergyEvent(EnergyEventType.AIRFLOW_STATE_CHANGED, resource.getFullName())); 
    40                         resource.handleEvent(new EnergyEvent(EnergyEventType.POWER_STATE_CHANGED, resource.getFullName())); 
     39                        resource.handleEvent(new ResourceEvent(ResourceEventType.AIRFLOW_STATE_CHANGED, resource.getFullName())); 
     40                        resource.handleEvent(new ResourceEvent(ResourceEventType.POWER_STATE_CHANGED, resource.getFullName())); 
    4141                        return true; 
    4242                } 
  • DCWoRMS/branches/coolemall/src/schedframe/resources/devices/DevicePowerInterface.java

    r1380 r1415  
    77 
    88import schedframe.Parameters; 
    9 import schedframe.resources.computing.profiles.energy.EnergyEvent; 
    10 import schedframe.resources.computing.profiles.energy.EnergyEventType; 
     9import schedframe.resources.computing.profiles.energy.ResourceEvent; 
     10import schedframe.resources.computing.profiles.energy.ResourceEventType; 
    1111import schedframe.resources.computing.profiles.energy.power.PowerProfile; 
    1212import schedframe.resources.computing.profiles.energy.power.PowerState; 
     
    3232                        currentPowerState = state; 
    3333 
    34                         resource.handleEvent(new EnergyEvent(EnergyEventType.POWER_STATE_CHANGED, resource.getFullName())); 
     34                        resource.handleEvent(new ResourceEvent(ResourceEventType.POWER_STATE_CHANGED, resource.getFullName())); 
    3535 
    3636                        return true; 
  • DCWoRMS/branches/coolemall/src/schedframe/resources/devices/Fan.java

    r1274 r1415  
    44import java.util.List; 
    55 
     6import schedframe.resources.computing.ComputingResource; 
    67import schedframe.resources.devices.description.DeviceDescription; 
    78 
     
    1213        public Fan(DeviceDescription devDesc) { 
    1314                super(devDesc); 
    14                 this.chilledResources = new ArrayList<String>(); 
    1515        } 
    1616         
    1717        public List<String> getChilledResources(){ 
     18                if(chilledResources == null){ 
     19                        List<String> resNames =  new ArrayList<String>(); 
     20                        for(ComputingResource compRes: this.getComputingResource().getChildren()){ 
     21                                resNames.add(compRes.getFullName()); 
     22                        } 
     23                        return resNames; 
     24                } 
    1825                return chilledResources; 
    1926        } 
  • DCWoRMS/branches/coolemall/src/schedframe/resources/devices/PhysicalResource.java

    r1396 r1415  
    1212import schedframe.resources.computing.extensions.ExtensionType; 
    1313import schedframe.resources.computing.profiles.energy.EnergyExtension; 
     14import schedframe.resources.computing.profiles.energy.ResourceEvent; 
    1415import schedframe.resources.computing.profiles.energy.airthroughput.ui.AirflowInterface; 
    1516import schedframe.resources.computing.profiles.energy.power.ui.PowerInterface; 
     
    2829 
    2930         
    30         public abstract void handleEvent(Event event); 
     31        public abstract void handleEvent(ResourceEvent event); 
    3132         
    3233        public abstract EventHandler getEventHandler(); 
  • DCWoRMS/branches/coolemall/src/schedframe/resources/devices/description/PhysicalResourceDescription.java

    r1396 r1415  
    3030import schemas.PowerUsage; 
    3131import schemas.Profile; 
     32import schemas.StringValueWithUnit; 
    3233import simulator.utils.InstanceFactory; 
    3334import example.energy.DefaultEnergyEstimationPlugin; 
     
    8283                                } 
    8384                                Parameters params = extractParameters(powerProfileCharacteristic.getEnergyEstimationPlugin().getParameter()); 
     85                                if(powerProfileCharacteristic.getEnergyEstimationPlugin().getPowerCapLevel() != null) { 
     86                                        Parameter param = new Parameter("powerCapLevel"); 
     87                                        StringValueWithUnit sv = new StringValueWithUnit(); 
     88                                        sv.setContent(String.valueOf(powerProfileCharacteristic.getEnergyEstimationPlugin().getPowerCapLevel().getContent())); 
     89                                        sv.setUnit(powerProfileCharacteristic.getEnergyEstimationPlugin().getPowerCapLevel().getUnit()); 
     90                                        param.add(sv); 
     91                                         
     92                                        if(params == null) 
     93                                                params = new Parameters(); 
     94                                        params.put("powerCapLevel", param); 
     95                                } 
     96                                if(powerProfileCharacteristic.getEnergyEstimationPlugin().getPowerFloorLevel() != null) { 
     97                                        Parameter param = new Parameter("powerFloorLevel"); 
     98                                        StringValueWithUnit sv = new StringValueWithUnit(); 
     99                                        sv.setContent(String.valueOf(powerProfileCharacteristic.getEnergyEstimationPlugin().getPowerFloorLevel().getContent())); 
     100                                        sv.setUnit(powerProfileCharacteristic.getEnergyEstimationPlugin().getPowerFloorLevel().getUnit()); 
     101                                        param.add(sv); 
     102                                         
     103                                        if(params == null) 
     104                                                params = new Parameters(); 
     105                                        params.put("powerFloorLevel", param); 
     106                                } 
    84107                                energyEstimationPlugin.init(params); 
    85108                        } 
  • DCWoRMS/branches/coolemall/src/schedframe/resources/units/StandardResourceUnitName.java

    r1396 r1415  
    3737    COST("cost"), 
    3838     
    39     PE("processingElement"); 
     39    PE("processingelement"); 
    4040 
    4141     
Note: See TracChangeset for help on using the changeset viewer.