Load sharing controller for optimizing resource utilization cost
First Claim
1. A system for distributing a computing job and optimizing said distributed job'"'"'s total associated monetary cost of processing said job, comprising:
- a plurality of processor platforms, each with an associated resource utilization cost;
a controller for dividing said computing job into segments and allocating said segments to at least two of said processor platforms; and
a network for connecting said processor platforms and said controller;
wherein said allocation of said segments includes an initial allocation to at least two of said processor platforms, retrieval of said processor platform'"'"'s resource utilization cost information and a further reallocation of at least a portion of said segments to reduce said total monetary cost of said processing job responsive to said retrieved resource utilization costs.
1 Assignment
0 Petitions
Accused Products
Abstract
A load sharing system which minimizes overall costs by assigning segments of a divisible load to distributed processor platforms based on the resource utilization cost of each processor platform. The distributed processor platforms are connected via data links which also have associated resource utilization costs. A controller divides a divisible load or task and assigns each segment of the load or task to a processor platform based on the processor platform'"'"'s resource utilization cost and data link cost. After the initial allocation, an optimizing reallocation is performed to reduce the overall monetary cost processing the load or task. The optimization can be performed using a pair-wise swapping technique.
219 Citations
37 Claims
-
1. A system for distributing a computing job and optimizing said distributed job'"'"'s total associated monetary cost of processing said job, comprising:
-
a plurality of processor platforms, each with an associated resource utilization cost;
a controller for dividing said computing job into segments and allocating said segments to at least two of said processor platforms; and
a network for connecting said processor platforms and said controller;
wherein said allocation of said segments includes an initial allocation to at least two of said processor platforms, retrieval of said processor platform'"'"'s resource utilization cost information and a further reallocation of at least a portion of said segments to reduce said total monetary cost of said processing job responsive to said retrieved resource utilization costs. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method for distributing a computing job among a plurality of processor platforms and optimizing said distributed job'"'"'s total associated monetary cost for processing said job, comprising the steps of:
-
determining a resource utilization cost associated with each said processor platform;
dividing said computing job into segments;
initially allocating said segments to said processors; and
reallocating at least a portion of said segments to reduce said total monetary cost of said processing job responsive to said determined associated resource utilization cost of each said processor platform. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
-
-
32. A controller for distributing a computing job and optimizing said job'"'"'s total associated monetary cost comprising:
-
means for interfacing with a plurality of processor platforms, wherein each said processor platform has an associated resource utilization cost and an associated data link cost;
means for determining said resource utilization costs of said processors and said associated data link costs and for segmenting said computing job into segments to be initially allocated among said processors, said determining means being coupled to said interfacing means;
means for reallocating said initial allocation to reduce said total monetary cost of said processing job responsive to said determined resource utilization costs; and
means for sending at least one of said allocated segments to at least one of said selected processors over said associated data link based upon said reallocation and for receiving intermediate results from said selected processors via said interface means. - View Dependent Claims (33, 34, 35, 36, 37)
-
Specification