US2002099759A1PendingUtilityA1
Load balancer with starvation avoidance
Priority: Jan 24, 2001Filed: Jan 24, 2001Published: Jul 25, 2002
Est. expiryJan 24, 2021(expired)· nominal 20-yr term from priority
Inventors:Paul Gootherts
G06F 9/5088
36
PatentIndex Score
0
Cited by
0
References
0
Claims
Abstract
A method and apparatus for balancing processing loads to avoid starvation of threads is described. A method of load balancing evaluates the load and state of multiple processors. If at least one processor is in a source state and at least one processor is in a sink state, the processing load is balanced to avoid starvation. A thread is transferred from the heaviest loaded, source state processor to the least loaded, sink state processor. Each processor load and state is then reevaluated and, if needed, the load balancing with starvation avoidance repeated.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A computer implemented method of load balancing a multiprocessor computer system, comprising the following steps:
determining the state of each of two or more processors, wherein the state includes at least one of a source and sink state; and if at least one of the two or more processors is in a source state and at least one of the two or more processors is in a sink state, transferring at least one thread from a queue of a source state processor to a queue of a sink state processor.
2 . The method as claimed in claim 1 , wherein the state further includes a neither state.
3 . The method as claimed in claim 1 , wherein the method further comprises the following step:
repeating said steps.
4 . The method as claimed in claim 1 , wherein the method is initiated once every second.
5 . The method as claimed in claim 1 , wherein the method is performed indefinitely.
6 . The method as claimed in claim 1 , wherein the method further includes the following step:
determining the load of each of the two or more processors.
7 . The method as claimed in claim 6 , wherein the transferring step further includes:
transferring at least one thread from the highest loaded, source state processor to the lowest loaded, sink state processor.
8 . A computer implemented method of load balancing a multiprocessor computer system, comprising the following steps:
determining a score of each of two or more processors; determining a best score processor and a worst score processor; and transferring at least one thread from a queue of a worst score processor to a queue of a best score processor.
9 . The method as claimed in claim 8 , wherein the score is a function of at least a processor state.
10 . The method as claimed in claim 8 , wherein the score is a function of at least a processor state and a processor load.
11 . The method as claimed in claim 10 , wherein the processor state is weighted more heavily than the processor load.
12 . A computer implemented method of load balancing a networked plurality of computer systems, comprising the following steps:
determining the state of each of the networked plurality of computer systems, wherein the state includes at least one of a source and sink state; and if at least one of the plurality of computer systems is in a source state and at least one of the plurality of computer systems is in a sink state, transferring at least one thread from a source state processor to a sink state processor.
13 . A computer system for balancing load using starvation avoidance comprising:
one or more processors for receiving and transmitting data; and a memory coupled to said one or more processors, said memory having stored therein sequences of instructions which, when executed by one of said one or more processors, cause one of said one or more processors to determine the state of each of said one or more processors, wherein the state includes at least one of a source and sink state, and, if at least one of the one or more processors is in a source state and at least one of the one or more processors is in a sink state, transfer at least one thread from a source state processor to a sink state processor.Join the waitlist — get patent alerts
Track US2002099759A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.