IP Library Granted Patent US 10,838,482
Granted Patent B2
US 10,838,482 · App. 15/289,274 · Granted Nov 17, 2020

SLA-based power management in disaggregated computing systems

Inventors: Ruchi Mahindru (Elmsford, NY); John A. Bivens (Ossining, NY); Koushik K. Das (Yorktown Heights, NY); Min Li (San Jose, CA); HariGovind V. Ramasamy (Ossining, NY); Yaoping Ruan (White Plains, NY); Valentina Salapura (Chappaqua, NY); Eugen Schenfeld (South Brunswick, NJ)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F1/329G06F1/324G06F1/3296G06F9/4887G06F9/5077G06F9/5094Y02D10/22Y02D10/36
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 10,838,482
App. No.
15/289,274
Granted
Nov 17, 2020
Kind
B2
Abstract

For power management in a disaggregated computing system, initial electrical power levels are distributed thereby allocating a voltage and a clock speed to each one of a set of processor cores in the disaggregated computing system. The voltage and the clock speed of respective processor cores within the set of processor cores are adjusted according to a workload priority of respective workloads performed by each respective one of the processor cores, wherein the workload priority is assigned based upon a service level agreement (SLA).

Claims (43)

1. A method for power management in a disaggregated computing system, by a processor device, comprising:

dynamically constructing the disaggregated computing system using individual hardware components selected from a plurality of component pools; wherein the disaggregated computing system is assembled as a non-virtualized bare-metal computing system having connections formed between the individual hardware components using optical links;

distributing initial electrical power levels thereby allocating a voltage and a clock speed to each one of a set of processor cores in the disaggregated computing system; wherein the initial electrical power levels aggregate to an initial collective power level, the initial collective power level comprising a total electrical power allocation contracted from an electrical utility;

adjusting the voltage and the clock speed of respective processor cores within the set of processor cores according to a workload priority of respective workloads performed by each respective one of the processor cores, wherein the workload priority is assigned based upon a service level agreement (SLA); wherein the voltage and the clock speed of the respective processor cores is individually adjusted irrespective of a location of the respective processor cores within the plurality of component pools; and

coincident with adjusting the voltage and the clock speed of the respective processor cores, balancing the voltage and clock speed between each one of the set of processor cores such that an aggregate electrical capacity is produced to execute a collective demanded workload of the respective workloads while maintaining an approximately constant electrical power level within a threshold of the initial collective power level.

2. The method of claim 1 , wherein the workload priority is selected from a plurality of priority levels including at least a low priority level, a medium priority level, and a high priority level; and

each one of the plurality of priority levels include an allocated range having a floor and a ceiling of the voltage and the clock speed adjusted therebetween.

3. The method of claim 2 , further including performing:

statically defining, for each one of the plurality of priority levels, the range of the voltage and the clock speed allocated therein; or

automatically estimating, for each one of the plurality of priority levels, the range of the voltage and the clock speed allocated therein by analyzing a historical usage data of the respective workloads.

4. The method of claim 3 , further including analyzing the historical usage data of the respective workloads to categorize the respective workloads into one of the plurality of priority levels; and

building workload groups comprising multiple ones of the respective workloads having a same workload priority based upon the SLA of the respective workloads; wherein the workload groups are generated on a ranked list.

5. The method of claim 2 , further including re-allocating thereby re-adjusting the voltage and the clock speed of one of the respective processor cores performing the respective workloads having a lower one of the plurality of priority levels to another one of the respective processor cores performing the respective workloads having a higher one of the plurality of priority levels.

6. The method of claim 5 , further including, upon detection of a reduction of an input capacity able to produce the initial collective power level, maintaining the allocated voltage and clock speed of the respective processor cores performing the respective workloads having the higher one of the plurality of priority levels while reducing the allocated voltage and clock speed of the respective processor cores performing the respective workloads having the lower one of the plurality of priority levels.

7. A system for power management in a disaggregated computing system, the system comprising:

at least one processor device, wherein the at least one processor device:

dynamically constructs the disaggregated computing system using individual hardware components selected from a plurality of component pools; wherein the disaggregated computing system is assembled as a non-virtualized bare-metal computing system having connections formed between the individual hardware components using optical links;

distributes initial electrical power levels thereby allocating a voltage and a clock speed to each one of a set of processor cores in the disaggregated computing system; wherein the initial electrical power levels aggregate to an initial collective power level, the initial collective power level comprising a total electrical power allocation contracted from an electrical utility;

adjusts the voltage and the clock speed of respective processor cores within the set of processor cores according to a workload priority of respective workloads performed by each respective one of the processor cores, wherein the workload priority is assigned based upon a service level agreement (SLA); wherein the voltage and the clock speed of the respective processor cores is individually adjusted irrespective of a location of the respective processor cores within the plurality of component pools; and

coincident with adjusting the voltage and the clock speed of the respective processor cores, balances the voltage and clock speed between each one of the set of processor cores such that an aggregate electrical capacity is produced to execute a collective demanded workload of the respective workloads while maintaining an approximately constant electrical power level within a threshold of the initial collective power level.

