MULTILEVEL LOAD BALANCING
First Claim
1. A system for multilevel load balancing, the system comprising:
- at least one processor to;
maintain a system-level queue of jobs, the jobs being based on events received from client devices;
maintain a pool of active processing nodes, each active processing node in the pool to;
pull jobs from the system-level queue at an arrival rate for the particular active processing node,determine a node-level utilization that indicates the particular active processing node'"'"'s capacity to process jobs at the arrival rate, andadjust the arrival rate based on the node-level utilization; and
determine a system-level utilization based the number of active processing nodes in the pool and average processing rates of the active processing nodes in the pool, wherein each average processing rate indicates the time it takes the particular active processing node to process jobs once pulled from the system-level queue.
2 Assignments
0 Petitions
Accused Products
Abstract
Example embodiments relate to multilevel load balancing. In example embodiments, a system may maintain a system-level queue of jobs. The system may maintain a pool of active processing nodes. Each active processing node in the pool may pull jobs from the system-level queue at an arrival rate for the particular active processing node. Each active processing node may determine a node-level utilization that indicates the particular active processing node'"'"'s capacity to process jobs at the arrival rate. Each active processing node may adjust the arrival rate based on the node-level utilization. The system may determine a system-level utilization based the number of active processing nodes in the pool and average processing rates of the active processing nodes in the pool. Each average processing rate may indicate the time it takes the particular active processing node to process jobs once pulled from the system-level queue.
-
Citations
18 Claims
-
1. A system for multilevel load balancing, the system comprising:
-
at least one processor to; maintain a system-level queue of jobs, the jobs being based on events received from client devices; maintain a pool of active processing nodes, each active processing node in the pool to; pull jobs from the system-level queue at an arrival rate for the particular active processing node, determine a node-level utilization that indicates the particular active processing node'"'"'s capacity to process jobs at the arrival rate, and adjust the arrival rate based on the node-level utilization; and determine a system-level utilization based the number of active processing nodes in the pool and average processing rates of the active processing nodes in the pool, wherein each average processing rate indicates the time it takes the particular active processing node to process jobs once pulled from the system-level queue. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for multilevel load balancing, the method comprising:
-
maintaining a system-level queue of jobs, the jobs being based on events received from client devices; maintaining a pool of processing nodes, each processing node in the pool being either active or inactive, wherein each active processing node in the pool is capable of pulling jobs from the system-level queue, placing jobs into a node-level queue for the particular processing node, and processing jobs; determining, by a first active processing node in the pool, a node-level utilization that indicates the capability of the first active processing node to process jobs, and an average processing rate that indicates the time it takes the first active processing node to process jobs once pulled from the system-level queue; adjusting, by the first active processing node, a node-level arrival rate based on the node-level utilization, wherein the node-level arrival rate affects the rate at which the first active processing node pulls jobs from the system-level queue; and determining a system-level utilization that indicates the capability of the system to receive new events from the client devices, wherein the system-level utilization is based on the average processing rate for the first active processing node and average processing rates of other active processing nodes in the pool. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A machine-readable storage medium encoded with instructions executable by at least one processor of a processing node computing device for multilevel load processing, the machine-readable storage medium comprising:
for a first processing node of a pool in a processing system; instructions to receive jobs, at an arrival rate, from a system-level queue, wherein the jobs are received in response to requests by the first processing node; instructions to maintain a node-level queue and placing the received jobs into the node-level queue; instructions to determine a node-level utilization that indicates the capacity of the first processing node to process jobs at the arrival rate; instructions to adjust the arrival rate based on the node-level utilization; and instructions to determine an average processing rate that indicates the time it takes to process jobs once pulled from the system-level queue, wherein the average processing rate is used, along with average processing rates from other processing nodes of the pool, to determine a system-level utilization. - View Dependent Claims (16, 17, 18)
Specification