IP Library › Granted Patent US 9,026,817
Granted Patent B2
US 9,026,817 · App. 13/538,103 · Granted May 5, 2015

Joint optimization of processor frequencies and system sleep states

Inventors: Alexander W. Min (Portland, OR); Ren Wang (Portland, OR); Jr-Shian Tsai (Portland, OR); Mesut A. Ergin (Portland, OR); Tsung-Yuan C. Tai (Portland, OR); Andrew D. Henroid (Portland, OR); Ashish V. Choubal (Austin, TX); Bruce L. Fleming (Morgan Hill, CA)
Assignee: Intel Corporation
G06F1/324Y02B60/1217Y02B60/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 9,026,817
App. No.
13/538,103
Granted
May 5, 2015
Kind
B2
Abstract

Systems and methods may provide for identifying a workload cycle for a computing platform, wherein the workload cycle is to include a busy duration and an idle duration. Additionally, platform energy consumption information may be determined for the workload cycle, and a frequency setting may be selected for the busy duration based at least in part on the platform energy consumption information.

Claims (62)

1. An apparatus comprising:

logic to,

identify a workload cycle for a platform, wherein the workload cycle is to include a busy duration and an idle duration, the busy duration being calculable according to the equation

T b ( f n )=+ T b ( f 1 )*(1 −s )+ T b ( f 1 )* s*f 1 /f n , n= 1 , . . . , N

where T b is a busy duration, f n is a frequency corresponding to a processor state n and n may vary between 1 and N processor states, and s is a scalability factor,

determine platform energy consumption information for the workload cycle, and

select a frequency setting for the busy duration based at least in part on the platform energy consumption information.

2. The apparatus of claim 1 , wherein the logic is to,

determine idle durations for a set of frequency setting candidates, and

determine suggested sleep states for the set of frequency setting candidates based at least in part on the idle durations, wherein the platform energy consumption information is to be determined for the set of frequency setting candidates based at least in part on the suggested sleep states.

3. The apparatus of claim 1 , wherein the idle durations are to be determined based at least in part on a scalability factor.

4. The apparatus of claim 3 , wherein the scalability factor is to reflect a scalability range between a processor bound workload and a memory bound workload.

5. The apparatus of claim 3 , wherein the logic is to determine the scalability factor based at least in part on one or more of memory stall counter values and processor execution counter values.

6. The apparatus of claim 3 , wherein the logic is to determine the scalability factor based at least in part on a heuristic workload response to one or more frequency setting changes.

7. The apparatus of claim 1 , wherein the suggested sleep states are to be determined further based on energy break even times.

8. The apparatus of claim 1 , wherein the logic is to apply the frequency setting to the processor during the busy duration.

9. The apparatus of claim 1 , wherein the frequency setting is to be greater than a lowest available frequency setting.

10. The apparatus of claim 1 , wherein the logic is to place one or more of the platform and the processor in a suggested sleep state associated with the frequency setting during the idle duration.

11. A computing platform comprising:

a processor;

a network controller to provide a workload for the processor; and

logic to,

identify a workload cycle for the platform, wherein the workload cycle is to include a busy duration and an idle duration, the busy duration being calculable according to the equation

T b ( f n )=+ T b ( f 1 )*(1 −s )+ T b ( f 1 )* s*f 1 /f n , n= 1 , . . . , N

where T b is a busy duration, f n is a frequency corresponding to a processor state n and n may vary between 1 and N processor states, and s is a scalability factor,

determine platform energy consumption information for the workload cycle, and

select a frequency setting for the busy duration based at least in part on the platform energy consumption information.

12. The platform of claim 11 , wherein the logic is to,

determine idle durations for a set of frequency setting candidates, and

determine suggested sleep states for the set of frequency setting candidates based at least in part on the idle durations, wherein the platform energy consumption information is to be determined for the set of frequency setting candidates based at least in part on the suggested sleep states.

13. The platform of claim 12 , wherein the idle durations are to be determined based at least in part on a scalability factor.

