HAPPE: Human and Application-Driven Frequency Scaling for Processor Power Efficiency

Conventional dynamic voltage and frequency scaling techniques use high CPU utilization as a predictor for user dissatisfaction, to which they react by increasing CPU frequency. In this paper, we demonstrate that for many interactive applications, perceived performance is highly dependent upon the particular user and application, and is not linearly related to CPU utilization. This observation reveals an opportunity for reducing power consumption. We propose Human and Application driven frequency scaling for Processor Power Efficiency (HAPPE), an adaptive user-and-application-aware dynamic CPU frequency scaling technique. HAPPE continuously adapts processor frequency and voltage to the learned performance requirement of the current user and application. Adaptation to user requirements is quick and requires minimal effort from the user (typically a handful of key strokes). Once the system has adapted to the user's performance requirements, the user is not required to provide continued feedback but is permitted to provide additional feedback to adjust the control policy to changes in preferences. HAPPE was implemented on a Linux-based laptop and evaluated in 22 hours of controlled user studies. Compared to the default Linux CPU frequency controller, HAPPE reduces the measured system-wide power consumption of CPU-intensive interactive applications by 25 percent on average while maintaining user satisfaction.

[1]  Vibhore Vardhan,et al.  Power Consumption Breakdown on a Modern Laptop , 2004, PACS.

[2]  Peter A. Dinda,et al.  User- and process-driven dynamic voltage and frequency scaling , 2009, 2009 IEEE International Symposium on Performance Analysis of Systems and Software.

[3]  Rami G. Melhem,et al.  Minimizing expected energy consumption in real-time systems through dynamic voltage scaling , 2007, TOCS.

[4]  Peter A. Dinda,et al.  Power to the people: Leveraging human physiological traits to control microprocessor frequency , 2008, 2008 41st IEEE/ACM International Symposium on Microarchitecture.

[5]  Krisztián Flautner,et al.  Vertigo: Automatic Performance-Setting for Linux , 2002, OSDI.

[6]  Ahmad Rahmati,et al.  Understanding human-battery interaction on mobile phones , 2007, Mobile HCI.

[7]  Massoud Pedram,et al.  Dynamic voltage and frequency scaling based on workload decomposition , 2004, Proceedings of the 2004 International Symposium on Low Power Electronics and Design (IEEE Cat. No.04TH8758).

[8]  Niraj K. Jha,et al.  User-perceived latency driven voltage scaling for interactive applications , 2005, Proceedings. 42nd Design Automation Conference, 2005..

[9]  Venkatesh Pallipadi,et al.  The Ondemand Governor Past, Present, and Future , 2010 .

[10]  Margaret Martonosi,et al.  A dynamic compilation framework for controlling microprocessor energy and performance , 2005, 38th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO'05).

[11]  Peter A. Dinda,et al.  Measuring and understanding user comfort with resource borrowing , 2004, Proceedings. 13th IEEE International Symposium on High performance Distributed Computing, 2004..

[12]  Peter A. Dinda,et al.  Realistic CPU Workloads through Host Load Trace Playback , 2000, LCR.

[13]  Hiroshi Nakamura,et al.  An intra-task dvfs technique based on statistical analysis of hardware events , 2007, CF '07.

[14]  Peter A. Dinda,et al.  PICSEL: measuring user-perceived performance to control dynamic frequency scaling , 2008, ASPLOS.

[15]  Peter A. Dinda,et al.  User-Driven Frequency Scaling , 2006, IEEE Computer Architecture Letters.

[16]  Zheng Wang,et al.  Using latency to evaluate interactive system performance , 1996, OSDI '96.

[17]  Alan Jay Smith,et al.  Using user interface event information in dynamic voltage scaling algorithms , 2002, 11th IEEE/ACM International Symposium on Modeling, Analysis and Simulation of Computer Telecommunications Systems, 2003. MASCOTS 2003..

[18]  Peter A. Dinda,et al.  Learning and Leveraging the Relationship between Architecture-Level Measurements and Individual User Satisfaction , 2008, 2008 International Symposium on Computer Architecture.