Dedicated heterogeneous node scheduling including backfill scheduling
First Claim
1. A method for job scheduling in a dedicated heterogeneous multi-node computing environment, the method comprising:
- grouping the nodes into homogeneous node sub-pools each comprising nodes of equal capacity;
for each sub-pool, creating a corresponding free node schedule which charts a number of free nodes in the sub-pool over time;
receiving a plurality of jobs to be scheduled;
ordering the jobs by job priority;
for each job in order of job priority,(a) identifying a conforming sub-pool set comprising conforming nodes of sufficient capacity suitable for use by the job,(b) determining an earliest available time range from the free node schedule(s) of the conforming sub-pool set, where the earliest available time range has a sufficient duration and a sufficient number of conforming free nodes to complete the job, and(c) scheduling the job for execution in the earliest available time range; and
executing the jobs at their respective earliest available time ranges.
4 Assignments
0 Petitions
Accused Products
Abstract
A method and system for job backfill scheduling dedicated heterogeneous nodes in a multi-node computing environment. Heterogeneous nodes are grouped into homogeneous node sub-pools. For each sub-pool, a free node schedule (FNS) is created so that the number of to chart the free nodes over time. For each prioritized job, using the FNS of sub-pools having nodes useable by a particular job, to determine the earliest time range (ETR) capable of running the job. Once determined for a particular job, scheduling the job to run in that ETR. If the ETR determined for a lower priority job (LPJ) has a start time earlier than a higher priority job (HPJ), then the LPJ is scheduled in that ETR if it would not disturb the anticipated start times of any HPJ previously scheduled for a future time. Thus, efficient utilization and throughput of such computing environments may be increased by utilizing resources otherwise remaining idle.
99 Citations
20 Claims
-
1. A method for job scheduling in a dedicated heterogeneous multi-node computing environment, the method comprising:
-
grouping the nodes into homogeneous node sub-pools each comprising nodes of equal capacity; for each sub-pool, creating a corresponding free node schedule which charts a number of free nodes in the sub-pool over time; receiving a plurality of jobs to be scheduled; ordering the jobs by job priority; for each job in order of job priority, (a) identifying a conforming sub-pool set comprising conforming nodes of sufficient capacity suitable for use by the job, (b) determining an earliest available time range from the free node schedule(s) of the conforming sub-pool set, where the earliest available time range has a sufficient duration and a sufficient number of conforming free nodes to complete the job, and (c) scheduling the job for execution in the earliest available time range; and executing the jobs at their respective earliest available time ranges. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for job scheduling in a dedicated heterogeneous multi-node computing environment, the method comprising:
-
grouping the nodes into homogeneous node sub-pools each comprising nodes of equal capacity; for each sub-pool, creating a corresponding free node schedule which charts the number of free nodes in the sub-pool over time, each free node schedule comprising at least one entry having a timestamp value specifying an end time of a corresponding time slot, and a scalar value specifying the number of free nodes in the corresponding sub-pool during the time slot; receiving a plurality of jobs to be scheduled; ordering the jobs by job priority; for each job in order of job priority, (a) identifying a conforming sub-pool set comprising conforming nodes of sufficient capacity suitable for use by the job, (b) determining an earliest available time range from the free node schedule(s) of the conforming sub-pool set, where the earliest available time range has a sufficient duration and a sufficient number of conforming free nodes to complete the job, and (c) scheduling the job for execution in the earliest available time range; and executing the jobs at their respective earliest available time ranges. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A method for job scheduling in a dedicated heterogeneous multi-node computing environment, the method comprising:
-
grouping the nodes into homogeneous node sub-pools each comprising nodes of equal capacity; for each sub-pool, creating a corresponding free node schedule which charts a number of free nodes in the sub-pool over time; receiving a plurality of jobs to be scheduled; ordering the jobs by job priority; for each job in order of job priority, (a) identifying a conforming sub-pool set comprising conforming nodes of sufficient capacity suitable for use by the job, (b) determining an earliest available time range from the free node schedule(s) of the conforming sub-pool set, where the earliest available time range has a sufficient duration and a sufficient number of conforming free nodes to complete the job, and (c) scheduling the job for execution in the earliest available time range, including, (1) upon a determination that the earliest available time range of the job starts at a present time, presently scheduling the job for immediate execution by allocating as many conforming free nodes to the job as required thereby in order of increasing node capacity starting with the conforming free nodes of a lowest order conforming sub-pool, (2) upon a determination that the earliest available time range of the job starts at a future time, pseudo-scheduling the job for future execution by marking for dedication to the job as many conforming free nodes in the earliest available time range as required by the job, in order of increasing node capacity starting with the conforming free nodes of a lowest order conforming sub-pool, and (3) upon a determination that a start time of an earliest available time range of a lower priority job to be scheduled occurs prior to a future start time of an earliest available time range of at least one of a set of higher priority jobs previously pseudo-scheduled for future execution, backfill scheduling the lower priority job for execution starting ahead of the future start time of the at least one of the set of higher priority jobs, whereby anticipated future start times of the previously pseudo-scheduled set of higher priority jobs are not delayed by the backfill scheduling; and executing the jobs at their respective earliest available time ranges.
-
-
18. A computer system for job scheduling in a dedicated heterogeneous node computer environment, the computer system comprising:
-
a data mining component that discovers the nodes and node capacities in the scheduling environment; a node grouping component that groups the discovered nodes into homogeneous node sub-pools each comprising nodes of equal capacity; a free node schedule forming component that creates for each sub-pool a corresponding free node schedule which charts a number of free nodes in the corresponding sub-pool over time; a user interface for receiving a plurality of jobs to be scheduled; an ordering component for ordering the jobs by job priority; a job analyzing component that, for each job in order of job priority, (a) identifies a conforming sub-pool set comprising conforming nodes of sufficient capacity suitable for use by the job, and (b) determines an earliest available time range from the free node schedule(s) of the conforming sub-pool set, where the earliest available time range has a sufficient duration and a sufficient number of conforming free nodes to complete the job; and a job scheduling component for scheduling each job for execution in the respective earliest available time range.
-
-
19. A computer-readable medium containing instructions for controlling a computer system to schedule jobs in a dedicated heterogeneous multi-node computing environment, by:
-
grouping the nodes into homogeneous node sub-pools each comprising nodes of equal capacity; for each sub-pool, creating a corresponding free node schedule which charts a number of free nodes in the sub-pool over time; receiving a plurality of jobs to be scheduled; ordering the jobs by job priority; for each job in order of job priority, (a) identifying a conforming sub-pool set comprising conforming nodes of sufficient capacity suitable for use by the job, (b) determining an earliest available time range from the free node schedule(s) of the conforming sub-pool set, where the earliest available time range has a sufficient duration and a sufficient number of conforming free nodes to complete the job, and (c) scheduling the job for execution in the earliest available time range; and executing the jobs at their respective earliest available time ranges.
-
-
20. A computer-readable medium containing instructions for controlling a computer system to schedule jobs in a dedicated heterogeneous multi-node computing environment, by:
-
grouping the nodes into homogeneous node sub-pools each comprising nodes of equal capacity; for each sub-pool, creating a corresponding free node schedule which charts a number of free nodes in the sub-pool over time; receiving a plurality of jobs to be scheduled; ordering the jobs by job priority; for each job in order of job priority, (a) identifying a conforming sub-pool set comprising conforming nodes of sufficient capacity suitable for use by the job, (b) determining an earliest available time range from the free node schedule(s) of the conforming sub-pool set, where the earliest available time range has a sufficient duration and a sufficient number of conforming free nodes to complete the job, and (c) scheduling the job for execution in the earliest available time range, including, (1) upon a determination that the earliest available time range of the job starts at a present time, presently scheduling the job for immediate execution by allocating as many conforming free nodes to the job as required thereby in order of increasing node capacity starting with the conforming free nodes of a lowest order conforming sub-pool, (2) upon a determination that the earliest available time range of the job starts at a future time, pseudo-scheduling the job for future execution by marking for dedication to the job as many conforming free nodes in the earliest available time range as required by the job, in order of increasing node capacity starting with the conforming free nodes of a lowest order conforming sub-pool, and (3) upon a determination that a start time of an earliest available time range of a lower priority job to be scheduled occurs prior to a future start time of an earliest available time range of at least one of a set of higher priority jobs previously pseudo-scheduled for future execution, backfill scheduling the lower priority job for execution starting ahead of the future start time of the at least one of the set of higher priority jobs, whereby anticipated future start times of the previously pseudo-scheduled set of higher priority jobs are not delayed by the backfill scheduling; and executing the jobs at their respective earliest available time ranges.
-
Specification