8. The system of claim 7 , wherein the workload priority is selected from a plurality of priority levels including at least a low priority level, a medium priority level, and a high priority level; and

each one of the plurality of priority levels include an allocated range having a floor and a ceiling of the voltage and the clock speed adjusted therebetween.

9. The system of claim 8 , wherein the at least one processor device:

statically defines, for each one of the plurality of priority levels, the range of the voltage and the clock speed allocated therein; or

automatically estimates, for each one of the plurality of priority levels, the range of the voltage and the clock speed allocated therein by analyzing a historical usage data of the respective workloads.

10. The system of claim 9 , wherein the at least one processor device analyzes the historical usage data of the respective workloads to categorize the respective workloads into one of the plurality of priority levels; and

builds workload groups comprising multiple ones of the respective workloads having a same workload priority based upon the SLA of the respective workloads; wherein the workload groups are generated on a ranked list.

11. The system of claim 8 , wherein the at least one processor device re-allocates thereby re-adjusting the voltage and the clock speed of one of the respective processor cores performing the respective workloads having a lower one of the plurality of priority levels to another one of the respective processor cores performing the respective workloads having a higher one of the plurality of priority levels.

12. The system of claim 11 , wherein the at least one processor device, upon detection of a reduction of an input capacity able to produce the initial collective power level, maintains the allocated voltage and clock speed of the respective processor cores performing the respective workloads having the higher one of the plurality of priority levels while reducing the allocated voltage and clock speed of the respective processor cores performing the respective workloads having the lower one of the plurality of priority levels.

13. A computer program product for power management in a disaggregated computing system, by a processor device, the computer program product embodied on a non-transitory computer-readable storage medium having computer-readable program code portions stored therein, the computer-readable program code portions comprising:

an executable portion that dynamically constructs the disaggregated computing system using individual hardware components selected from a plurality of component pools; wherein the disaggregated computing system is assembled as a non-virtualized bare-metal computing system having connections formed between the individual hardware components using optical links;

an executable portion that distributes initial electrical power levels thereby allocating a voltage and a clock speed to each one of a set of processor cores in the disaggregated computing system; wherein the initial electrical power levels aggregate to an initial collective power level, the initial collective power level comprising a total electrical power allocation contracted from an electrical utility;

an executable portion that adjusts the voltage and the clock speed of respective processor cores within the set of processor cores according to a workload priority of respective workloads performed by each respective one of the processor cores, wherein the workload priority is assigned based upon a service level agreement (SLA); wherein the voltage and the clock speed of the respective processor cores is individually adjusted irrespective of a location of the respective processor cores within the plurality of component pools; and

an executable portion that, coincident with adjusting the voltage and the clock speed of the respective processor cores, balances the voltage and clock speed between each one of the set of processor cores such that an aggregate electrical capacity is produced to execute a collective demanded workload of the respective workloads while maintaining an approximately constant electrical power level within a threshold of the initial collective power level.

14. The computer program product of claim 13 , wherein the workload priority is selected from a plurality of priority levels including at least a low priority level, a medium priority level, and a high priority level; and

each one of the plurality of priority levels include an allocated range having a floor and a ceiling of the voltage and the clock speed adjusted therebetween.

15. The computer program product of claim 14 , further including an executable portion that:

statically defines, for each one of the plurality of priority levels, the range of the voltage and the clock speed allocated therein; or

automatically estimates, for each one of the plurality of priority levels, the range of the voltage and the clock speed allocated therein by analyzing a historical usage data of the respective workloads.

16. The computer program product of claim 15 , further including an executable portion that analyzes the historical usage data of the respective workloads to categorize the respective workloads into one of the plurality of priority levels; and

builds workload groups comprising multiple ones of the respective workloads having a same workload priority based upon the SLA of the respective workloads; wherein the workload groups are generated on a ranked list.

17. The computer program product of claim 14 , further including an executable portion that re-allocates thereby re-adjusting the voltage and the clock speed of one of the respective processor cores performing the respective workloads having a lower one of the plurality of priority levels to another one of the respective processor cores performing the respective workloads having a higher one of the plurality of priority levels.

18. The computer program product of claim 17 , further including an executable portion that, upon detection of a reduction of an input capacity able to produce the initial collective power level, maintains the allocated voltage and clock speed of the respective processor cores performing the respective workloads having the higher one of the plurality of priority levels while reducing the allocated voltage and clock speed of the respective processor cores performing the respective workloads having the lower one of the plurality of priority levels.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 2, 2016
From: MAHINDRU, RUCHI; BIVENS, JOHN A.; DAS, KOUSHIK K.; LI, MIN; RAMASAMY, HARIGOVIND V.; RUAN, YAOPING; SALAPURA, VALENTINA; SCHENFELD, EUGEN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 040194/0759 →
Continuity (1)
Related Publication 20180101214A1 · Apr 12, 2018
Cited By (12)
US 12,197,240 US 12,206,246 US 12,207,433 US 12,253,898 US 12,272,957 US 12,294,217 US 12,434,586 US 12,437,348 US 12,437,349 US 12,462,312 US 12,494,650 US 12,711,560