IP Library Granted Patent US 11,640,195
Granted Patent B2
US 11,640,195 · App. 17/068,651 · Granted May 2, 2023

Service-level feedback-driven power management framework

Inventors: Qingda Lu (Bellevue, WA); Jun Song (Tacoma, WA); Zhu Pang (Bellevue, WA); Jiesheng Wu (Redmond, WA); Zhixing Ren (Sammamish, WA)
Assignee: Alibaba Group Holding Limited
G06F1/3228G06F9/542G06F9/546G06F17/18G06N20/00G06F1/3203
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,640,195
App. No.
17/068,651
Granted
May 2, 2023
Kind
B2
Abstract

A power management system may provide power management recommendations to a computer system including a plurality of computing nodes (which may include processors, etc.), to cause the computing nodes to individually or collectively adjust power states or modes of respective processors to achieve power management of the computer system. The power management system may be provided with a power management framework that continuously utilizes direct and indirect service-level feedbacks to guide power management decisions. The power management system may employ a reinforcement learning algorithm to make power management decisions at a user level, and provide a fast decision overriding mechanism for platform events or service-requested performance boosts.

Claims (45)

1. A method implemented by one or more computing devices, the method comprising:

obtaining an advisory power management decision based at least in part on service-level metrics that are received from a computing node, wherein obtaining the advisory power management decision comprises:

predicting probabilities of violating a service-level agreement associated with a service provided by the computing node under different states of a processor included in the computing node through a decision model that uses at least the service-level metrics as inputs, the service having at least one worker thread running on the processor, and the decision model being obtained using a reinforcement learning method; and

prompting the computing node to perform a recommended operation on a processor that is included in the computing node based at least in part on the advisory power management decision.

2. The method of claim 1 , further comprising receiving hardware metrics and operating system/hypervisor-level metrics from the computing node, wherein obtaining the advisory power management decision is further based on the hardware metrics and operating system/hypervisor-level metrics.

3. The method of claim 2 , wherein the service-level metrics comprise one or more of requests per second, an average latency, and a latency at a predefined percentile for each processor in the computing node within a predefined time window, and one or more of an average depth of each individual waiting queue and an average wait time of requests that are associated with each worker thread running on each processor in the computing node within the predefined time window.

4. The method of claim 2 , wherein the hardware metrics comprise one or more of: cycles per instruction, cache misses per instruction, total memory reads and writes, total network reads and writes, and total disk reads and writes within a predefined time window.

5. The method of claim 2 , wherein the operating system/hypervisor-level metrics comprise one or more of: a utilization rate, an idle history, a timer interrupt history, and an interrupt rate associated with each processor in the computing node within a predefined time window.

6. The method of claim 1 , further comprising:

receiving a message from a service process having a worker thread running on the processor included in the computing node, the message indicating a prompt to increase performance of the processor; and

overriding the advisory power management decision, and sending a recommendation to the computing node to increase the performance of the processor according to the message.

7. The method of claim 6 , wherein increasing the performance of the processor comprises increasing a frequency of the processor, or changing the processor from a power-saving state to a performance state.

8. The method of claim 1 , further comprising:

receiving a platform-level power management event from an operating system or hypervisor of the computing node; and

overriding the advisory power management decision, and prompting the computing node to adjust performance of the processor according to the platform-level power management event.

9. The method of claim 8 , wherein the platform-level power management event comprises at least a thermal event, or a power budget change.

10. The method of claim 1 , wherein obtaining the advisory power management decision further comprises:

selecting at least one state of the processor that does not violate the service-level agreement as the advisory power management decision.

11. One or more non-transitory media storing executable instructions that, when executed by one or more processors, cause the one or more processors to perform acts comprising:

obtaining an advisory power management decision based at least in part on service-level metrics, hardware metrics and operating system/hypervisor-level metrics that are received from a computing node, wherein the service-level metrics comprise one or more of requests per second, an average latency, and a latency at a predefined percentile for each processor in the computing node within a predefined time window, and one or more of an average depth of each individual waiting queue and an average wait time of requests that are associated with each worker thread running on each processor in the computing node within the predefined time window; and

prompting the computing node to perform a recommended operation on a processor that is included in the computing node based at least in part on the advisory power management decision.

12. The one or more non-transitory media of claim 11 , wherein:

the hardware metrics comprise one or more of: cycles per instruction, cache misses per instruction, total memory reads and writes, total network reads and writes, and total disk reads and writes within a predefined time window; and

the operating system/hypervisor-level metrics comprise one or more of: a utilization rate, an idle history, a timer interrupt history, and an interrupt rate associated with each processor in the computing node within a predefined time window.

13. The one or more non-transitory media of claim 11 , the acts further comprising:

receiving a message from a service process having a worker thread running on the processor included in the computing node, the message indicating a prompt to increase performance of the processor; and

overriding the advisory power management decision, and sending a recommendation to the computing node to increase the performance of the processor according to the message.

14. The one or more non-transitory media of claim 11 , the acts further comprising:

receiving a platform-level power management event from an operating system or hypervisor of the computing node; and

overriding the advisory power management decision, and prompting the computing node to adjust performance of the processor according to the platform-level power management event.

15. The one or more non-transitory media of claim 11 , wherein obtaining the advisory power management decision comprises:

predicting probabilities of violating a service-level agreement associated with a service provided by the computing node under different states of the processor included in the computing node through a decision model that uses at least the service-level metrics as inputs, the service having at least one worker thread running on the processor; and

selecting at least one state of the processor that does not violate the service-level agreement as the advisory power management decision.

16. A system comprising:

one or more processors; and

memory storing executable instructions that, when executed by the one or more processors, cause the one or more processors to perform acts comprising:

receiving service-level metrics, hardware metrics, and operating system/hypervisor-level metrics from a computing node;

obtaining an advisory power management decision based at least in part on the service-level metrics, the hardware metrics, and the operating system/hypervisor-level metrics, wherein the service-level metrics comprise one or more of requests per second, an average latency, and a latency at a predefined percentile for each processor in the computing node within a predefined time window, and the operating system/hypervisor-level metrics comprise one or more of: a utilization rate, an idle history, a timer interrupt history, and an interrupt rate associated with each processor in the computing node within a predefined time window; and

prompting the computing node to perform a recommended operation on a processor that is included in the computing node based at least in part on the advisory power management decision.

17. The system of claim 16 , the acts further comprising:

receiving a message from a service process having a worker thread running on the processor included in the computing node, the message indicating a prompt to increase performance of the processor; and

overriding the advisory power management decision, and sending a recommendation to the computing node to increase the performance of the processor according to the message.

18. The system of claim 16 , wherein obtaining the advisory power management decision comprises:

predicting probabilities of violating a service-level agreement associated with a service provided by the computing node under different states of the processor included in the computing node through a decision model that uses the service-level metrics, the hardware metrics, and the operating system/hypervisor-level metrics as inputs, the service having at least one worker thread running on the processor; and

selecting at least one state of the processor that does not violate the service-level agreement as the advisory power management decision.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2026
From: ALIBABA GROUP HOLDING LIMITED
To: CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PRIVATE LIMITED
Reel/Frame 075499/0384 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 12, 2020
From: LU, QINGDA; SONG, JUN; PANG, ZHU; WU, JIESHENG; REN, XHIXING
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 054031/0655 →
Continuity (1)
Related Publication 20220113785A1 · Apr 14, 2022