Dynamic resource allocation scheme for distributed heterogeneous computer systems
First Claim
1. In a distributed heterogeneous computer system having a plurality of computer nodes each operatively connected through a network interface to a network to provide for communications and transfers of data between the nodes and wherein the nodes each have a queue for containing jobs to be performed, the improvement for dynamically reallocating the system'"'"'s resources for optimized job performance comprising:
- a) means at each node for dynamically and periodically calculating and saving a workload value as a function of the number of jobs on the node'"'"'s queue;
b) means at each node for transfering the node'"'"'s said workload value to other nodes on the network at the request of said other nodes; and
,c) means at each node operable at the completion of each job,c1) for checking the node'"'"'s own said workload value,c2) for polling all the other nodes for their said workload value if the checking node'"'"'s said workload value is below a pre-established value indicating the node as being underutilized and available to do more jobs,c3) for checking the said workload values of the other nodes as received, andc4) for transfering a job from the queue of the other of the nodes having the highest said workload value over a pre-established value indicating said other of the nodes as being overburdened and requiring job relief to the queue of the checking node.
3 Assignments
0 Petitions
Accused Products
Abstract
In a distributed heterogeneous computer system having a plurality of computer nodes each operatively connected through a network interface to a network to provide for communications and transfers of data between the nodes and wherein the nodes each have a queue for containing jobs to be performed, an improvement for dynamically reallocating the system'"'"'s resources for optimized job performance. There is first logic at each node for dynamically and periodically calculating and saving a workload value as a function of the number of jobs on the node'"'"'s queue. Second logic is provided at each node for transfering the node'"'"'s workload value to other nodes on the network at the request of the other nodes. Finally, there is third logic at each node operable at the completion of each job. The third logic includes, logic for checking the node'"'"'s own workload value, logic for polling all the other nodes for their workload value if the checking node'"'"'s workload value is below a preestablished value indicating the node as being underutilized and available to do more jobs, logic for checking the workload values of the other nodes as received, and logic for transfering a job from the queue of the other of the nodes having the highest workload value over a preestablished value indicating the other of the nodes as being overburdened and requiring job relief to the que of the checking node. The third logic is also operable periodically when the node is idle.
-
Citations
16 Claims
-
1. In a distributed heterogeneous computer system having a plurality of computer nodes each operatively connected through a network interface to a network to provide for communications and transfers of data between the nodes and wherein the nodes each have a queue for containing jobs to be performed, the improvement for dynamically reallocating the system'"'"'s resources for optimized job performance comprising:
-
a) means at each node for dynamically and periodically calculating and saving a workload value as a function of the number of jobs on the node'"'"'s queue; b) means at each node for transfering the node'"'"'s said workload value to other nodes on the network at the request of said other nodes; and
,c) means at each node operable at the completion of each job, c1) for checking the node'"'"'s own said workload value, c2) for polling all the other nodes for their said workload value if the checking node'"'"'s said workload value is below a pre-established value indicating the node as being underutilized and available to do more jobs, c3) for checking the said workload values of the other nodes as received, and c4) for transfering a job from the queue of the other of the nodes having the highest said workload value over a pre-established value indicating said other of the nodes as being overburdened and requiring job relief to the queue of the checking node. - View Dependent Claims (2, 3, 4)
-
-
5. A distributed heterogeneous computer system having dynamic resource allocation comprising:
-
a) network means for providing a communications path for computer; b) a plurality of computer nodes each operatively connected through a network interface to said network means whereby to communicate and transfer data between said nodes, said nodes each having a queue for containing jobs to be performed; c) means at each said node for dynamically and periodically calculating and saving a workload value as a function of the number of jobs on said node'"'"'s queue; d) means at each node for transfering said node'"'"'s said workload value to other nodes over said network at the request of said other nodes; and
,e) means at each node operable at the completion of each job, e1) for checking said node'"'"'s own said workload value, e2) for polling all the other said nodes for their said workload value if the checking node'"'"'s said workload value is below a pre-established value indicating said node as being underutilized and available to do more jobs, e3) for checking the said workload values of the other said nodes as received, and e4) for transfering a job from said queue of the other of said nodes having the highest said workload value over a pre-established value indicating said other of said nodes as being overburdened and requiring job relief to said queue of the checking node. - View Dependent Claims (6, 7, 8)
-
-
9. In a distributed heterogeneous computer system having a plurality of computer nodes each operatively connected through a network interface to a network to provide for communications and transfers of data between the nodes and wherein the nodes each have a queue for containing jobs to be performed, the method of operation for dynamically reallocating the system'"'"'s resources for optimized job performance comprising the steps of:
-
a) at each node, dynamically and periodically calculating and saving a workload value as a function of the number of jobs on the node'"'"'s queue; b) transfering the node'"'"'s workload value to other nodes on the network at the request of the other nodes; and
,c) at each node at the completion of each job, c1) checking the node'"'"'s own workload value, c2) polling all the other nodes for their workload value if the checking node'"'"'s workload value is below a pre-established value indicating the node as being underutilized and available to do more jobs, c3) checking the workload values of the other nodes as received, and c4) transfering a job from the queue of the other of the nodes having the highest the workload value over a pre-established value indicating the other of the nodes as being overburdened and requiring job relief to the queue of the checking node. - View Dependent Claims (10, 11, 12)
-
-
13. In a distributed heterogeneous computer system having a plurality of computer nodes each operatively connected through a network interface to a network to provide for communications and transfers of data between the nodes and wherein the nodes each have a queue for containing jobs to be performed, the improvement for dynamically reallocating the system'"'"'s resources for optimized job performance comprising:
-
a) first logic means at each node for dynamically and periodically calculating and saving a workload value as a function of the number of jobs on the node'"'"'s queue; b) second logic means at each node for transfering the node'"'"'s said workload value to other nodes on the network at the request of said other nodes; and
,c) third logic means at each node operable at the completion of each job, said third logic means including, c1) means for checking the node'"'"'s own said workload value, c2) means for polling all the other nodes for their said workload value if the checking node'"'"'s said workload value is below a pre-established value indicating the node as being underutilized and available to do more jobs, c3) means for checking the said workload values of the other nodes as received, and c4) means for transfering a job from the queue of the other of the nodes having the highest said workload value over a pre-established value indicating said other of the nodes as being overburdened and requiring job relief to the queue of the checking node. - View Dependent Claims (14, 15, 16)
-
Specification