IP Library Granted Patent US 12,093,101
Granted Patent B2
US 12,093,101 · App. 17/682,917 · Granted Sep 17, 2024

Systems and methods for peak power control

Inventors: Vlad Fruchter (Los Altos, CA); Nishant Sitapara (Denver, CO); Javid Jaffari (San Diego, CA); Shrirang Madhav Yardi (San Jose, CA); Bardia Zandian (Redwood City, CA)
Assignee: Meta Platforms Technologies, LLC
G06F1/28G02B27/017G05F1/66
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 12,093,101
App. No.
17/682,917
Granted
Sep 17, 2024
Kind
B2
Abstract

Systems and methods for peak power control include control circuitry which identifies a condition for a device. The control circuitry can apply the condition for the device to one or more models maintained for a plurality of device processing units of the device to determine one or more performance characteristics for the plurality of processing units. The control circuitry can distribute power credits to the plurality of device processing units of the device according to the determined performance characteristics for the plurality of device processing units, to manage a respective peak power for each respective device processing unit according to a number of the power credits distributed to the respective device processing unit.

Claims (54)

1. A method comprising:

identifying, by one or more control circuitries of a device, a condition for the device;

applying, by the one or more control circuitries, the condition for the device to one or more models maintained for a plurality of device processing units of the device to determine one or more performance characteristics for the plurality of device processing units, each device processing unit having a respective peak power which is a portion of an aggregate peak power of the device, the plurality of device processing units including a first device processing unit comprising one of a central processing unit (CPU), a graphics processing unit (GPU), a display interface, a sensing unit, a compression unit, a camera unit, an input/output (I/O) unit, a decoder, or an encoder, and a second device processing unit comprising a different one of the CPU, the GPU, the display interface, the sensing unit, the compression unit, the camera unit, the I/O unit, the decoder, or the encoder; and

distributing, by the one or more control circuitries, power credits to the plurality of device processing units of the device, including a first number of power credits to the first device processing unit and a second number of power credits to the second device processing unit, according to the determined performance characteristics for the plurality of device processing units, to manage the respective peak power for each respective device processing unit according to a number of the power credits distributed to the respective device processing unit, wherein

the one or more control circuitries distributes the power credits to the plurality of device processing units, according to an impact of quality of service (QoS) levels for a respective device processing unit to a device QoS for the device.

2. The method of claim 1 , further comprising:

receiving, by the one or more control circuitries, a request for additional power credits from the first device processing unit;

determining, by the one or more control circuitries, an available number of power credits for the device; and

allocating, by the one or more control circuitries, at least one additional power credit for the first device processing unit according to the available number of power credits.

3. The method of claim 1 , further comprising:

receiving, by the one or more control circuitries, a request for additional power credits from the first device processing unit;

determining, by the one or more control circuitries, according to the one or more models, a QoS level for the first device processing unit and a QoS level for the second device processing unit;

recalling, by the one or more control circuitries, at least one power credit from the second device processing unit; and

allocating, by the one or more control circuitries, the at least one power credit to the first device processing unit.

4. The method of claim 3 , wherein the second device processing unit degrades at least one of the one or more performance characteristics for the second device processing unit responsive to the recalling of the at least one power credit.

5. The method of claim 4 , wherein the second device processing unit at least one of: degrades a calculation rate, degrades a calculation accuracy, avoids performing at least one processing step, reduces an operating voltage, or reduces an operating frequency.

6. The method of claim 1 , wherein the one or more control circuitries manage the respective peak power by managing a data throughput according to the number of the power credits distributed to the respective device processing unit.

7. The method of claim 1 , wherein the one or more control circuitries manage the respective peak power by delaying execution of one or more processes according to the number of the power credits distributed to the respective device processing unit.

8. The method of claim 1 , wherein the one or more performance characteristics comprise at least one of a predicted peak power consumption, a predicted execution completion deadline, or a predicted slack time.

9. The method of claim 1 , further comprising:

receiving, by the one or more control circuitries, from the first device processing unit, a request to recall a power credit allocated to the first device processing unit;

recalling, by the one or more control circuitries, the power credit from the first device processing unit.

10. The method of claim 9 , further comprising:

allocating, by the one or more control circuitries, the power credit recalled from the first device processing unit to the second device processing unit.

11. A device comprising:

a plurality of device processing units, the plurality of device processing units including a first device processing unit comprising one of a central processing unit (CPU), a graphics processing unit (GPU), a display interface, a sensing unit, a compression unit, a camera unit, an input/output (I/O) unit, a decoder, or an encoder, and a second device processing unit comprising a different one of the CPU, the GPU, the display interface, the sensing unit, the compression unit, the camera unit, the I/O unit, the decoder, or the encoder; and