14. The platform of claim 13 , wherein the scalability factor is to reflect a scalability range between a processor bound workload and a memory bound workload.

15. The platform of claim 13 , wherein the logic is to determine the scalability factor based at least in part on one or more of memory stall counter values and processor execution counter values.

16. A method comprising:

identifying a workload cycle for a platform, wherein the workload cycle includes a busy duration and an idle duration, the busy duration being calculable according to the equation

T b ( f n )=+ T b ( f 1 )*(1 −s )+ T b ( f 1 )* s*f 1 /f n , n= 1 , . . . , N

where T b is a busy duration, f n is a frequency corresponding to a processor state n and n may vary between 1 and N processor states, and s is a scalability factor;

determining platform energy consumption information for the workload cycle; and

selecting a frequency setting for the busy duration based at least in part on the platform energy consumption information.

17. The method of claim 16 , wherein determining the platform energy consumption information includes:

determining idle durations for a set of frequency setting candidates; and

determining suggested sleep states for the set of frequency setting candidates based at least in part on the idle durations, wherein the platform energy consumption information is determined for the set of frequency setting candidates based at least in part on the suggested sleep states.

18. The method of claim 16 , wherein the idle durations are determined based at least in part on a scalability factor.

19. The method of claim 18 , wherein the scalability factor reflects a scalability range between a processor bound workload and a memory bound workload.

20. The method of claim 18 , further including determining the scalability factor based at least in part on one or more of memory stall counter values and processor execution counter values.

21. A non-transitory computer readable storage medium comprising a set of instructions which, if executed by a platform, cause the platform to:

identify a workload cycle for the platform, wherein the workload cycle is to include a busy duration and an idle duration, the busy duration being calculable according to the equation

T b ( f n )=+ T b ( f 1 )*(1 −s )+ T b ( f 1 )* s*f 1 /f n ,n= 1 , . . . , N

where T b is a busy duration, f n is a frequency corresponding to a processor state n and n may vary between 1 and N processor states, and s is a scalability factor;

determine platform energy consumption information for the workload cycle; and

select a frequency setting for the busy duration based at least in part on the platform energy consumption information.

22. The medium of claim 21 , wherein the instructions, if executed, cause the platform to:

determine idle durations for a set of frequency setting candidates; and

determine suggested sleep states for the set of frequency setting candidates based at least in part on the idle durations, wherein the platform energy consumption information is to be determined for the set of frequency setting candidates based at least in part on the suggested sleep states.

23. The medium of claim 22 , wherein the idle durations are to be determined based at least in part on a scalability factor.

24. The medium of claim 23 , wherein the scalability factor is to reflect a scalability range between a processor bound workload and a memory bound workload.

25. The medium of claim 23 , wherein the instructions, if executed, cause the platform to determine the scalability factor based at least in part on one or more of memory stall counter values and processor execution counter values.

26. The medium of claim 23 , wherein the instructions, if executed, cause the platform to determine the scalability factor based at least in part on a heuristic workload response to one or more frequency setting changes.

27. The medium of claim 22 , wherein the suggested sleep states are to be determined further based on energy break even times.

28. The medium of claim 21 , wherein the instructions, if executed, cause the platform to apply the frequency setting to a processor on the platform during the busy duration.

29. The medium of claim 21 , wherein the frequency setting is to be greater than a lowest available frequency setting.

30. The medium of claim 21 , wherein the instructions, if executed, cause the platform to place one or more of itself and a processor on the platform in a suggested sleep state associated with the frequency setting during the idle duration.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 18, 2012
From: MIN, ALEXANDER; WANG, REN; TSAI, JAMES; HENROID, ANDREW; CHOUBAL, ASHISH; FLEMING, BRUCE; ERGIN, MESUT A.; TAI, TSUNG-YUAN CHARLES
To: INTEL CORPORATION
Reel/Frame 028977/0134 →
Continuity (1)
Related Publication 20140006819A1 · Jan 2, 2014