IP Library Granted Patent US 9,563,470
Granted Patent B2
US 9,563,470 · App. 14/138,239 · Granted Feb 7, 2017

Backfill scheduling for embarrassingly parallel jobs

Inventors: Manish Modani (Ajmer, IN); Giridhar M. Prabhakar (Bangalore, IN); Ravindra R. Sure (Bangalore, IN)
Assignee: International Business Machines Corporation
G06F9/4881G06F2209/483G06F2209/5017
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,563,470
App. No.
14/138,239
Granted
Feb 7, 2017
Kind
B2
Abstract

Backfill scheduling for embarrassingly parallel jobs. A disclosed method includes: receiving an initial schedule having a plurality of jobs scheduled over time on a plurality of nodes, determining that a first job can be split into a plurality of sub-tasks that can respectively be performed in parallel on different nodes, splitting the first job into the plurality of sub-tasks, and moving a first sub-task from its position in the initial schedule to a new position to yield a first revised schedule.

Claims (45)

1. A computer program product comprising software stored on a non-transitory computer storage medium, the software comprising:

first program instructions programmed to receive an initial schedule of jobs, including a plurality of jobs, scheduled over time on a plurality of nodes;

second program instructions programmed to determine that a future job from the plurality of jobs can be split into a plurality of sub-tasks that can respectively be performed in parallel on different nodes, each sub-task of the plurality of sub-tasks being defined individually by corresponding pre-defined durations and corresponding sub-task node counts;

third program instructions programmed to determine a backfill window in the initial schedule of jobs, the backfill window having a window duration and a window node count;

fourth program instructions programmed to separate the future job into the plurality of sub-tasks by their corresponding pre-defined durations;

fifth program instructions programmed to generate a set of backfill sub-tasks from the plurality of sub-tasks based on the corresponding pre-defined durations of each sub-task of the plurality of sub-tasks, each backfill sub-task having a combined pre-defined duration matching the window duration, and having sub-task node counts that match the window node count;

sixth program instructions programmed to remove the future job from the initial schedule of jobs;

seventh program instructions programmed to add the set of backfill sub-tasks into the backfill window to yield a revised schedule of jobs; and

eighth program instructions programmed to execute the plurality of jobs and the set of backfill sub-tasks according to the revised schedule of jobs.

2. The computer program product of claim 1 further comprising:

seventh program instructions programmed to receive job information for the future job including one of the following: a smallest sequential job length, a time required to run the smallest sequential job length, or a number of resources required to execute the smallest sequential job length; and

wherein generating the set of backfill sub-tasks is further based upon the job information.

3. The computer program product of claim 1 wherein:

the pre-defined durations add up to the combined pre-defined duration being less than or equal to the window duration.

4. The computer program product of claim 1 further comprising:

ninth program instructions programmed to combine two or more sub-tasks of the set of backfill sub-tasks into one sub-task having one launch point and one completion point.

5. The computer program product of claim 1 wherein the plurality of sub-tasks are of equal length.

6. The computer program product of claim 1 wherein:

a plurality of backfill windows are identified and the set of backfill sub-tasks are run in the plurality of backfill windows such that at least two backfill sub-tasks are run in is non-contiguous backfill windows.

7. The computer program product of claim 1 , wherein determining the backfill window in the initial schedule of jobs further includes determining a plurality of backfill windows and the set of backfill sub-tasks are run in the plurality of backfill windows such that at least portions of two backfill sub-tasks are run in parallel on parallel nodes.

8. A computer system comprising:

a processor(s) set; and

a software storage device;

wherein:

the processor set is structured, located, connected and/or programmed to run software stored on the software storage device; and

the software comprises:

first program instructions programmed to receive an initial schedule of jobs, including a plurality of jobs, scheduled over time on a plurality of nodes;

second program instructions programmed to determine that a future job from the plurality of jobs can be split into a plurality of sub-tasks that can respectively be performed in parallel on different nodes, each sub-task of the plurality of sub-tasks being defined individually by corresponding pre-defined durations and corresponding sub-task node counts;

third program instructions programmed to determine a backfill window in the initial schedule of jobs, the backfill window having a window duration and a window node count;

fourth program instructions programmed to separate the future job into the plurality of sub-tasks by their corresponding pre-defined durations;

fifth program instructions programmed to generate a set of backfill sub-tasks from the plurality of sub-tasks based on the corresponding pre-defined durations of each sub-task of the plurality of sub-tasks, each backfill sub-task having a combined pre-defined duration matching the window duration, and having sub-task node counts that match the window node count;

sixth program instructions programmed to remove the future job from the initial schedule of jobs;

seventh program instructions programmed to add the set of backfill sub-tasks into the backfill window to yield a revised schedule of jobs; and

eighth program instructions programmed to execute the plurality of jobs and the set of backfill sub-tasks according to the revised schedule of jobs.

9. The computer system of claim 8 further comprising:

ninth program instructions programmed to receive job information for the future job including one of the following: a smallest sequential job length, a time required to run the smallest sequential job length, or a number of resources required to execute the smallest sequential job length; and

wherein generating the set of backfill sub-tasks is further based upon the job information.

10. The computer system of claim 8 wherein:

the pre-defined durations add up to the combined pre-defined duration being less than or equal to the window duration.

11. The computer system of claim 8 further comprising:

ninth program instructions programmed to combine two or more sub-tasks of the set of backfill sub-tasks into one sub-task having one launch point and one completion point.

12. The computer system of claim 8 wherein the plurality of sub-tasks are of equal length.

13. The computer system of claim 8 wherein:

a plurality of backfill windows are identified and the set of backfill sub-tasks are run in the plurality of backfill windows such that at least two backfill sub-tasks are run in is non-contiguous backfill windows.

14. The computer system of claim 8 , wherein determining the backfill window in the initial schedule of jobs further includes determining a plurality of backfill windows and the set of backfill sub-tasks are run in the plurality of backfill windows such that at least portions of two backfill sub-tasks are run in parallel on parallel nodes.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 23, 2013
From: MODANI, MANISH; PRABHAKAR, GIRIDHAR M.; SURE, RAVINDRA R.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 031838/0765 →
Continuity (1)
Related Publication 20150178124A1 · Jun 25, 2015