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
OG exemplary drawing
 
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.