one or more control circuitries configured to:

identify a condition for the device;

apply the condition for the device to one or more models maintained for the plurality of device processing units to determine one or more performance characteristics for the plurality of device processing units, each device processing unit having a respective peak power which is a portion of an aggregate peak power of the device; and

distribute power credits to the plurality of device processing units, including a first number of power credits to the first device processing unit and a second number of power credits to the second device processing unit, according to the determined performance characteristics for the plurality of device processing units, to manage the respective peak power for each respective device processing unit according to a number of the power credits distributed to the respective device processing unit, wherein

the one or more control circuitries distributes the power credits to the plurality of device processing units, according to an impact of quality of service (QoS) levels for a respective device processing unit to a device QoS for the device.

12. The device of claim 11 , wherein the one or more control circuitries are configured to:

receive a request for additional power credits from the first device processing unit;

determine an available number of power credits for the device; and

allocate at least one additional power credit for the first device processing unit according to the available number of power credits.

13. The device of claim 11 , wherein the one or more control circuitries are configured to:

receive a request for additional power credits from the first device processing unit;

determine, according to the one or more models, a QoS level for the first device processing unit and a QoS level for the second device processing unit;

recall at least one power credit from the second device processing unit; and

allocate the at least one power credit to the device first processing unit.

14. The device of claim 13 , wherein the second device processing unit degrades at least one of the one or more performance characteristics for the second device processing unit responsive to the recalling of the at least one power credit.

15. The device of claim 14 , wherein the second device processing unit at least one of: degrades a calculation rate, degrades a calculation accuracy, avoids performing at least one processing step, reduces an operating voltage, or reduces an operating frequency.

16. The device of claim 11 , wherein the one or more control circuitries manage the respective peak power by managing a data throughput according to the number of the power credits distributed to the respective device processing unit.

17. The device of claim 11 , wherein the one or more control circuitries manage the respective peak power by delaying an execution of one or more processes according to the number of the power credits distributed to the respective device processing unit.

18. The device of claim 11 , wherein the one or more performance characteristics comprise at least one of a predicted peak power consumption, a predicted execution completion deadline, or a predicted slack time.

19. The device of claim 11 , wherein the one or more control circuitries are configured to:

receiving, by the one or more control circuitries, from the first device processing unit, a request to recall a power credit allocated to the first device processing unit;

recalling, by the one or more control circuitries, the power credit from the first device processing unit; and

allocating, by the one or more control circuitries, the power credit recalled from the first device processing unit to the second device processing unit.

20. A non-transitory computer readable medium storing instructions that, when executed by one or more control circuitries, cause the one or more control circuitries to:

identify a condition for a device;

apply the condition for the device to one or more models maintained for a plurality of device processing units of the device to determine one or more performance characteristics for the plurality of device processing units, each device processing unit having a respective peak power which is a portion of an aggregate peak power of the device, the plurality of device processing units including a first device processing unit comprising one of a central processing unit (CPU), a graphics processing unit (GPU), a display interface, a sensing unit, a compression unit, a camera unit, an input/output (I/O) unit, a decoder, or an encoder, and a second device processing unit comprising a different one of the CPU, the GPU, the display interface, the sensing unit, the compression unit, the camera unit, the I/O unit, the decoder, or the encoder; and

distribute power credits to the plurality of device processing units, including a first number of power credits to the first device processing unit and a second number of power credits to the second device processing unit, according to the determined performance characteristics for the plurality of device processing units, to manage the respective peak power for the respective device processing unit according to a number of the power credits distributed to the respective device processing unit, wherein

the one or more control circuitries distributes the power credits to the plurality of device processing units, according to an impact of quality of service (QoS) levels for a respective device processing unit to a device QoS for the device.

Assignments (2)
CHANGE OF NAME Recorded Jul 22, 2022
From: FACEBOOK TECHNOLOGIES, LLC
To: META PLATFORMS TECHNOLOGIES, LLC
Reel/Frame 060816/0634 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 29, 2022
From: FRUCHTER, VLAD; SITAPARA, NISHANT; JAFFARI, JAVID; YARDI, SHRIRANG MADHAV; ZANDIAN, BARDIA
To: FACEBOOK TECHNOLOGIES, LLC
Reel/Frame 059424/0108 →
Continuity (2)
Provisional Application 63284286 · Nov 30, 2021
Related Publication 20230168729A1 · Jun 1, 2023