Ignore:
Timestamp:
02/04/13 04:22:09 (12 years ago)
Author:
wojtekp
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • DCWoRMS/trunk/src/schedframe/scheduling/policy/local/LocalManagementSystem.java

    r767 r822  
    100100 
    101101                int tag = ev.get_tag(); 
    102                 Object obj; 
    103102 
    104103                switch (tag) { 
     
    130129 
    131130                case DCWormsTags.TASK_EXECUTION_FINISHED: 
    132                         obj = ev.get_data(); 
    133                         execTask = (ExecTask) obj; 
     131                        execTask = (ExecTask) ev.get_data(); 
    134132                        if (execTask.getStatus() == DCWormsTags.INEXEC) { 
    135133                                 
     
    153151                         
    154152                case DCWormsTags.TASK_REQUESTED_TIME_EXPIRED: 
    155                         obj = ev.get_data(); 
    156                         execTask = (Executable) obj; 
     153                        execTask = (Executable) ev.get_data(); 
    157154                        if (pluginSupportsEvent(tag)) { 
    158155                                SchedulingEvent event = new TaskRequestedTimeExpiredEvent(execTask.getJobId(), execTask.getId()); 
     
    163160                        break; 
    164161                         
    165                 case DCWormsTags.UPDATE: 
     162                case DCWormsTags.UPDATE_PROCESSING: 
    166163                        updateProcessingTimes(ev); 
     164                        break; 
     165                         
     166                case DCWormsTags.PHASE_CHANGED: 
     167                        execTask = (ExecTask) ev.get_data(); 
     168                        //updatePhases(execTask); 
    167169                        break; 
    168170                } 
     
    216218                boolean allocationStatus = getAllocationManager().allocateResources(choosenResources); 
    217219                if(allocationStatus == false){ 
    218                         log.info("Task " + task.getJobId() + "_" + task.getId() + " requires more resources than is availiable at this moment."); 
     220                        log.info("Task " + task.getJobId() + "_" + task.getId() + " requires more resources than is available at this moment."); 
    219221                        return; 
    220222                } 
     
    241243                        e.printStackTrace(); 
    242244                } 
     245                 
     246                //updatePhases(exec); 
    243247                scheduler.sendInternal(time, DCWormsTags.TASK_EXECUTION_FINISHED, exec); 
    244248 
     
    349353                        Executable exec = (Executable)task; 
    350354                        //exec.setCompletionPercentage(exec.getCompletionPercentage() + 100 * timeSpan/exec.getEstimatedDuration()); 
    351                         exec.setCompletionPercentage(exec.getCompletionPercentage() + (100 - exec.getCompletionPercentage())  * timeSpan/(exec.getEstimatedDuration() - new DateTime().getMillis()/1000 + exec.getExecStartTime() + timeSpan)); 
     355                        exec.setCompletionPercentage(exec.getCompletionPercentage() + (100 - exec.getCompletionPercentage()) * timeSpan/(exec.getEstimatedDuration() - new DateTime().getMillis()/1000 + exec.getExecStartTime() + timeSpan)); 
    352356                         
    353357                        UsedResourcesList usedResourcesList = exec.getUsedResources(); 
     
    366370                                resource.handleEvent(new EnergyEvent(eventType, obj)); 
    367371                        } 
     372                        /*try { 
     373                                for (ComputingResource resource : resourceManager.getResourcesOfType(pes.get(0).getType())) { 
     374                                        resource.handleEvent(new EnergyEvent(eventType, obj)); 
     375                                } 
     376                        } catch (ResourceException e) { 
     377                                // TODO Auto-generated catch block 
     378                                e.printStackTrace(); 
     379                        }*/ 
    368380                } else { 
    369381                        ComputingResource resource = null; 
     
    418430                } 
    419431        }        
     432         
     433         
     434        /*protected void updatePhases(ExecTask execTask) { 
     435                updateProcessingProgress(); 
     436 
     437                if (execTask.getStatus() == DCWormsTags.INEXEC) { 
     438                        Executable exec = (Executable)execTask; 
     439 
     440                        double phaseLength = 0; 
     441                        try{ 
     442                                phaseLength = exec.getResourceConsumptionProfile().getResourceConsumption(exec.getCurrentPhase()).getResourceConsumptionTypeChoice().getPercentage()/100; 
     443                        } catch(Exception e){ 
     444                                ExecTaskFilter filter = new ExecTaskFilter(exec.getUniqueId(), DCWormsTags.TASK_EXECUTION_FINISHED); 
     445                                scheduler.sim_cancel(filter, null); 
     446                                double t = DoubleMath.subtract((exec.getExecStartTime() + exec.getEstimatedDuration()), (new DateTime().getMillis()/1000)); 
     447                                scheduler.sendInternal(t, DCWormsTags.TASK_EXECUTION_FINISHED, execTask); 
     448                                PEUnit peUnit = (PEUnit)exec.getUsedResources().getLast().getResourceUnits().get(StandardResourceUnitName.PE); 
     449                                notifyComputingResources(peUnit, EnergyEventType.RESOURCE_UTILIZATION_CHANGED, exec); 
     450                        } 
     451                        if(phaseLength != 0){                    
     452                                exec.setCurrentPhase(exec.getCurrentPhase() + 1); 
     453                                ExecTaskFilter filter = new ExecTaskFilter(exec.getUniqueId(), DCWormsTags.PHASE_CHANGED); 
     454                                scheduler.sim_cancel(filter, null); 
     455                                scheduler.sendInternal(phaseLength * exec.getEstimatedDuration(), DCWormsTags.PHASE_CHANGED, execTask); 
     456                                PEUnit peUnit = (PEUnit)exec.getUsedResources().getLast().getResourceUnits().get(StandardResourceUnitName.PE); 
     457                                notifyComputingResources(peUnit, EnergyEventType.RESOURCE_UTILIZATION_CHANGED, exec); 
     458                        }  
     459                        System.out.println("===" + exec.getJobId() + ":" + phaseLength); 
     460                } 
     461        }       */ 
    420462 
    421463        public double calculateTotalLoad(int size) { 
Note: See TracChangeset for help on using the changeset viewer.