IP Library Granted Patent US 11,240,294
Granted Patent B2
US 11,240,294 · App. 16/706,161 · Granted Feb 1, 2022

Systems and methods for spike detection and load balancing resource management

Inventors: Venkatraman Balasubramanian (Tempe, AZ); Olufogorehan Adetayo Tunde-Onadele (Raleigh, NC); Zhengyu Yang (San Diego, CA); Ping Terence Wong (San Diego, CA); Nithya Ramakrishnan (San Diego, CA); T. David Evans (San Diego, CA); Clay Mayers (San Diego, CA)
Assignee: Samsung Electronics Co., Ltd.
H04L67/1002H04L43/08H04L49/90H04L67/32
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,240,294
App. No.
16/706,161
Granted
Feb 1, 2022
Kind
B2
Abstract

A load balancing system includes: a centralized queue; a pool of resource nodes connected to the centralized queue; one or more processors; and memory coupled to the one or more processors and storing instructions that, when executed by the one or more processors, cause the one or more processors to: monitor a queue status of the centralized queue to identify a bursty traffic period; calculate an index value for a load associated with the bursty traffic period; select a load balancing strategy based on the index value; distribute the load to the pool of resource nodes based on the load balancing strategy; observe a state of the pool of resource nodes in response to the load balancing strategy; calculate a reward based on the observed state; and adjust the load balancing strategy based on the reward.

Claims (62)

1. A load balancing system, comprising:

a centralized queue;

a pool of resource nodes coupled to the centralized queue;

one or more processors; and

memory coupled to the one or more processors and storing instructions that, when executed by the one or more processors, cause the one or more processors to:

monitor a queue status of the centralized queue to identify a first traffic period;

calculate an index value for a load associated with the first traffic period;

select a load balancing strategy based on the index value;

distribute the load to the pool of resource nodes based on the load balancing strategy;

observe a state of the pool of resource nodes in response to the load balancing strategy;

calculate a reward based on the observed state, the index value, and the selected load balancing strategy according to a reward function; and

adjust the load balancing strategy based on the reward.

2. The system of claim 1 , wherein the index value corresponds to a Gittins Index (GI) value.

3. The system of claim 2 , wherein to calculate the index value, the instructions further cause the one or more processors to:

calculate a plurality of GI values for the load associated with the first traffic period; and

output a greatest one of the plurality of GI values as a new spike value.

4. The system of claim 3 , wherein to distribute the load to the pool of resource nodes, the instructions further cause the one or more processors to:

adjust resource requirements for the pool of resource nodes based on the new spike value to generate a new compute environment; and

generate a schedule of job request distributions associated with the load for the new compute environment.

5. The system of claim 1 , wherein to select the load balancing strategy, the instructions further cause the one or more processors to:

calculate an incremental load managing value for each resource in the pool of resource nodes; and

calculate a base resource parameter for each resource in the pool of resource nodes.

6. The system of claim 5 , wherein the load balancing strategy is selected based on the resource with the greatest base resource parameter.

7. The system of claim 1 , wherein to calculate the reward, the instructions further cause the one or more processors to:

calculate a Q-function based on the index value, an input state, the selected load balancing strategy, and a reward parameter.

8. The system of claim 7 , wherein the Q-function is calculated according to: {circumflex over (Q)}(s,a):=r(s,a)+γ max a i Q(s′,a i ),

wherein:

s and s′ corresponds to past and present state GI index values, respectively,

a corresponds to different load values; and

r corresponds to an immediate reward parameter.

9. The system of claim 7 , wherein the instructions further cause the one or more processors to:

apply an exponentially weighted moving average to the Q-function calculation.

10. The system of claim 1 , wherein the load corresponds to a Poisson traffic distribution.

11. A method for load balancing, the method comprising:

monitoring, by one or more processors, a queue status of a centralized queue to identify a first traffic period;

calculating, by the one or more processors, an index value for a load associated with the first traffic period;

selecting, by the one or more processors, a load balancing strategy based on the index value;

distributing, by the one or more processors, the load to a pool of resource nodes based on the load balancing strategy;

observing, by the one or more processors, a state of the pool of resource nodes in response to the load balancing strategy;

calculating, by the one or more processors, a reward based on the observed state, the index value, and the selected load balancing strategy according to a reward function; and

adjusting, by the one or more processors, the load balancing strategy based on the reward.

12. The method of claim 11 , wherein the index value corresponds to a Gittins Index (GI) value.

13. The method of claim 12 , wherein the calculating of the index value comprises:

calculating, by the one or more processors, a plurality of GI values for the load associated with the first traffic period; and

outputting, by the one or more processors, a greatest one of the plurality of GI values as a new spike value.

14. The method of claim 13 , wherein the distributing of the load to the pool of resource nodes comprises:

adjusting, by the one or more processors, resource requirements for the pool of resource nodes based on the new spike value to generate a new compute environment; and

generating, by the one or more processors, a schedule of job request distributions associated with the load for the new compute environment.

15. The method of claim 11 , wherein the selecting of the load balancing strategy comprises:

calculating, by the one or more processors, an incremental load managing value for each resource in the pool of resource nodes; and

calculating, by the one or more processors, a base resource parameter for each resource in the pool of resource nodes.

16. The method of claim 15 , wherein the load balancing strategy is selected based on the resource with the greatest base resource parameter.

17. The method of claim 11 , wherein the calculating of the reward comprises:

calculating, by the one or more processors, a Q-function based on the index value, an input state, the selected load balancing strategy, and a reward parameter.

18. The method of claim 17 , wherein the Q-function is calculated according to: {circumflex over (Q)}(s,a):=r(s,a)+γ max a i Q(s′,a i ),

wherein:

s and s′ corresponds to past and present state GI index values, respectively,

a corresponds to different load values; and

r corresponds to an immediate reward parameter.

19. The method of claim 17 , further comprising:

applying, by the one or more processors, an exponentially weighted moving average to the Q-function calculation.

20. The method of claim 11 , wherein the load corresponds to a Poisson traffic distribution.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 17, 2020
From: BALASUBRAMANIAN, VENKATRAMAN; TUNDE-ONADELE, OLUFOGOREHAN ADETAYO; YANG, ZHENGYU; WONG, PING TERENCE; RAMAKRISHNAN, NITHYA; EVANS, T. DAVID; MAYERS, CLAY
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 052961/0711 →
Continuity (3)
Provisional Application 62913536 · Oct 10, 2019
Provisional Application 62890864 · Aug 23, 2019
Related Publication 20210058453A1 · Feb 25, 2021
Cited By (1)
US 12,489,809