| US 7,490,325 B2 | ||
| System and method for providing intelligent pre-staging of data in a compute environment | ||
| David Brian Jackson, Spanish Fork, Utah (US) | ||
| Assigned to Cluster Resources, Inc., Provo, Utah (US) | ||
| Appl. No. 10/589,339 PCT Filed Mar. 11, 2005, PCT No. PCT/US2005/008282 § 371(c)(1), (2), (4) Date Aug. 11, 2006, PCT Pub. No. WO2005/089236, PCT Pub. Date Sep. 29, 2005. |
||
| Claims priority of provisional application 60/552653, filed on Mar. 13, 2004. | ||
| Prior Publication US 2007/0294197 A1, Dec. 20, 2007 | ||
| Int. Cl. G06F 9/46 (2006.01); G06F 9/45 (2006.01) | ||
| U.S. Cl. 718—100 [718/102; 718/104; 718/107; 703/22] | 15 Claims |

| 1. A computer-implemented method of performing intelligent data pre-staging for a job submitted to a compute environment,
the method comprising:
determining availability of compute resources in a cluster or grid environment including availability timeframes of the compute
resources to process the submitted job;
determining data requirements for processing the job;
determining a co-allocation in time reservation by:
(1) requesting resources for a first step in the job process based on the determined availability and/or the determined data
requirements;
(2) calculating existing resource guarantees and reservations already in place to create an availability range list;
(3) converting the availability range list into a start range list;
(4) requesting another resource for a next step in the job process and returning to step (2) until all resources for all steps
in the job process are requested;
(5) shifting start ranges in the start range list by an offset and performing an intersection operation on a combination start
range;
(6) shifting the start ranges back by a negative of the offset, wherein resulting information provides when to start each
reservation;
(7) presenting to a user a final list of selectable starting times for a reservation; and
(8) upon receiving a user selection of a reservation start time, establishing a co-allocation in time reservation for resources
for an appropriate start time; and
performing data pre-staging based on the co-allocation in time reservation and prior to processing the job in the compute
environment.
|