IP Library Granted Patent US 8,706,652
Granted Patent B2
US 8,706,652 · App. 12/796,934 · Granted Apr 22, 2014

System and method for controlling power consumption in a computer system based on user satisfaction

Inventors: Lei Yang (Sunnydale, CA); Robert P. Dick (Chelsea, MI); Xi Chen (San Jose, CA); Gokhan Memik (Evanston, IL); Peter A. Dinda (Evanston, IL); Alex Shye (Evanston, IL); Berkin Ozisikyilmaz (Chicago, IL); Arindam Mallik (Leuven, BE); Alok Choudhary (Chicago, IL)
Assignee: Northwestern University
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 8,706,652
App. No.
12/796,934
Granted
Apr 22, 2014
Kind
B2
Abstract

Systems and methods for controlling power consumption in a computer system. For each of a plurality of interactive applications, the method changes a frequency at which a processor of the computer system runs, receives an indication of user satisfaction, determines a relationship between the changed frequency and the user satisfaction of the interactive application, and stores the determined relationship information. The determined relationship can distinguish between different users and different interactive applications. A frequency may be selected from the discrete frequencies at which the processor of the computer system runs based on the determined relationship information for a particular user and a particular interactive application running on the processor of the computer system. The processor may be adapted to run at the selected frequency.

Claims (31)

1. A method for controlling power consumption in a computer system, comprising:

for each of a plurality of interactive applications:

changing a discrete frequency at which a processor of the computer system runs;

receiving an indication of user satisfaction in response to the changed discrete frequency;

training the computer system to determine a relationship information between the changed discrete frequency and the user satisfaction of the interactive application, wherein the determined relationship distinguishes between different users and different interactive applications; and

storing the determined relationship information;

selecting a frequency of the discrete frequencies at which the processor of the computer system runs based on the determined relationship information for a particular user and a particular interactive application running on the processor of the computer system; and

adapting the processor of the computer system to run at the selected frequency.

2. The method according to claim 1 , wherein the determined relationship is stored in a user application frequency profile.

3. The method according to claim 1 , wherein the selected frequency is a highest frequency of the discrete frequencies to satisfy concurrent users of the computer system.

4. The method according to claim 1 , wherein the determined relationship distinguishes between different combinations of concurrently running interactive applications.

5. The method according to claim 1 , wherein the determined relationship is stored in a user application frequency profile that divides normalized CPU utilization into a plurality of discrete levels.

6. The method according to claim 5 , wherein normalized CPU utilization is normalized by a maximum frequency of the discrete frequencies.

7. The method according to claim 5 , wherein, during the training, a user satisfaction frequency is determined for each of the discrete levels of the normalized CPU utilization.

8. The method according to claim 5 , wherein the computer system learns a least a respective frequency that satisfies a corresponding user for different discrete levels of the normalized CPU utilization for a particular interactive application.

9. The method according to claim 8 , comprising:

automatically loading the determined relationship when upon later invocation of the particular interactive application.

10. The method according to claim 1 , comprising:

minimizing power consumption of the processor without degrading user-perceived performance.

11. The method according to claim 1 , wherein the training comprises monitoring key-press events to determine an optimal frequency for a particular user and a particular interactive application.

12. The method according to claim 11 , wherein the monitoring comprises monitoring a performance key and a power key.

13. The method according to claim 1 , wherein the training comprises building a correlation network based on a counter statistics and user feedback.

14. The method according to claim 1 , wherein the training comprises counting by hardware performance counters.

15. The method according to claim 14 , wherein the hardware performance counters count respective types of events.

16. The method according to claim 15 , wherein the types of events comprise one or more of the following: instructions issued, cycles stalled on any response, total cycles, level 2 cache misses, branch target address cache misses, conditional branches mispredicted, hardware interrupts, level 1 data cached accesses, and level 1 instruction cache accesses.

17. The method according to claim 16 , wherein the training comprises determining correlations based on the user satisfaction and counts on the hardware performance counters.

18. The method according to claim 1 , wherein the training comprises modeling a user-aware performance prediction model based on at least the determined correlations.

19. The method according to claim 18 , wherein the training comprises training an artificial neural network that can predict the user satisfaction for particular operating conditions as indicated by hardware performance counters.

20. The method according to claim 19 , comprising:

predicting, for a particular user and a particular interactive application, the user satisfaction for particular current operating conditions as indicated by current hardware performance counters,

wherein the selecting of the frequency is based on the predicted user satisfaction.

Assignments (3)
CONFIRMATORY LICENSE Recorded Mar 6, 2014
From: NORTHWESTERN UNIVERSITY
To: U.S. DEPARTMENT OF ENERGY
Reel/Frame 032365/0022 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 20, 2010
From: YANG, LEI; DICK, ROBERT P.; CHEN, XI; MEMIK, GOKHAN; DINDA, PETER A.; SHYE, ALEX; OSISIKYILMAZ, BERKIN; MALLIK, ARINDAM; CHOUDHARY, ALOK
To: NORTHWESTERN UNIVERSITY
Reel/Frame 024865/0744 →
CONFIRMATORY LICENSE Recorded Aug 5, 2010
From: NORTHWESTERN UNIVERSITY
To: NATIONAL SCIENCE FOUNDATION
Reel/Frame 024796/0139 →
Continuity (3)
Provisional Application 61185365 · Jun 9, 2009
Provisional Application 61185381 · Jun 9, 2009
Related Publication 20110004575A1 · Jan 6, 2011