Ignore:
Timestamp:
04/12/12 14:52:29 (13 years ago)
Author:
piontek
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • xssim/branches/tpiontek/src/example/localplugin/FCFSPreferedRandomClusterLocalPlugin.java

    r256 r257  
    3131        private boolean init = true; 
    3232         
     33        int scenario = 1; 
     34        String prefered = null; 
     35         
    3336        public FCFSPreferedRandomClusterLocalPlugin() { 
    3437                rand = new Random(5); 
     
    3740        public SchedulingPlanInterfaceNew schedule(SchedulingEvent event, QueueList queues, JobRegistryInterface jobRegistry, 
    3841                         ResourceManagerInterface resManager, ModuleList modules) { 
    39                  
    40                 int scenario = 1; 
    4142                 
    4243                ClusterResourceManager resourceManager = (ClusterResourceManager) resManager; 
     
    7172                                if (task.getStatus() == Gridlet.READY) { 
    7273                                         
    73                                         ComputingNode node = chooseRandomProvider(resourceManager, task); 
     74                                        ComputingNode node = chooseRandomProvider(resourceManager, ResourceStatus.FREE, task); 
    7475                                         
    7576                                        if (node != null) { 
     
    8485                                                case 1: break; 
    8586                                                case 2: 
    86                                                         findSuitableNodes( "", getCpuRequest(task), ResourceStatus.UNAVAILABLE, resourceManager.getComputingNodes()); 
     87                                                        //ComputingNode node = chooseRandomProvider(resourceManager, ResourceStatus.UNAVAILABLE, task); 
    8788                                                        break; 
    8889                                                } 
    8990                                        } 
    90                                          
    91                                          
    9291                                } 
    9392                        } 
     
    156155        } 
    157156         
    158         private ComputingNode chooseRandomProvider(ClusterResourceManager resourceManager, TaskInterface<?> task) { 
     157        private ComputingNode chooseRandomProvider(ClusterResourceManager resourceManager, ResourceStatus status, TaskInterface<?> task) { 
    159158                 
    160159                int cpuRequest = getCpuRequest(task); 
     
    164163                String prefered = null; 
    165164                 
    166                 nodes = findSuitableNodes(prefered, cpuRequest, ResourceStatus.FREE, resourceManager.getComputingNodes()); 
     165                nodes = findSuitableNodes(prefered, cpuRequest, status, resourceManager.getComputingNodes()); 
    167166                if( nodes.size() > 0) 
    168167                {        
     
    179178                if( prefered != null) 
    180179                {        
    181                         if( prefered.equals("A")) 
    182                                 prefered = "B"; 
    183                         else 
    184                                 prefered = "A"; 
    185                          
    186                         nodes = findSuitableNodes(prefered, cpuRequest, ResourceStatus.FREE, resourceManager.getComputingNodes()); 
     180                        nodes = findSuitableNodes( getUnprefered(), cpuRequest, status, resourceManager.getComputingNodes()); 
    187181                        if( nodes.size() > 0) 
    188182                        {        
     
    214208                return cpus.subList(0, cpuRequest); 
    215209        } 
     210         
     211        private String getUnprefered() 
     212        { 
     213                if( prefered.equals("A")) 
     214                        return "B"; 
     215                 
     216                if( prefered.equals("B")) 
     217                        return "A"; 
     218                 
     219                return null; 
     220        } 
    216221 
    217222} 
Note: See TracChangeset for help on using the changeset viewer.