Ignore:
Timestamp:
10/09/12 13:58:06 (13 years ago)
Author:
wojtekp
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • DCWoRMS/trunk/src/schedframe/scheduling/policy/global/GlobalManagementSystem.java

    r481 r490  
    1111import org.qcg.broker.schemas.schedulingplan.types.AllocationStatus; 
    1212 
     13import dcworms.schedframe.scheduling.ExecTask; 
     14import dcworms.schedframe.scheduling.Executable; 
     15 
    1316import qcg.shared.constants.BrokerConstants; 
    14 import schedframe.events.scheduling.SchedulingEvent; 
    1517import schedframe.events.scheduling.TaskArrivedEvent; 
    1618import schedframe.events.scheduling.TimerEvent; 
     19import schedframe.scheduling.TaskListImpl; 
    1720import schedframe.scheduling.WorkloadUnitHandler; 
    18 import schedframe.scheduling.TaskListImpl; 
    1921import schedframe.scheduling.plan.AllocationInterface; 
    2022import schedframe.scheduling.plan.ScheduledTaskInterface; 
     
    3537import gridsim.IO_data; 
    3638import gridsim.gssim.DCWormsTags; 
    37 import gssim.schedframe.scheduling.ExecTask; 
    38 import gssim.schedframe.scheduling.Executable; 
    3939 
    4040public class GlobalManagementSystem extends AbstractManagementSystem { 
     
    8080                 
    8181                registerWorkloadUnit(wu); 
    82                 /*Job job = (Job) wu; 
    83                 jobRegistry.addJob(job); 
    84  
    85                 if (log.isInfoEnabled()) 
    86                         log.info("Received job " + job.getId() + " at " + new DateTime(DateTimeUtilsExt.currentTimeMillis())); 
    87  
    88                 List<JobInterface<?>> jobsList = new ArrayList<JobInterface<?>>(); 
    89                 jobsList.add(job); 
    90                 WorkloadUnitList readyWorkloadUnits = new WorkloadUnitList(); 
    91                 readyWorkloadUnits.addAll(jobRegistry.getReadyTasks(jobsList)); 
    92                 schedulingPlugin.placeJobsInQueues(readyWorkloadUnits, queues, getResourceManager(), moduleList); 
    93  
    94                 schedule(new TaskArrivedEvent());*/ 
    9582 
    9683        } 
     
    10491         
    10592 
    106         protected void scheduleAvaialbleTasks(Job job){ 
     93        protected void schedule(JobInterface<?> job){ 
    10794                List<JobInterface<?>> jobsList = new ArrayList<JobInterface<?>>(); 
    10895                jobsList.add(job); 
     
    11198                 
    11299                schedulingPlugin.placeTasksInQueues(readyTasks, queues, getResourceManager(), moduleList); 
    113                 schedule(new TaskArrivedEvent()); 
    114         } 
    115          
    116         protected void schedule(SchedulingEvent schedulingEvent) { 
    117  
    118100                SchedulingPlanInterface<?> decision = schedulingPlugin.schedule( 
    119                                 schedulingEvent, queues, getJobRegistry(),  getResourceManager(), moduleList); 
     101                                new TaskArrivedEvent(), queues, getJobRegistry(),  getResourceManager(), moduleList); 
    120102                if (decision != null) 
    121103                        executeSchedulingPlan(decision); 
    122104        } 
    123          
     105 
    124106        public void notifyReturnedWorkloadUnit(WorkloadUnit wu) { 
    125107                Executable exec = (Executable) wu; 
     
    133115                try { 
    134116                        Job job = jobRegistry.getJob(exec.getJobId()); 
    135                         /*Task task = job.getTask(exec.getTaskId()); 
     117                        Task task = job.getTask(exec.getTaskId()); 
    136118                        if(exec.getProcessesId() == null){ 
    137119                                try { 
    138120                                        task.setStatus(exec.getStatus()); 
    139121                                } catch (Exception e) { 
    140                                         // TODO Auto-generated catch block 
    141                                         e.printStackTrace(); 
     122 
    142123                                } 
    143124                        } else { 
     
    150131                                        } 
    151132                                } 
    152                         }*/ 
     133                        } 
    153134                         
    154135                        if(job.isFinished()){ 
     
    156137                        } 
    157138                        else { 
    158                                 scheduleAvaialbleTasks(job); 
    159                                 /*List<JobInterface<?>> jobs = new ArrayList<JobInterface<?>>(); 
    160                                 jobs.add(jobRegistry.getJobInfo(job.getId())); 
    161                                 WorkloadUnitList readyWorkloadUnits = new WorkloadUnitList(); 
    162                                 readyWorkloadUnits.addAll(jobRegistry.getReadyTasks(jobs)); 
    163                                 schedulingPlugin.placeJobsInQueues(readyWorkloadUnits, queues, 
    164                                                 getResourceManager(), moduleList); 
    165                                 schedule(new TaskArrivedEvent());*/ 
     139                                schedule(job); 
    166140                        } 
    167141                         
     
    269243                IO_data data = new IO_data(task, 0, resID); 
    270244                scheduler.send(scheduler.getOutputPort(), GridSimTags.SCHEDULE_NOW, GridSimTags.GRIDLET_SUBMIT, data);   
    271                  
    272                 //scheduler.send(providerName, GridSimTags.SCHEDULE_NOW, GridSimTags.GRIDLET_SUBMIT, job);                       
     245                //scheduler.send(providerName, GridSimTags.SCHEDULE_NOW, GridSimTags.GRIDLET_SUBMIT, job);       
     246                 
    273247                if(log.isDebugEnabled()) 
    274248                        log.debug("Submitted job " + task.getId() + " to " + providerName); 
     
    278252        class GlobalWorkloadUnitHandler implements  WorkloadUnitHandler{ 
    279253 
    280                 public void handleJob(Job job){ 
    281  
     254                public void handleJob(JobInterface<?> job){ 
    282255                        if (log.isInfoEnabled()) 
    283256                                log.info("Received job " + job.getId() + " at " + new DateTime(DateTimeUtilsExt.currentTimeMillis())); 
    284257 
    285258                        jobRegistry.addJob(job); 
    286                         scheduleAvaialbleTasks(job); 
     259                        schedule(job); 
    287260                } 
    288261                 
     
    294267                        throw new RuntimeException("Not implemented since it isn't expected that tasks are send directly to the global scheduler."); 
    295268                } 
    296  
    297269        } 
    298270 
Note: See TracChangeset for help on using the changeset viewer.