Method, system and computer program for distributing a plurality of jobs to a plurality of computers
First Claim
1. A method of distributing a plurality of jobs to a plurality of computers, the method comprising:
- determining a plurality of possible pairing of jobs to computers, in order to produce provisional distributions;
producing a first ranking that ranks the provisional distributions according to the extent to which they satisfy the individual requirements of each job among the plurality of jobs by calculating a normalized total weight which provides a measure of merits of a solution based on individual job resource distributions;
producing a second ranking that ranks the provisional distributions according to the extent to which they match a predefined distribution by calculating a normalized delta from a goal distribution which provides a measure of the provisional distributions from a goal distribution;
producing a third ranking that ranks the provisional distributions according to the extent to which they maximize a throughput of the computers, wherein producing the third ranking comprises calculating a percentage of a total number of jobs for each of the provisional distributions over a total number of jobs for all of the provisional distributions;
determining an optimal distribution from the rankings based on a one of the provisional distributions having a maximally valued combination of the first ranking, the second ranking and the third ranking, wherein the optimal solution is a maximum valued combination for all of the three identified rankings; and
deploying each of said plurality of jobs to a respective one of the plurality of the computers in accordance with the optimal distribution.
1 Assignment
0 Petitions
Accused Products
Abstract
Method and system for providing a mechanism for determining an optimal workload distribution, from a plurality of candidate workload distributions, each of which has been determined to optimize a particular aspect of a workload-scheduling problem. More particularly, the preferred embodiment determines a workload distribution based on resource selection policies. From this workload distribution, the preferred embodiment optionally determines a workload distribution based on job priorities. From either or both of the above parameters, the preferred embodiment determines a workload distribution based on a total prioritized weight parameter. The preferred embodiment also determines a workload distribution which attempts to match the previously determined candidate workload distributions to a goal distribution. Similarly, the preferred embodiment calculates a further workload distribution which attempts to maximize job throughput.
26 Citations
19 Claims
-
1. A method of distributing a plurality of jobs to a plurality of computers, the method comprising:
-
determining a plurality of possible pairing of jobs to computers, in order to produce provisional distributions; producing a first ranking that ranks the provisional distributions according to the extent to which they satisfy the individual requirements of each job among the plurality of jobs by calculating a normalized total weight which provides a measure of merits of a solution based on individual job resource distributions; producing a second ranking that ranks the provisional distributions according to the extent to which they match a predefined distribution by calculating a normalized delta from a goal distribution which provides a measure of the provisional distributions from a goal distribution; producing a third ranking that ranks the provisional distributions according to the extent to which they maximize a throughput of the computers, wherein producing the third ranking comprises calculating a percentage of a total number of jobs for each of the provisional distributions over a total number of jobs for all of the provisional distributions; determining an optimal distribution from the rankings based on a one of the provisional distributions having a maximally valued combination of the first ranking, the second ranking and the third ranking, wherein the optimal solution is a maximum valued combination for all of the three identified rankings; and deploying each of said plurality of jobs to a respective one of the plurality of the computers in accordance with the optimal distribution. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system for distributing a plurality of jobs to a plurality of computers, the system comprising:
-
a processor; a data bus coupled to said processor; and
a computer-usable medium embodying computer code, said computer-usable medium being coupled to said data bus, said computer program code comprising instructions executable by said processor and configured for;determining a plurality of possible pairing of jobs to computers, in order to produce provisional distributions; producing a first ranking that ranks the provisional distributions according to the extent to which they satisfy the individual requirements of each job among the plurality of jobs by calculating a normalized total weight which provides a measure of merits of a solution based on individual job resource distributions; producing a second ranking that ranks the provisional distributions according to the extent to which they match a predefined distribution by calculating a normalized delta from a goal distribution which provides a measure of the provisional distributions from a goal distribution; producing a third ranking that ranks the provisional distributions according to the extent to which they maximize a throughput of the computers, wherein producing the third ranking comprises calculating a percentage of a total number of jobs for each of the provisional distributions over a total number of jobs for all of the provisional distributions; determining an optimal distribution from the rankings based on a one of the provisional distributions having a maximally valued combination of the first ranking, the second ranking and the third ranking, wherein the optimal solution is a maximum valued combination for all of the three identified rankings; and deploying each of said plurality of jobs to a respective one of the plurality of the computers in accordance with the optimal distribution. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A non-transitory computer-usable medium embodying computer program code, said computer program code comprising computer executable instructions configured for:
-
determining a plurality of possible pairing of jobs to computers, in order to produce provisional distributions; producing a first ranking that ranks the provisional distributions according to the extent to which they satisfy the individual requirements of each job among the plurality of by calculating a normalized total weight which provides a measure of merits of a solution based on individual job resource distributions; producing a second ranking that ranks the provisional distributions according to the extent to which they match a predefined distribution by calculating a normalized delta from a goal distribution which provides a measure of the provisional distributions from a goal distribution; producing a third ranking that ranks the provisional distributions according to the extent to which they maximize a throughput of the computers, wherein producing the third ranking comprises calculating a percentage of a total number of jobs for each of the provisional distributions over a total number of jobs for all of the provisional distributions; determining an optimal distribution from the rankings based on a one of the provisional distributions having a maximally valued combination of the first ranking, the second ranking and the third ranking, wherein the optimal solution is a maximum valued combination for all of the three identified rankings; and deploying each of said plurality of jobs to a respective one of the plurality of the computers in accordance with the optimal distribution. - View Dependent Claims (15, 16, 17, 18, 19)
-
Specification