Changeset 257 for xssim/branches/tpiontek/src/example/localplugin/FCFSPreferedRandomClusterLocalPlugin.java
- Timestamp:
- 04/12/12 14:52:29 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
xssim/branches/tpiontek/src/example/localplugin/FCFSPreferedRandomClusterLocalPlugin.java
r256 r257 31 31 private boolean init = true; 32 32 33 int scenario = 1; 34 String prefered = null; 35 33 36 public FCFSPreferedRandomClusterLocalPlugin() { 34 37 rand = new Random(5); … … 37 40 public SchedulingPlanInterfaceNew schedule(SchedulingEvent event, QueueList queues, JobRegistryInterface jobRegistry, 38 41 ResourceManagerInterface resManager, ModuleList modules) { 39 40 int scenario = 1;41 42 42 43 ClusterResourceManager resourceManager = (ClusterResourceManager) resManager; … … 71 72 if (task.getStatus() == Gridlet.READY) { 72 73 73 ComputingNode node = chooseRandomProvider(resourceManager, task);74 ComputingNode node = chooseRandomProvider(resourceManager, ResourceStatus.FREE, task); 74 75 75 76 if (node != null) { … … 84 85 case 1: break; 85 86 case 2: 86 findSuitableNodes( "", getCpuRequest(task), ResourceStatus.UNAVAILABLE, resourceManager.getComputingNodes());87 //ComputingNode node = chooseRandomProvider(resourceManager, ResourceStatus.UNAVAILABLE, task); 87 88 break; 88 89 } 89 90 } 90 91 92 91 } 93 92 } … … 156 155 } 157 156 158 private ComputingNode chooseRandomProvider(ClusterResourceManager resourceManager, TaskInterface<?> task) {157 private ComputingNode chooseRandomProvider(ClusterResourceManager resourceManager, ResourceStatus status, TaskInterface<?> task) { 159 158 160 159 int cpuRequest = getCpuRequest(task); … … 164 163 String prefered = null; 165 164 166 nodes = findSuitableNodes(prefered, cpuRequest, ResourceStatus.FREE, resourceManager.getComputingNodes());165 nodes = findSuitableNodes(prefered, cpuRequest, status, resourceManager.getComputingNodes()); 167 166 if( nodes.size() > 0) 168 167 { … … 179 178 if( prefered != null) 180 179 { 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()); 187 181 if( nodes.size() > 0) 188 182 { … … 214 208 return cpus.subList(0, cpuRequest); 215 209 } 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 } 216 221 217 222 }
Note: See TracChangeset
for help on using the changeset viewer.