Optimum selection of execution resources in a job distribution environment
First Claim
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 based on combining select resource attributes of the respective grouped execution hosts;
determining resource requirements for the jobs;
creating a plurality of priority queues based on priorities of the submitted jobs;
grouping the jobs based on the respective resource requirements of the jobs;
sorting each group of jobs based on a user submitting the respective job;
assigning each group of jobs submitted by a particular user to a corresponding priority queue;
selecting an optimum execution cluster for receiving at least one of the groups of jobs based on a weighting factor applied to select resources of the respective execution clusters;
identifying candidate mega-hosts within the optimum execution cluster for the at least one of the groups of jobs based on the resource attributes of the respective mega-hosts and the resource requirements of the at least one of the groups of jobs; and
selecting at least one of the candidate mega-hosts within the optimum execution cluster for allocating the at least one of the groups of jobs thereto for execution of the at least one of the groups of jobs.
1 Assignment
0 Petitions
Accused Products
Abstract
According to one aspect of the present disclosure, a technique for job distribution within a grid environment includes receiving jobs at a submission cluster for distribution of the jobs to at least one of a plurality of execution clusters where each execution cluster includes one or more execution hosts. Resource attributes are determined corresponding to each execution host of the execution clusters. For each execution cluster, execution hosts are grouped based on the resource attributes of the respective execution hosts. For each grouping of execution hosts, a mega-host is defined for the respective execution cluster where the mega-host for a respective execution cluster defines resource attributes based on the resource attributes of the respective grouped execution hosts. Resource requirements for the jobs are determined, and candidate mega-hosts are identified for the jobs based on the resource attributes of the respective mega-hosts and the resource requirements of the jobs.
-
Citations
12 Claims
-
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 based on combining select resource attributes of the respective grouped execution hosts; determining resource requirements for the jobs; creating a plurality of priority queues based on priorities of the submitted jobs; grouping the jobs based on the respective resource requirements of the jobs; sorting each group of jobs based on a user submitting the respective job; assigning each group of jobs submitted by a particular user to a corresponding priority queue; selecting an optimum execution cluster for receiving at least one of the groups of jobs based on a weighting factor applied to select resources of the respective execution clusters; identifying candidate mega-hosts within the optimum execution cluster for the at least one of the groups of jobs based on the resource attributes of the respective mega-hosts and the resource requirements of the at least one of the groups of jobs; and selecting at least one of the candidate mega-hosts within the optimum execution cluster for allocating the at least one of the groups of jobs thereto for execution of the at least one of the groups of jobs. - View Dependent Claims (2, 3, 4)
-
-
5. 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 a processor unit 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 based on combining select resource attributes of the respective grouped execution hosts; determine resource requirements for the jobs; create a plurality of priority queues based on priorities of the submitted jobs; group the jobs based on the respective resource requirements of the jobs; sort each group of jobs based on a user submitting the respective job; assign each group of jobs submitted by a particular user to a corresponding priority queue; select an optimum execution cluster for receiving at least one of the groups of jobs based on a weighting factor applied to select resources of the respective execution clusters; identify candidate mega-hosts within the optimum execution cluster for the at least one of the groups of jobs based on the resource attributes of the respective mega-hosts and the resource requirements of the at least one of the groups of jobs; and select at least one of the candidate mega-hosts for allocating the at least one of the groups of jobs thereto for execution of the at least one of the groups of jobs. - View Dependent Claims (6, 7, 8)
-
9. 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 based on combining select resource attributes of the respective grouped execution hosts; determine resource requirements for the jobs; create a plurality of priority queues based on priorities of the submitted jobs; group the jobs based on the respective resource requirements of the jobs; sort each group of jobs based on a user submitting the respective job; assign each group of jobs submitted by a particular user to a corresponding priority queue; select an optimum execution cluster for receiving at least one of the groups of jobs based on a weighting factor applied to select resources of the respective execution clusters; identify candidate mega-hosts within the optimum execution cluster for the at least one of the groups of jobs based on the resource attributes of the respective mega-hosts and the resource requirements of the at least one of the groups of jobs; and select at least one of the candidate mega-hosts for allocating the at least one of the groups of jobs thereto for execution of the at least one of the groups of jobs. - View Dependent Claims (10, 11, 12)
Specification