Changeset 1440 for DCWoRMS/branches


Ignore:
Timestamp:
09/18/14 17:37:54 (11 years ago)
Author:
wojtekp
Message:
 
Location:
DCWoRMS/branches/coolemall/src
Files:
13 edited

Legend:

Unmodified
Added
Removed
  • DCWoRMS/branches/coolemall/src/example/energy/coolemall/CB1EnergyEstimationPlugin.java

    r1415 r1440  
    5454                 
    5555                if(powerConsumption > powerCapLevel){ 
    56                         DataCenterWorkloadSimulator.getEventManager().sendToAllSchedulers(0, DCWormsTags.POWER_LIMIT_EXCEEDED, null); 
     56                        DataCenterWorkloadSimulator.getEventManager().sendToAllSchedulers(0, DCWormsTags.RESOURCE_POWER_LIMIT_EXCEEDED, null); 
    5757                } 
    5858                else if(powerConsumption < powerUpgradeLevel){ 
    59                         DataCenterWorkloadSimulator.getEventManager().sendToAllSchedulers(0, DCWormsTags.POWER_LIMIT_EXCEEDED, null); 
     59                        DataCenterWorkloadSimulator.getEventManager().sendToAllSchedulers(0, DCWormsTags.RESOURCE_POWER_LIMIT_EXCEEDED, null); 
    6060                } 
    6161                return powerConsumption; 
  • DCWoRMS/branches/coolemall/src/example/localplugin/FCFSBF_RandomPluginWithMigration.java

    r1415 r1440  
    5858                        } 
    5959                        break; 
    60                 case POWER_LIMIT_EXCEEDED: 
     60                case RESOURCE_POWER_LIMIT_EXCEEDED: 
    6161                        String src = event.getSource(); 
    6262                        optimizeEnergyUsage(jobRegistry, resourceManager , src); 
  • DCWoRMS/branches/coolemall/src/example/localplugin/coolemall/computebox2/CB2_FCFS_ConsolidationHighPerf_PowerCapping_SP.java

    r1396 r1440  
    8484                        } 
    8585                        break; 
    86                 case POWER_LIMIT_EXCEEDED: 
     86                case RESOURCE_POWER_LIMIT_EXCEEDED: 
    8787                        powerCap(resManager); 
    8888                        break; 
  • DCWoRMS/branches/coolemall/src/example/localplugin/coolemall/computebox2/CB2_FCFS_ConsolidationLowPower_PowerCapping_SP.java

    r1396 r1440  
    8484                        } 
    8585                        break; 
    86                 case POWER_LIMIT_EXCEEDED: 
     86                case RESOURCE_POWER_LIMIT_EXCEEDED: 
    8787                        powerCap(resManager); 
    8888                        break; 
  • DCWoRMS/branches/coolemall/src/example/localplugin/coolemall/computebox2/CB2_FCFS_Random_PowerCapping_SP.java

    r1415 r1440  
    8888                        } 
    8989                        break; 
    90                 case POWER_LIMIT_EXCEEDED: 
     90                case RESOURCE_POWER_LIMIT_EXCEEDED: 
    9191                        powerCap(resManager); 
    9292                        break; 
  • DCWoRMS/branches/coolemall/src/gridsim/dcworms/DCWormsTags.java

    r1415 r1440  
    3636        public static final int RESOURCE_STATE_CHANGED = DCWORMSBASE + 7; 
    3737         
    38         public static final int POWER_LIMIT_EXCEEDED = DCWORMSBASE + 8; 
     38        public static final int RESOURCE_POWER_STATE_CHANGED = DCWORMSBASE + 8; 
    3939         
    40         public static final int TASK_PAUSE = DCWORMSBASE + 9; 
     40        public static final int RESOURCE_POWER_LIMIT_EXCEEDED = DCWORMSBASE + 9; 
    4141         
    42         public static final int TASK_RESUME = DCWORMSBASE + 10; 
     42        public static final int TASK_PAUSE = DCWORMSBASE + 10; 
    4343         
    44         public static final int TASK_MIGRATE = DCWORMSBASE + 11; 
     44        public static final int TASK_RESUME = DCWORMSBASE + 11; 
     45         
     46        public static final int TASK_MIGRATE = DCWORMSBASE + 12; 
    4547 
    46         public static final int TASK_MOVE = DCWORMSBASE + 12; 
     48        public static final int TASK_MOVE = DCWORMSBASE + 13; 
    4749         
    4850    public static final int CREATED = 0; 
  • DCWoRMS/branches/coolemall/src/schedframe/events/scheduling/SchedulingEventType.java

    r1415 r1440  
    3232 
    3333        RESOURCE_STATE_CHANGED, 
     34        RESOURCE_POWER_STATE_CHANGED, 
    3435         
    35         POWER_LIMIT_EXCEEDED; 
     36        RESOURCE_POWER_LIMIT_EXCEEDED; 
    3637 
    3738         
  • DCWoRMS/branches/coolemall/src/schedframe/resources/computing/ComputingResource.java

    r1432 r1440  
    268268                                } 
    269269                        } 
    270  
    271270                } 
    272271                 
     
    290289                                                break; 
    291290                                        } 
     291                                        case POWER_STATE_CHANGED: { 
     292                                                scheduler.sendInternal(GridSimTags.SCHEDULE_NOW, DCWormsTags.RESOURCE_POWER_STATE_CHANGED, src); 
     293                                                break; 
     294                                        } 
    292295                                } 
    293296 
  • DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/power/ui/ComputingResourcePowerInterface.java

    r1423 r1440  
    1515import schedframe.resources.computing.profiles.energy.power.PowerUsage; 
    1616import schedframe.resources.computing.profiles.energy.power.StandardPowerStateName; 
     17import schedframe.resources.computing.profiles.energy.power.Transition; 
     18import simulator.DataCenterWorkloadSimulator; 
    1719 
    1820public class ComputingResourcePowerInterface implements PowerInterface{ 
     
    2830        } 
    2931         
    30         public boolean setPowerState(PowerStateName state) { 
    31                 if(!supportPowerState(state)) 
     32        public boolean setPowerState(PowerStateName newState) { 
     33                if(!supportPowerState(newState)) 
    3234                        return false; 
    3335                         
    34                 if(state != currentPowerState){ 
    35                         currentPowerState = state; 
     36                if(newState != currentPowerState){ 
    3637 
    37                         for(ComputingResource child:resource.getChildren()){ 
    38                                 if(child.getPowerInterface().supportPowerState(state)){ 
    39                                         child.getPowerInterface().setPowerState(state); 
     38                        Transition t = getTransition(currentPowerState, newState); 
     39                        if(t == null){ 
     40                                currentPowerState = newState; 
     41                        } else{ 
     42                                if(t.getTime() <= 0 ){ 
     43                                        currentPowerState = newState; 
     44                                } else { 
     45                                        currentPowerState = t.getName(); 
     46                                        DataCenterWorkloadSimulator.getEventManager().sendToResource(resource.getFullName(), t.getTime(), new ResourceEvent(ResourceEventType.UPDATE_POWER_STATE, newState, resource.getFullName())); 
    4047                                } 
    4148                        } 
    4249 
    43                         if(state == StandardPowerStateName.OFF){ 
     50                        for(ComputingResource child:resource.getChildren()){ 
     51                                if(child.getPowerInterface() != null){ 
     52                                        child.getPowerInterface().setPowerState(currentPowerState); 
     53                                } 
     54                        } 
     55 
     56                        if(currentPowerState == StandardPowerStateName.OFF || currentPowerState == StandardPowerStateName.POWEROFF || currentPowerState == StandardPowerStateName.BOOT){ 
    4457                                resource.setStatus(ResourceStatus.UNAVAILABLE); 
    4558                        } 
    46                         else if(state == StandardPowerStateName.ON){ 
     59                        else if(currentPowerState == StandardPowerStateName.ON){ 
    4760                                resource.setStatus(ResourceStatus.FREE); 
    4861                        } 
     
    7487                } 
    7588                return false; 
    76                  
    7789        } 
    7890         
     
    114126        } 
    115127 
     128        protected Transition getTransition(PowerStateName from, PowerStateName to){ 
     129                List<PowerState> availablePowerStates = getSupportedPowerStates(); 
     130                Transition transition = null; 
     131                for(PowerState ps : availablePowerStates){ 
     132                        if(ps.getName().getLabel().equals(from.getLabel())){ 
     133                                List<Transition> transitions = ps.getTransitions(); 
     134                                for(Transition t: transitions){ 
     135                                        if(t.getTo().getLabel().equals(to.getLabel())){ 
     136                                                transition = t; 
     137                                                break; 
     138                                        } 
     139                                } 
     140                        } 
     141                } 
     142                return transition; 
     143        } 
    116144} 
  • DCWoRMS/branches/coolemall/src/schedframe/resources/computing/profiles/energy/power/ui/NodePowerInterface.java

    r1431 r1440  
    22 
    33 
    4 import java.util.List; 
    5  
    6  
    7 import schedframe.resources.ResourceStatus; 
    84import schedframe.resources.computing.ComputingResource; 
    9 import schedframe.resources.computing.Node; 
    10 import schedframe.resources.computing.profiles.energy.ResourceEvent; 
    11 import schedframe.resources.computing.profiles.energy.ResourceEventType; 
    125import schedframe.resources.computing.profiles.energy.power.PowerProfile; 
    13 import schedframe.resources.computing.profiles.energy.power.PowerState; 
    14 import schedframe.resources.computing.profiles.energy.power.PowerStateName; 
    156import schedframe.resources.computing.profiles.energy.power.StandardPowerStateName; 
    16 import schedframe.resources.computing.profiles.energy.power.Transition; 
    17 import simulator.DataCenterWorkloadSimulator; 
    187 
    198public class NodePowerInterface extends ComputingResourcePowerInterface{ 
     
    2413        } 
    2514 
    26         public boolean setPowerState(PowerStateName state){ 
    27                 if(!supportPowerState(state)) 
    28                         return false; 
    29                 if(state != currentPowerState){ 
    30                         currentPowerState = state; 
    31                          
    32                         Node node = (Node) resource; 
    33                         for(ComputingResource child: node.getProcessors()){ 
    34                                 if(child.getPowerInterface() != null){ 
    35                                         child.getPowerInterface().setPowerState(state);  
    36                                 } 
    37                         } 
    38  
    39                         if(state == StandardPowerStateName.OFF || state == StandardPowerStateName.POWEROFF || state == StandardPowerStateName.BOOT){ 
    40                                 node.setStatus(ResourceStatus.UNAVAILABLE); 
    41                         } 
    42                         else if(state == StandardPowerStateName.ON ){ 
    43                                 node.setStatus(ResourceStatus.FREE); 
    44                         } 
    45          
    46                         node.handleEvent(new ResourceEvent(ResourceEventType.POWER_STATE_CHANGED, node.getFullName())); 
    47  
    48                         //node.handleEvent(new EnergyEvent(EnergyEventType.POWER_STATE_CHANGED, computingNode.getName())); 
    49                         //ResourceController.traceResource(new DateTime().getMillis(), resource.getFullName(), "POWER_STATE_CHANGED", state.getName());  
    50                 } 
    51                 return true; 
    52         } 
    53  
    5415        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())); 
    58                  */              
    5916                setPowerState(StandardPowerStateName.ON); 
    6017        } 
    6118         
    6219        public void turnOff(){ 
    63                 /*double timePenalty = getTransitionTime(currentPowerState, StandardPowerStateName.OFF); 
    64                 setPowerState(StandardPowerStateName.POWEROFF); 
    65                 DataCenterWorkloadSimulator.getEventManager().sendToResource(resource.getFullName(), timePenalty, new ResourceEvent(ResourceEventType.UPDATE_POWER_STATE, StandardPowerStateName.OFF, resource.getFullName()));*/ 
    6620                setPowerState(StandardPowerStateName.OFF); 
    6721        } 
    6822 
    69         private double getTransitionTime(PowerStateName from, PowerStateName to){ 
    70                 List<PowerState> availablePowerStates = getSupportedPowerStates(); 
    71                 double time = 0; 
    72                 for(PowerState ps : availablePowerStates){ 
    73                         if(ps.getName().getLabel().equals(from.getLabel())){ 
    74                                 List<Transition> transitions = ps.getTransitions(); 
    75                                 for(Transition t: transitions){ 
    76                                         if(t.getTo().getLabel().equals(to)){ 
    77                                                 time = t.getTime(); 
    78                                         } 
    79                                 } 
    80                         } 
    81                 } 
    82                 return time; 
    83         } 
    84  
    85  
    8623} 
  • DCWoRMS/branches/coolemall/src/schedframe/scheduling/policy/AbstractManagementSystem.java

    r1396 r1440  
    124124        } 
    125125 
    126         public boolean pluginSupportsEvent(int eventType){ 
    127                 return true; 
    128         } 
    129  
    130126        public TaskQueueList getQueues(){ 
    131127                return queues; 
  • DCWoRMS/branches/coolemall/src/schedframe/scheduling/policy/global/GlobalManagementSystem.java

    r1415 r1440  
    6060 
    6161                case DCWormsTags.TIMER: 
    62                         if (pluginSupportsEvent(DCWormsTags.TIMER)) { 
    63                                 TimerEvent event = new  TimerEvent(); 
    64                                 SchedulingPlanInterface<?> decision =  schedulingPlugin.schedule(event,  
    65                                                 queues,  jobRegistry, getResourceManager(), moduleList); 
    66                                 executeSchedulingPlan(decision); 
    67                         } 
     62                        TimerEvent event = new  TimerEvent(); 
     63                        SchedulingPlanInterface<?> decision =  schedulingPlugin.schedule(event,  
     64                                        queues,  jobRegistry, getResourceManager(), moduleList); 
     65                        executeSchedulingPlan(decision); 
     66 
    6867                        sendTimerEvent(); 
    6968                        break; 
     
    7271         
    7372        public void notifySubmittedWorkloadUnit(WorkloadUnit wu) { 
    74                 if (!pluginSupportsEvent(GridSimTags.GRIDLET_SUBMIT)) { 
    75                         log.error("Plugin " + schedulingPlugin.getClass() 
    76                                         + " does not provide support for TASK_ARRIVED event.\n" 
    77                                         + "Check plugin configuration or use default one."); 
    78                         return; 
    79                 } 
    8073                registerWorkloadUnit(wu); 
    81  
    8274        } 
    8375         
  • DCWoRMS/branches/coolemall/src/schedframe/scheduling/policy/local/LocalManagementSystem.java

    r1430 r1440  
    9595 
    9696                int tag = ev.get_tag(); 
     97                SchedulingEvent event; 
     98                SchedulingPlanInterface<?> decision; 
    9799                switch (tag) { 
    98  
    99100                case DCWormsTags.TIMER: 
    100                         if (pluginSupportsEvent(tag)) { 
    101                                 SchedulingEvent event = new SchedulingEvent(SchedulingEventType.TIMER); 
    102                                 SchedulingPlanInterface<?> decision =  schedulingPlugin.schedule(event,  
    103                                                 queues, jobRegistry, getResourceManager(), moduleList); 
    104                                 executeSchedulingPlan(decision); 
    105                         } 
     101 
     102                        event = new SchedulingEvent(SchedulingEventType.TIMER); 
     103                        decision =  schedulingPlugin.schedule(event,  
     104                                        queues, jobRegistry, getResourceManager(), moduleList); 
     105                        executeSchedulingPlan(decision); 
     106 
    106107                        sendTimerEvent(); 
    107108                        break; 
     
    111112                        try { 
    112113                                execTask.setStatus(DCWormsTags.READY); 
    113                                 if (pluginSupportsEvent(tag)) { 
    114                                         SchedulingEvent event = new StartTaskExecutionEvent(execTask.getJobId(), execTask.getId()); 
    115                                         SchedulingPlanInterface<?> decision =  schedulingPlugin.schedule(event, 
    116                                                         queues, jobRegistry, getResourceManager(), moduleList); 
    117                                         executeSchedulingPlan(decision); 
    118                                 } 
     114 
     115                                event = new StartTaskExecutionEvent(execTask.getJobId(), execTask.getId()); 
     116                                decision =  schedulingPlugin.schedule(event, 
     117                                                queues, jobRegistry, getResourceManager(), moduleList); 
     118                                executeSchedulingPlan(decision); 
     119 
    119120                        } catch (Exception e) { 
    120121                                e.printStackTrace(); 
     
    128129                                finalizeExecutable(execTask); 
    129130                                sendFinishedWorkloadUnit(execTask); 
    130                                 if (pluginSupportsEvent(tag)) { 
    131                                         SchedulingEvent event = new TaskFinishedEvent(execTask.getJobId(), execTask.getId()); 
    132                                         SchedulingPlanInterface<?> decision = schedulingPlugin.schedule(event, 
    133                                                         queues, jobRegistry, getResourceManager(), moduleList); 
    134                                         executeSchedulingPlan(decision); 
    135                                 } 
     131                                event = new TaskFinishedEvent(execTask.getJobId(), execTask.getId()); 
     132                                decision = schedulingPlugin.schedule(event, 
     133                                                queues, jobRegistry, getResourceManager(), moduleList); 
     134                                executeSchedulingPlan(decision); 
    136135                        } 
    137136 
     
    155154                case DCWormsTags.TASK_REQUESTED_TIME_EXPIRED: 
    156155                        execTask = (Executable) ev.get_data(); 
    157                         if (pluginSupportsEvent(tag)) { 
    158                                 SchedulingEvent event = new TaskRequestedTimeExpiredEvent(execTask.getJobId(), execTask.getId()); 
    159                                 SchedulingPlanInterface<?> decision = schedulingPlugin.schedule(event, 
    160                                                 queues, jobRegistry, getResourceManager(), moduleList); 
    161                                 executeSchedulingPlan(decision); 
    162                         } 
     156                        event = new TaskRequestedTimeExpiredEvent(execTask.getJobId(), execTask.getId()); 
     157                        decision = schedulingPlugin.schedule(event, 
     158                                        queues, jobRegistry, getResourceManager(), moduleList); 
     159                        executeSchedulingPlan(decision); 
    163160                        break; 
    164161                         
     
    167164                        execTask = jobRegistry.getTask(ids[0], ids[1]); 
    168165                        pauseTask(execTask); 
    169                         if (pluginSupportsEvent(tag)) { 
    170                                 SchedulingEvent event = new TaskPausedEvent(ids[0], ids[1]); 
    171                                 SchedulingPlanInterface<?> decision = schedulingPlugin.schedule(event, 
    172                                                 queues, jobRegistry, getResourceManager(), moduleList); 
    173                                 executeSchedulingPlan(decision); 
    174                         } 
    175                 } 
    176                 break; 
     166         
     167                        event = new TaskPausedEvent(ids[0], ids[1]); 
     168                        decision = schedulingPlugin.schedule(event, 
     169                                        queues, jobRegistry, getResourceManager(), moduleList); 
     170                        executeSchedulingPlan(decision); 
     171                        } 
     172                        break; 
    177173                 
    178174                case DCWormsTags.TASK_RESUME:{ 
     
    180176                        execTask = jobRegistry.getTask(ids[0], ids[1]); 
    181177                        resumeTask(execTask, execTask.getAllocatedResources().getLast().getResourceUnits(), true); 
    182                         if (pluginSupportsEvent(tag)) { 
    183                                 SchedulingEvent event = new TaskResumedEvent(ids[0], ids[1]); 
    184                                 SchedulingPlanInterface<?> decision = schedulingPlugin.schedule(event, 
    185                                                 queues, jobRegistry, getResourceManager(), moduleList); 
    186                                 executeSchedulingPlan(decision); 
    187                         } 
    188                 } 
    189                 break; 
     178                        event = new TaskResumedEvent(ids[0], ids[1]); 
     179                        decision = schedulingPlugin.schedule(event, 
     180                                        queues, jobRegistry, getResourceManager(), moduleList); 
     181                        executeSchedulingPlan(decision); 
     182                        } 
     183                        break; 
    190184                 
    191185                case DCWormsTags.TASK_MIGRATE:{ 
     
    195189                                        (String)data[1]), execTask, execTask.getAllocatedResources().getLast().getResourceUnits(), (Map<ResourceUnitName, ResourceUnit>)data[2]); 
    196190                        scheduler.sendInternal(migrationTime, DCWormsTags.TASK_MOVE, data); 
    197                 } 
    198                 break; 
     191                        } 
     192                        break; 
    199193                 
    200194                case DCWormsTags.TASK_MOVE:{ 
     
    202196                        execTask = jobRegistry.getTask((String)data[0], (String)data[1]); 
    203197                        moveTask(execTask, (Map<ResourceUnitName, ResourceUnit>)data[2]); 
    204                         if (pluginSupportsEvent(tag)) { 
    205                                 SchedulingEvent event = new StartTaskExecutionEvent((String)data[0], (String)data[1]); 
    206                                 SchedulingPlanInterface<?> decision = schedulingPlugin.schedule(event, 
    207                                                 queues, jobRegistry, getResourceManager(), moduleList); 
    208                                 executeSchedulingPlan(decision); 
    209                         } 
    210                 } 
    211                 break; 
    212                          
     198 
     199                        event = new StartTaskExecutionEvent((String)data[0], (String)data[1]); 
     200                        decision = schedulingPlugin.schedule(event, 
     201                                        queues, jobRegistry, getResourceManager(), moduleList); 
     202                        executeSchedulingPlan(decision); 
     203                        } 
     204                        break; 
     205                         
     206                case DCWormsTags.RESOURCE_POWER_STATE_CHANGED: 
     207                        event = new SchedulingEvent(SchedulingEventType.RESOURCE_POWER_STATE_CHANGED); 
     208                        decision =  schedulingPlugin.schedule(event,  
     209                                        queues, jobRegistry, getResourceManager(), moduleList); 
     210                        executeSchedulingPlan(decision); 
     211                        break; 
     212 
     213                case DCWormsTags.RESOURCE_POWER_LIMIT_EXCEEDED: 
     214                        event = new SchedulingEvent(SchedulingEventType.RESOURCE_POWER_LIMIT_EXCEEDED); 
     215                        String source; 
     216                        try{ 
     217                                source = ev.get_data().toString(); 
     218                        } catch(Exception e){ 
     219                                source = null; 
     220                        } 
     221                        event.setSource(source); 
     222                        decision = schedulingPlugin.schedule(event, 
     223                                        queues, jobRegistry, getResourceManager(), moduleList); 
     224                        executeSchedulingPlan(decision); 
     225                        break; 
    213226                case DCWormsTags.TASK_EXECUTION_CHANGED: 
    214227                        execTask = (ExecTask) ev.get_data(); 
    215228                        updateTaskExecutionPhase(execTask); 
    216229                        break; 
    217  
    218230                case DCWormsTags.UPDATE_PROCESSING: 
    219231                        updateProcessingTimes(); 
    220232                        break; 
    221233                         
    222                 case DCWormsTags.POWER_LIMIT_EXCEEDED: 
    223                         if (pluginSupportsEvent(tag)) { 
    224                                 SchedulingEvent event = new SchedulingEvent(SchedulingEventType.POWER_LIMIT_EXCEEDED); 
    225                                 String source; 
    226                                 try{ 
    227                                         source = ev.get_data().toString(); 
    228                                 } catch(Exception e){ 
    229                                         source = null; 
    230                                 } 
    231                                 event.setSource(source); 
    232                                 SchedulingPlanInterface<?> decision = schedulingPlugin.schedule(event, 
    233                                                 queues, jobRegistry, getResourceManager(), moduleList); 
    234                                 executeSchedulingPlan(decision); 
    235                         } 
    236                         break; 
    237234                default:                 
    238                          
    239235                        break; 
    240236                } 
     
    301297         
    302298        public void notifyReturnedWorkloadUnit(WorkloadUnit wu) { 
    303                 if (pluginSupportsEvent(DCWormsTags.TASK_EXECUTION_FINISHED)) { 
    304                         SchedulingEvent event = new SchedulingEvent(SchedulingEventType.TASK_FINISHED); 
    305                         SchedulingPlanInterface<?> decision =  schedulingPlugin.schedule(event, 
    306                                         queues, jobRegistry, getResourceManager(), moduleList); 
    307                         executeSchedulingPlan(decision); 
    308                 } 
    309                 //if(scheduler.getParent() != null){ 
    310                         sendFinishedWorkloadUnit(wu); 
    311                 //} 
     299 
     300                SchedulingEvent event = new SchedulingEvent(SchedulingEventType.TASK_FINISHED); 
     301                SchedulingPlanInterface<?> decision =  schedulingPlugin.schedule(event, 
     302                                queues, jobRegistry, getResourceManager(), moduleList); 
     303                executeSchedulingPlan(decision); 
     304 
     305        //if(scheduler.getParent() != null){ 
     306                sendFinishedWorkloadUnit(wu); 
     307        //} 
    312308        } 
    313309         
Note: See TracChangeset for help on using the changeset viewer.