- Timestamp:
- 07/15/14 16:26:31 (11 years ago)
- Location:
- DCWoRMS/branches/coolemall/src/schedframe/resources/computing
- Files:
-
- 1 added
- 1 deleted
- 10 edited
- 2 moved
Legend:
- Unmodified
- Added
- Removed
-
DCWoRMS/branches/coolemall/src/schedframe/resources/computing/ComputingResource.java
r1396 r1415 9 9 import java.util.Properties; 10 10 11 import schedframe.events.Event;12 11 import schedframe.events.EventHandler; 12 import schedframe.events.EventReason; 13 13 import schedframe.events.ResourceEventCommand; 14 import schedframe.events.scheduling.EventReason;15 14 import schedframe.events.scheduling.ResourceStateChangedEvent; 16 15 import schedframe.events.scheduling.SchedulingEvent; … … 21 20 import schedframe.resources.computing.extensions.Extension; 22 21 import schedframe.resources.computing.extensions.ExtensionListImpl; 23 import schedframe.resources.computing.profiles.energy. EnergyEvent;24 import schedframe.resources.computing.profiles.energy. EnergyEventType;22 import schedframe.resources.computing.profiles.energy.ResourceEvent; 23 import schedframe.resources.computing.profiles.energy.ResourceEventType; 25 24 import schedframe.resources.computing.profiles.energy.EnergyExtension; 26 25 import schedframe.resources.computing.profiles.load.LoadExtension; … … 117 116 } 118 117 119 private void triggerEventUp( Event event) {118 private void triggerEventUp(ResourceEvent event) { 120 119 if(parent != null) 121 120 parent.handleEvent(event); 122 121 } 123 122 124 public void handleEvent( Event event){123 public void handleEvent(ResourceEvent event){ 125 124 ResourceEventCommand rec = new ResourceEventCommand(this); 126 125 rec.execute(event); … … 227 226 class ComputingResourceEventHandler implements EventHandler{ 228 227 229 public void handleResourceEvent( Event event){228 public void handleResourceEvent(ResourceEvent event){ 230 229 if (extensionList != null) { 231 230 for (Extension extension: extensionList) { … … 254 253 //scheduler.sim_cancel(filter, null); 255 254 ResourceStateChangedEvent rscEvent = (ResourceStateChangedEvent) event; 256 EnergyEventType eeType = (EnergyEventType)rscEvent.getEventType();255 ResourceEventType reType = rscEvent.getResourceEventType(); 257 256 //scheduler.sendInternal(GridSimTags.SCHEDULE_NOW, DCWormsTags.UPDATE_PROCESSING, src); 258 switch( eeType){257 switch(reType){ 259 258 260 case RESOURCE_UTILIZATION_CHANGED: {259 case UTILIZATION_CHANGED: { 261 260 scheduler.sendInternal(GridSimTags.SCHEDULE_NOW, DCWormsTags.UPDATE_PROCESSING, src); 262 261 break; 263 262 } 264 case FREQUENCY_CHANGED: {263 case CPU_FREQUENCY_CHANGED: { 265 264 scheduler.sendInternal(GridSimTags.SCHEDULE_NOW, DCWormsTags.UPDATE_PROCESSING, src); 266 265 break; … … 286 285 } 287 286 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"); 289 288 event.setReason(EventReason.SIM_INIT); 290 289 rec.execute(event); 291 290 /*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"); 293 292 event.setReason(EventReason.SIM_INIT); 294 293 rec.execute(event); 295 294 296 295 rec = new ResourceEventCommand(this); 297 event = new EnergyEvent(EnergyEventType.TEMPERATURE_CHANGED, "Resource controller");296 event = new ResourceEvent(ResourceEventType.TEMPERATURE_CHANGED, "Resource controller"); 298 297 event.setReason(EventReason.SIM_INIT); 299 298 rec.execute(event); … … 302 301 if(li != null){ 303 302 ResourceLoadCalendar rlc = li.getLoadCalendar(); 304 LinkedList<TimestampUtilization> l l= rlc.getLoadDistribution();305 for(TimestampUtilization tu: l l){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())); 308 307 } 309 308 } -
DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/EnergyExtension.java
r1396 r1415 15 15 import schedframe.resources.computing.profiles.energy.power.PowerInterfaceFactory; 16 16 import schedframe.resources.computing.profiles.energy.power.PowerProfile; 17 import schedframe.resources.computing.profiles.energy.power.PowerStateName; 17 18 import schedframe.resources.computing.profiles.energy.power.ui.PowerInterface; 18 19 import schedframe.resources.computing.profiles.energy.thermal.ThermalInterfaceFactory; … … 110 111 if(powerProfile == null || powerProfile.getEnergyEstimationPlugin() == null) 111 112 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())) 126 127 return true; 127 128 … … 131 132 public void handleEvent(Event event) { 132 133 133 EnergyEvent enEvent = (EnergyEvent)event;134 ResourceEvent resEvent = (ResourceEvent)event; 134 135 double power = 0; 135 136 boolean status = false; 136 137 try{ 137 switch ( enEvent.getType()) {138 switch (resEvent.getType()) { 138 139 140 case UPDATE_POWER_STATE: 141 PowerStateName newPowerState = (PowerStateName) resEvent.getData(); 142 powerInterface.setPowerState(newPowerState); 143 break; 144 139 145 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); 146 152 status = powerProfile.addToPowerUsageHistory(power); 147 153 break; 148 154 149 155 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); 151 157 status = powerProfile.addToPowerUsageHistory(power); 152 158 break; 153 159 154 160 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); 161 167 status = powerProfile.addToPowerUsageHistory(power); 162 168 break; 163 169 164 170 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); 166 172 airflowProfile.addToAirFlowHistory(airflow); 167 173 break; 168 174 169 175 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); 171 177 thermalProfile.addToTemperatureHistory(temperature); 172 178 break; … … 176 182 } 177 183 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())); 179 185 } 180 186 } -
DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/ResourceEvent.java
r1320 r1415 2 2 3 3 import schedframe.events.Event; 4 import schedframe.events.EventReason; 4 5 import schedframe.events.EventType; 5 import schedframe.events.scheduling.EventReason;6 6 7 7 8 public class EnergyEvent implements Event{8 public class ResourceEvent implements Event{ 9 9 10 10 protected EventType type; 11 11 protected EventReason reason; 12 protected String source; 12 13 protected Object data; 13 protected String source;14 14 15 public EnergyEvent(EventType eventType, String source){15 public ResourceEvent(EventType eventType, String source){ 16 16 this.type = eventType; 17 17 this.source = source; … … 19 19 } 20 20 21 public EnergyEvent(EventType eventType, Object data, String source){21 public ResourceEvent(EventType eventType, Object data, String source){ 22 22 this.type = eventType; 23 23 this.data = data; … … 26 26 } 27 27 28 public EnergyEventType getType() {29 EnergyEventType enEventType = null;28 public ResourceEventType getType() { 29 ResourceEventType resEventType; 30 30 try{ 31 enEventType = (EnergyEventType)type;31 resEventType = (ResourceEventType)type; 32 32 } catch(Exception e){ 33 33 resEventType = null; 34 34 } 35 return enEventType; 36 37 } 38 39 public int getTag() { 40 return type.getTag(); 35 return resEventType; 41 36 } 42 37 -
DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/ResourceEventType.java
r1320 r1415 3 3 import schedframe.events.EventType; 4 4 5 public enum EnergyEventType implements EventType {5 public enum ResourceEventType implements EventType { 6 6 7 TASK_FINISHED(1), 8 TASK_FAILED(2), 9 TASK_CANCELED(4), 10 TASK_STARTED(8), 7 TASK_STARTED, 8 TASK_FINISHED, 11 9 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; 13 19 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 37 20 public String getName(){ 38 21 return toString(); -
DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/airthroughput/ui/ComputingResourceAirflowInterface.java
r1396 r1415 8 8 import schedframe.Parameters; 9 9 import schedframe.resources.computing.ComputingResource; 10 import schedframe.resources.computing.profiles.energy. EnergyEvent;11 import schedframe.resources.computing.profiles.energy. EnergyEventType;10 import schedframe.resources.computing.profiles.energy.ResourceEvent; 11 import schedframe.resources.computing.profiles.energy.ResourceEventType; 12 12 import schedframe.resources.computing.profiles.energy.airthroughput.AirflowValue; 13 13 import schedframe.resources.computing.profiles.energy.airthroughput.AirflowProfile; … … 37 37 38 38 //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())); 41 41 return true; 42 42 } -
DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/power/StandardPowerStateName.java
r1396 r1415 8 8 SLEEP, 9 9 SUSPEND, 10 HIBERNATE; 10 HIBERNATE, 11 BOOT, 12 POWEROFF; 11 13 12 14 public String getLabel() { -
DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/power/plugin/EnergyEstimationPlugin.java
r1396 r1415 2 2 3 3 import schedframe.Plugin; 4 import schedframe.resources.computing.profiles.energy. EnergyEvent;4 import schedframe.resources.computing.profiles.energy.ResourceEvent; 5 5 import schedframe.resources.devices.PhysicalResource; 6 6 import schedframe.scheduling.manager.tasks.JobRegistry; … … 8 8 public interface EnergyEstimationPlugin extends Plugin { 9 9 10 public double estimatePowerConsumption( EnergyEvent event, JobRegistry jobRegistry, PhysicalResource resource);10 public double estimatePowerConsumption(ResourceEvent event, JobRegistry jobRegistry, PhysicalResource resource); 11 11 12 public double estimateAirflow( EnergyEvent event, JobRegistry jobRegistry, PhysicalResource resource);12 public double estimateAirflow(ResourceEvent event, JobRegistry jobRegistry, PhysicalResource resource); 13 13 14 public double estimateTemperature( EnergyEvent event, JobRegistry jobRegistry, PhysicalResource resource);14 public double estimateTemperature(ResourceEvent event, JobRegistry jobRegistry, PhysicalResource resource); 15 15 16 16 } -
DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/power/ui/ComputingResourcePowerInterface.java
r1396 r1415 9 9 import schedframe.resources.ResourceStatus; 10 10 import schedframe.resources.computing.ComputingResource; 11 import schedframe.resources.computing.profiles.energy. EnergyEvent;12 import schedframe.resources.computing.profiles.energy. EnergyEventType;11 import schedframe.resources.computing.profiles.energy.ResourceEvent; 12 import schedframe.resources.computing.profiles.energy.ResourceEventType; 13 13 import schedframe.resources.computing.profiles.energy.power.PowerProfile; 14 14 import schedframe.resources.computing.profiles.energy.power.PowerState; … … 49 49 } 50 50 //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())); 52 52 53 53 //notification from last level -
DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/power/ui/NodePowerInterface.java
r1384 r1415 3 3 4 4 5 import java.util.List; 6 5 7 import schedframe.resources.ResourceStatus; 6 8 import schedframe.resources.computing.ComputingResource; 7 9 import schedframe.resources.computing.Node; 8 import schedframe.resources.computing.profiles.energy. EnergyEvent;9 import schedframe.resources.computing.profiles.energy. EnergyEventType;10 import schedframe.resources.computing.profiles.energy.ResourceEvent; 11 import schedframe.resources.computing.profiles.energy.ResourceEventType; 10 12 import schedframe.resources.computing.profiles.energy.power.PowerProfile; 13 import schedframe.resources.computing.profiles.energy.power.PowerState; 11 14 import schedframe.resources.computing.profiles.energy.power.PowerStateName; 12 15 import schedframe.resources.computing.profiles.energy.power.StandardPowerStateName; 16 import schedframe.resources.computing.profiles.energy.power.Transition; 17 import simulator.DataCenterWorkloadSimulator; 13 18 14 19 public class NodePowerInterface extends ComputingResourcePowerInterface{ … … 26 31 27 32 Node node = (Node) resource; 28 for(ComputingResource child: node.getProcessors()){33 for(ComputingResource child: node.getProcessors()){ 29 34 if(child.getPowerInterface() != null){ 30 35 child.getPowerInterface().setPowerState(state); … … 39 44 } 40 45 41 node.handleEvent(new EnergyEvent(EnergyEventType.POWER_STATE_CHANGED, node.getFullName()));46 node.handleEvent(new ResourceEvent(ResourceEventType.POWER_STATE_CHANGED, node.getFullName())); 42 47 43 48 //node.handleEvent(new EnergyEvent(EnergyEventType.POWER_STATE_CHANGED, computingNode.getName())); … … 48 53 49 54 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()));*/ 50 58 setPowerState(StandardPowerStateName.ON); 51 59 } 52 60 53 61 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()));*/ 54 65 setPowerState(StandardPowerStateName.OFF); 55 66 } 56 67 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 } 57 83 58 84 -
DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/power/ui/ProcessorPowerInterface.java
r1299 r1415 6 6 import schedframe.resources.ResourceStatus; 7 7 import schedframe.resources.computing.ComputingResource; 8 import schedframe.resources.computing.profiles.energy. EnergyEvent;9 import schedframe.resources.computing.profiles.energy. EnergyEventType;8 import schedframe.resources.computing.profiles.energy.ResourceEvent; 9 import schedframe.resources.computing.profiles.energy.ResourceEventType; 10 10 import schedframe.resources.computing.profiles.energy.power.PState; 11 11 import schedframe.resources.computing.profiles.energy.power.PowerProfile; … … 33 33 resource.setStatus(ResourceStatus.FREE); 34 34 } 35 resource.handleEvent(new EnergyEvent(EnergyEventType.POWER_STATE_CHANGED, resource.getFullName()));35 resource.handleEvent(new ResourceEvent(ResourceEventType.POWER_STATE_CHANGED, resource.getFullName())); 36 36 } 37 37 … … 67 67 //speed.setAmount(Double.valueOf(currentPState.getFrequency()).intValue()); 68 68 //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())); 70 70 //resource.getScheduler().sendInternal(GridSimTags.SCHEDULE_NOW, DCWormsTags.UPDATE, resource.getName()); 71 71 -
DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/load/LoadExtension.java
r1285 r1415 7 7 import schedframe.resources.computing.extensions.ExtensionException; 8 8 import schedframe.resources.computing.extensions.ExtensionType; 9 import schedframe.resources.computing.profiles.energy. EnergyEvent;10 import schedframe.resources.computing.profiles.energy. EnergyEventType;9 import schedframe.resources.computing.profiles.energy.ResourceEvent; 10 import schedframe.resources.computing.profiles.energy.ResourceEventType; 11 11 import schedframe.resources.computing.profiles.load.ui.LoadInterface; 12 12 import schedframe.resources.devices.PhysicalResource; … … 29 29 if(loadProfile == null || loadProfile.getLoadEstimationPlugin() == null) 30 30 return false; 31 if(event.getType().getName().equals( EnergyEventType.POWER_STATE_CHANGED.getName()))31 if(event.getType().getName().equals(ResourceEventType.POWER_STATE_CHANGED.getName())) 32 32 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())) 34 34 return true; 35 else if(event.getType().getName().equals( EnergyEventType.TASK_STARTED.getName()))35 else if(event.getType().getName().equals(ResourceEventType.TASK_STARTED.getName())) 36 36 return true; 37 else if(event.getType().getName().equals( EnergyEventType.TASK_FINISHED.getName()))37 else if(event.getType().getName().equals(ResourceEventType.TASK_FINISHED.getName())) 38 38 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())) 40 40 return true; 41 41 else return false; … … 44 44 public void handleEvent(Event event) { 45 45 46 EnergyEvent enEvent = (EnergyEvent)event;46 ResourceEvent enEvent = (ResourceEvent)event; 47 47 double load = 0; 48 48 try{ … … 54 54 break; 55 55 56 case FREQUENCY_CHANGED:56 case CPU_FREQUENCY_CHANGED: 57 57 load = loadProfile.getLoadEstimationPlugin().estimateUtlization(enEvent, new JobRegistryImpl(resource.getFullName()), resource); 58 58 loadProfile.addToLoadHistory(load); … … 69 69 break; 70 70 71 case RESOURCE_UTILIZATION_CHANGED:71 case UTILIZATION_CHANGED: 72 72 load = loadProfile.getLoadEstimationPlugin().estimateUtlization(enEvent, new JobRegistryImpl(resource.getFullName()), resource); 73 73 loadProfile.addToLoadHistory(load); -
DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/load/plugin/LoadEstimationPlugin.java
r1285 r1415 2 2 3 3 import schedframe.Plugin; 4 import schedframe.resources.computing.profiles.energy. EnergyEvent;4 import schedframe.resources.computing.profiles.energy.ResourceEvent; 5 5 import schedframe.resources.devices.PhysicalResource; 6 6 import schedframe.scheduling.manager.tasks.JobRegistry; … … 8 8 public interface LoadEstimationPlugin extends Plugin { 9 9 10 public double estimateUtlization( EnergyEvent event, JobRegistry jobRegistry, PhysicalResource resource);10 public double estimateUtlization(ResourceEvent event, JobRegistry jobRegistry, PhysicalResource resource); 11 11 12 12
Note: See TracChangeset
for help on using the changeset viewer.