- Timestamp:
- 06/06/14 10:48:32 (11 years ago)
- Location:
- DCWoRMS/branches/coolemall/src/schedframe/scheduling/manager/resources
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
DCWoRMS/branches/coolemall/src/schedframe/scheduling/manager/resources/LocalResourceManager.java
r1374 r1377 29 29 import schedframe.resources.units.StandardResourceUnitName; 30 30 import schedframe.scheduling.Scheduler; 31 import schedframe.scheduling.plugin.local.ResourceAllocation;32 31 33 32 … … 297 296 } 298 297 299 public boolean allocateResources(Map<ResourceUnitName, ResourceUnit> resources) { 298 299 public boolean allocateResources(Map<ResourceUnitName, ResourceUnit> resources, boolean exclusive) { 300 300 301 301 if (resources == null) { … … 303 303 } 304 304 305 for(ResourceUnitName resUnitName: resources.keySet()){ 306 ResourceUnit resUnit = resources.get(resUnitName); 307 resUnit.getProvisioner().setState(ResourceUnitState.BUSY); 308 } 309 return true; 310 } 311 312 313 public void freeResources(Map<ResourceUnitName, ResourceUnit> resources) { 305 if(exclusive){ 306 for(ResourceUnitName resUnitName: resources.keySet()){ 307 ResourceUnit resUnit = resources.get(resUnitName); 308 if(resUnit.getName().getName().equals(StandardResourceUnitName.PE.getName())){ 309 ProcessingElements pe = (ProcessingElements)resUnit; 310 for(ComputingResource cr: pe){ 311 if(cr.getStatus().equals(ResourceStatus.BUSY)){ 312 return false; 313 } 314 } 315 } 316 resUnit.getProvisioner().setState(ResourceUnitState.BUSY); 317 } 318 319 return true; 320 } else { 321 for(ResourceUnitName resUnitName: resources.keySet()){ 322 ResourceUnit resUnit = resources.get(resUnitName); 323 resUnit.getProvisioner().setState(ResourceUnitState.BUSY); 324 } 325 return true; 326 } 327 } 328 329 public void freeResources(Map<ResourceUnitName, ResourceUnit> resources, boolean exclusive) { 314 330 315 331 for(ResourceUnitName resUnitName: resources.keySet()){ -
DCWoRMS/branches/coolemall/src/schedframe/scheduling/manager/resources/ResourceAllocation.java
r477 r1377 1 1 package schedframe.scheduling.manager.resources; 2 2 3 import java.util. List;3 import java.util.Map; 4 4 5 import schedframe.resources.computing.ComputingResource; 5 import schedframe.resources.units.ResourceUnit; 6 import schedframe.resources.units.ResourceUnitName; 6 7 7 8 public interface ResourceAllocation { 8 public void allocateResources(List<ComputingResource> resources); 9 10 /** 11 * Allocates resource units( marks as used) on the basis of given resource 12 * units. 13 * 14 * @param freeRes 15 * resource units to be consumed 16 * @param exclusive 17 * allocate resources in exclusive mode 18 */ 19 public boolean allocateResources(Map<ResourceUnitName, ResourceUnit> freeRes, boolean exclusive); 9 20 21 /** 22 * Frees given resource units. 23 * 24 * @param lastUsedResources 25 * resource units to be free 26 * @param exclusive 27 * free resources allocated in exclusive mode 28 */ 29 public void freeResources(Map<ResourceUnitName, ResourceUnit> lastUsedResources, boolean exclusive); 10 30 11 public void freeResources(List<ComputingResource> resources);12 31 13 32 }
Note: See TracChangeset
for help on using the changeset viewer.