IP Library › Granted Patent US 9,477,529
Granted Patent B2
US 9,477,529 · App. 13/528,571 · Granted Oct 25, 2016

Job distributed within a grid environment using mega-host groupings of execution hosts based on resource attributes

Inventors: Chong Chen (Richmond Hill, CA); Fang Liu (Beijing, CN); Qi Wang (Markham, CA); Shutao Yuan (Richmond Hill, CA)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F9/5072G06F9/5044G06F9/5061G06F9/4881G06F9/505G06F2209/505G06F2209/5012H04L67/1002
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,477,529
App. No.
13/528,571
Granted
Oct 25, 2016
Kind
B2
Abstract

According to one aspect of the present disclosure, a method and technique for job distribution within a grid environment is disclosed. The method includes: receiving jobs at a submission cluster for distribution of the jobs to at least one of a plurality of execution clusters, each execution cluster comprising one or more execution hosts; determining resource attributes corresponding to each execution host of the execution clusters; grouping, for each execution cluster, execution hosts based on the resource attributes of the respective execution hosts; defining, for each grouping of execution hosts, a mega-host for the respective execution cluster, the mega-host for a respective execution cluster defining resource attributes based on the resource attributes of the respective grouped execution hosts; determining resource requirements for the jobs; and identifying candidate mega-hosts for the jobs based on the resource attributes of the respective mega-hosts and the resource requirements of the jobs.

Claims (53)

1. A method for job distribution within a grid environment, comprising:

receiving jobs at a submission cluster for distribution of the jobs to at least one of a plurality of execution clusters, each execution cluster comprising one or more execution hosts;

determining resource attributes corresponding to each execution host of the execution clusters;

grouping, for each execution cluster, execution hosts based on the resource attributes of the respective execution hosts;

defining, for each grouping of execution hosts, a mega-host for the respective execution cluster, the mega-host for a respective execution cluster defining resource attributes based on the resource attributes of the respective grouped execution hosts;

determining resource requirements for the jobs;

grouping the jobs based on the respective resource requirements of the jobs;

identifying candidate mega-hosts for each group of jobs based on the resource attributes of the respective mega-hosts and the resource requirements of the jobs; and

during a scheduling cycle, in response to determining that one job of a particular group of jobs cannot be forwarded to the execution clusters, ignoring remaining jobs in the particular group of jobs during the scheduling cycle.

2. The method of claim 1 , further comprising grouping the execution hosts for a respective execution cluster based on resource slots and memory capacity attributes for the respective execution hosts.

3. The method of claim 1 , further comprising sorting each group of jobs based on a user submitting the respective job.

4. The method of claim 1 , further comprising:

creating a plurality of priority queues based on priorities of the submitted jobs; and

assigning each group of jobs to a corresponding priority queue.

5. The method of claim 1 , further comprising:

creating a plurality of priority queues based on priorities of the submitted jobs;

sorting each group of jobs based on a user submitting the respective job; and

assigning each group of jobs submitted by a particular user to a corresponding priority queue.

6. A system for job distribution within a grid environment, comprising:

a submission cluster, having a processor, for distributing jobs to at least one of a plurality of execution clusters, wherein each execution cluster comprises one or more execution hosts, and wherein the submission cluster comprises logic executable by the processor to:

determine resource attributes corresponding to each execution host of the execution clusters;

group, for each execution cluster, execution hosts based on the resource attributes of the respective execution hosts;

define, for each grouping of execution hosts, a mega-host for the respective execution cluster, the mega-host for a respective execution cluster defining resource attributes based on the resource attributes of the respective grouped execution hosts;

determine resource requirements for the jobs; and

group the jobs based on the respective resource requirements of the jobs;

identify candidate mega-hosts for each group of jobs based on the resource attributes of the respective mega-hosts and the resource requirements of the jobs; and

during a scheduling cycle, in response to determining that one job of a particular group of jobs cannot be forwarded to the execution clusters, ignore remaining jobs in the particular group of jobs during the scheduling cycle.

7. The system of claim 6 , wherein the logic is executable to group the execution hosts for a respective execution cluster based on resource slots and memory capacity attributes for the respective execution hosts.

8. The system of claim 6 , wherein the logic is executable to sort each group of jobs based on a user submitting the respective job.

9. The system of claim 6 , wherein the logic is executable to:

create a plurality of priority queues based on priorities of the submitted jobs; and

assign each group of jobs to a corresponding priority queue.

10. The system of claim 6 , wherein the logic is executable to:

create a plurality of priority queues based on priorities of the submitted jobs;

sort each group of jobs based on a user submitting the respective job; and

assign each group of jobs submitted by a particular user to a corresponding priority queue.

11. A computer program product for job distribution within a grid environment, the computer program product comprising:

a non-transitory computer readable medium having computer readable program code embodied therewith, the computer readable program code comprising computer readable program code configured to:

determine resource attributes corresponding to each execution host of the execution clusters;

group, for each execution cluster, execution hosts based on the resource attributes of the respective execution hosts;

define, for each grouping of execution hosts, a mega-host for the respective execution cluster, the mega-host for a respective execution cluster defining resource attributes based on the resource attributes of the respective grouped execution hosts;

determine resource requirements for the jobs;

group the jobs based on the respective resource requirements of the jobs;

identify candidate mega-hosts for each group of jobs based on the resource attributes of the respective mega-hosts and the resource requirements of the jobs; and

during a scheduling cycle, in response to determining that one job of a particular group of jobs cannot be forwarded to the execution clusters, ignore remaining jobs in the particular group of jobs during the scheduling cycle.

12. The computer program product of claim 11 , wherein the computer readable program code is configured to group the execution hosts for a respective execution cluster based on resource slots and memory capacity attributes for the respective execution hosts.

13. The computer program product of claim 11 , wherein the computer readable program code is configured to:

create a plurality of priority queues based on priorities of the submitted jobs; and

assign each group of jobs to a corresponding priority queue.

14. The computer program product of claim 11 , wherein the computer readable program code is configured to:

create a plurality of priority queues based on priorities of the submitted jobs;

sort each group of jobs based on a user submitting the respective job; and

assign each group of jobs submitted by a particular user to a corresponding priority queue.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 2, 2012
From: CHEN, CHONG; LIU, FANG; WANG, QI; YUAN, SHUTAO
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 029058/0032 →
Continuity (1)
Related Publication 20130346993A1 · Dec 26, 2013