Changeset 490 for DCWoRMS/trunk/src/dcworms/schedframe/scheduling
- Timestamp:
- 10/09/12 13:58:06 (13 years ago)
- Location:
- DCWoRMS/trunk/src/dcworms
- Files:
-
- 5 added
- 1 deleted
- 3 edited
- 6 copied
Legend:
- Unmodified
- Added
- Removed
-
DCWoRMS/trunk/src/dcworms/schedframe/scheduling/ExecTask.java
r481 r490 1 package gssim.schedframe.scheduling;1 package dcworms.schedframe.scheduling; 2 2 3 3 import java.util.List; … … 11 11 public Object getExpectedSpecificResource(ResourceParameterName resourceName); 12 12 13 public void visitResource(String resName);13 public void trackResource(String resName); 14 14 public List<String> getVisitedResources(); 15 15 } -
DCWoRMS/trunk/src/dcworms/schedframe/scheduling/Executable.java
r481 r490 1 package gssim.schedframe.scheduling;1 package dcworms.schedframe.scheduling; 2 2 3 3 … … 15 15 import org.joda.time.ReadableDuration; 16 16 17 17 18 import schedframe.resources.computing.ComputingResource; 18 19 import schedframe.resources.units.ProcessingElements; 19 20 import schedframe.resources.units.StandardResourceUnitName; 20 21 import schedframe.scheduling.ResourceHistoryItem; 21 import schedframe.scheduling.UsedResource List;22 import schedframe.scheduling.UsedResourcesList; 22 23 import schedframe.scheduling.WorkloadUnitHandler; 23 24 import schedframe.scheduling.manager.tasks.JobRegistryImpl; … … 47 48 //TO DO remove and benefit from visitedResources 48 49 protected String schedName; 49 protected UsedResource List<ResourceHistoryItem>usedResources;50 protected UsedResourcesList usedResources; 50 51 //TO DO consider removing 51 52 protected List<String> visitedResources; … … 61 62 this.status = DCWormsTags.CREATED; 62 63 63 this.usedResources = new UsedResource List<ResourceHistoryItem>();64 this.usedResources = new UsedResourcesList(); 64 65 this.visitedResources = new ArrayList<String>(); 65 66 init(); … … 71 72 this.processesSetId = procesesSet.getId(); 72 73 73 this.usedResources = new UsedResource List<ResourceHistoryItem>();74 this.usedResources = new UsedResourcesList(); 74 75 this.visitedResources = new ArrayList<String>(); 75 76 init(); … … 77 78 78 79 protected void init() { 79 double currentTime = 80 double currentTime = DateTimeUtilsExt.getDateTimeAt(arrivalTime).getMillis() / 1000; 80 81 this.submissionTime = currentTime; 81 82 this.totalCompletionTime = 0.0; … … 157 158 } 158 159 159 if (newStatus < DCWormsTags.CREATED || newStatus > DCWormsTags.FAILED_RESOURCE_UNAVAILABLE) 160 { 161 throw new Exception("Gridlet.setGridletStatus() : Error - " + 162 "Invalid integer range for Gridlet status."); 160 if (newStatus < DCWormsTags.CREATED || newStatus > DCWormsTags.FAILED_RESOURCE_UNAVAILABLE) { 161 throw new Exception("Executable.setStatuts() : Error - " + 162 "Invalid integer range for Execiutable status."); 163 163 } 164 164 … … 175 175 } 176 176 177 if (prevStatus == DCWormsTags.INEXEC) 178 { 179 177 if (prevStatus == DCWormsTags.INEXEC) { 180 178 if (status == DCWormsTags.CANCELED || status == DCWormsTags.PAUSED || 181 status == DCWormsTags.SUCCESS) 182 { 179 status == DCWormsTags.SUCCESS) { 183 180 totalCompletionTime += (currentTime - execStartTime); 184 181 } 185 182 } 186 183 187 if (prevStatus == DCWormsTags.RESUMED && status == DCWormsTags.SUCCESS) 188 { 184 if (prevStatus == DCWormsTags.RESUMED && status == DCWormsTags.SUCCESS) { 189 185 totalCompletionTime += (currentTime - execStartTime); 190 186 } 191 187 192 188 if (status == DCWormsTags.INEXEC || 193 (prevStatus == DCWormsTags.PAUSED && status == DCWormsTags.RESUMED) ) 194 { 189 (prevStatus == DCWormsTags.PAUSED && status == DCWormsTags.RESUMED) ) { 195 190 execStartTime = currentTime; 191 196 192 ProcessingElements pes = (ProcessingElements) getUsedResources().getLast().getResourceUnits().get(StandardResourceUnitName.PE); 197 193 for (ComputingResource resource : pes) { 198 194 199 visitResource(resource.getName()); 195 trackResource(resource.getName()); 196 200 197 ComputingResource parent = resource.getParent(); 201 202 198 List<String> visitedResource = getVisitedResources(); 203 while (parent != null && !ArrayUtils.contains(visitedResource.toArray(new String[visitedResource.size()]), parent.getName())) { 204 visitResource(parent.getName()); 199 String [] visitedResourcesArray = visitedResource.toArray(new String[visitedResource.size()]); 200 while (parent != null && !ArrayUtils.contains(visitedResourcesArray, parent.getName())) { 201 trackResource(parent.getName()); 205 202 parent = parent.getParent(); 206 203 } … … 254 251 } 255 252 256 public UsedResource List<ResourceHistoryItem>getUsedResources(){253 public UsedResourcesList getUsedResources(){ 257 254 return this.usedResources; 258 255 } … … 284 281 } 285 282 286 public void visitResource(String resName){283 public void trackResource(String resName){ 287 284 visitedResources.add(resName); 288 285 } … … 346 343 return execStartTime - submissionTime; 347 344 } 348 349 345 350 346 public void finalizeExecutable(){ 351 347 try { 348 setStatus(DCWormsTags.SUCCESS); 349 } catch (Exception e) { 350 // TODO Auto-generated catch block 351 e.printStackTrace(); 352 } 352 353 } 353 354 -
DCWoRMS/trunk/src/dcworms/schedframe/scheduling/plugin/local/DCWormsTimeOperations.java
r481 r490 1 package gssim.schedframe.scheduling.plugin.local;1 package dcworms.schedframe.scheduling.plugin.local; 2 2 3 3 import org.joda.time.DateTime; -
DCWoRMS/trunk/src/dcworms/schedframe/scheduling/queues/AbstractStatsSupportingQueue.java
r477 r490 1 package gssim.schedframe.scheduling.queues;1 package dcworms.schedframe.scheduling.queues; 2 2 3 3 import java.util.ArrayList; -
DCWoRMS/trunk/src/dcworms/schedframe/scheduling/utils/JobDescription.java
r477 r490 1 package gssim.schedframe.scheduling.utils;1 package dcworms.schedframe.scheduling.utils; 2 2 3 3 import java.io.StringReader; -
DCWoRMS/trunk/src/dcworms/schedframe/scheduling/utils/TaskDescription.java
r477 r490 1 package gssim.schedframe.scheduling.utils;1 package dcworms.schedframe.scheduling.utils; 2 2 3 3 import java.io.StringReader;
Note: See TracChangeset
for help on using the changeset viewer.