user- and process-driven dynamic voltage and frequency scaling

33
User- and Process-Driven Dynamic Voltage and Frequency Scaling Bin Lin Arindam Mallik Peter Dinda Gokhan Memik Robert Dick Empathic Systems Project Department of Electrical Engineering and Computer Science Northwestern University http://empathicsystems.org

Upload: qiana

Post on 12-Jan-2016

53 views

Category:

Documents


0 download

DESCRIPTION

User- and Process-Driven Dynamic Voltage and Frequency Scaling. Bin Lin Arindam Mallik Peter Dinda Gokhan Memik Robert Dick Empathic Systems Project Department of Electrical Engineering and Computer Science Northwestern University http://empathicsystems.org. Summary. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: User- and Process-Driven Dynamic Voltage and Frequency Scaling

User- and Process-DrivenDynamic Voltage and Frequency Scaling

Bin LinArindam Mallik

Peter DindaGokhan Memik

Robert Dick

Empathic Systems ProjectDepartment of Electrical Engineering and Computer Science

Northwestern University

http://empathicsystems.org

Page 2: User- and Process-Driven Dynamic Voltage and Frequency Scaling

2

Summary

• User-Driven Frequency Scaling (UDFS)– Adjust CPU frequency according to satisfaction of

individual user, exploiting variation in satisfaction among users

• Process-Driven Voltage Scaling (PDVS)– Adjust voltage at frequency and temperature based

on profile of the individual processor, exploiting variation among processors

• ~50% power reduction on Windows tasks compared to Windows DVFS– User study, measured system power

Page 3: User- and Process-Driven Dynamic Voltage and Frequency Scaling

3

Outline• Summary• User-Driven frequency scaling (UDFS)

– User pessimism study– UDFS2 algorithm

• Process-Driven voltage scaling (PDVS)– PDVS profiling

• Evaluation of UDFS and PDVS• Work in context• Conclusion

Page 4: User- and Process-Driven Dynamic Voltage and Frequency Scaling

4

User Satisfaction With CPU Frequency

• How satisfied are users of different applications at different clock frequencies?

• Earlier work suggests there will much variation

• User Study– 8 users– 3 frequencies + Windows XP DVFS– 3 typical Windows apps

• Presentation, Animation, Game– Rate comfort on Leikert-like 1 to 10 scale

Page 5: User- and Process-Driven Dynamic Voltage and Frequency Scaling

5

• Dramatic variation in user satisfaction for fixed frequencies– And for DVFS

• Setting frequency for worse case user is pessimistic

• Setting it for an “average” user is also wrong

Presentation

Game

Page 6: User- and Process-Driven Dynamic Voltage and Frequency Scaling

6

User-Driven Frequency Scaling (UDFS)

• Developed system to dynamically customize frequency to the individual user– Key idea: user feedback at run-time– User presses “irritation button” (F11) as input

• But not too often!

– 2 very simple learning algorithms• UDFS1, UDFS2

Page 7: User- and Process-Driven Dynamic Voltage and Frequency Scaling

UDFS2 Algorithm

• Goal: probe to find the lowest frequency level the user is comfortable at and stabilize there

• General idea: react additively to both passage of time and user irritation events; also update rate of reaction based on rate of user feedback– UDSF1, in contrast, is an additive

increase/multiplicative decrease algorithm, analogous to TCP Reno congestion control

7

Page 8: User- and Process-Driven Dynamic Voltage and Frequency Scaling

UDFS2 Algorithm

• Each frequency level ri has interval ti

– ti = 10 seconds, initially

– ri are frequencies in descending order

• User not irritated in current interval ti ?

– Switch frequency to ri+1 , interval ti+1

• Let’s go slower in the next interval

8

Page 9: User- and Process-Driven Dynamic Voltage and Frequency Scaling

UDFS2 Algorithm

• User irritated in current interval ti ?

– ti-1 = ti-1 (• We should spend more time at the next highest

frequency

– tk = tk k: ki-1 (• We should spend less time at the other

frequencies, including this one

– Switch frequency to ri-1 , interval ti-1

= 2.5, =0.8 in our studies 9

Page 10: User- and Process-Driven Dynamic Voltage and Frequency Scaling

UDFS2 in Action(User is playing a game)

10

Note Convergence

Page 11: User- and Process-Driven Dynamic Voltage and Frequency Scaling

11

Outline• Summary• User-Driven frequency scaling (UDFS)

– User pessimism study– UDFS2 algorithm

• Process-Driven voltage scaling (PDVS)– PDVS profiling

• Evaluation of UDFS and PDVS• Work in context• Conclusion

Page 12: User- and Process-Driven Dynamic Voltage and Frequency Scaling

CPU Voltage

• Minimum voltage needed for CPU stability is a function of frequency and temperature

• Claim: function varies across individual parts for many interesting processors

• Hence, we can do better than the worst case (nominal) function– P V2CF makes even small changes

significant

12

Page 13: User- and Process-Driven Dynamic Voltage and Frequency Scaling

Example

13

2.13 GHz Pentium M-770 in a Thinkpad T43p

This processor can be run at lower voltages than specifications indicate

Page 14: User- and Process-Driven Dynamic Voltage and Frequency Scaling

Process-Driven Voltage Scaling

14

• Profiling System (Boot CD)– Workload generator

– Temperature monitor

– Frequency selector

– Voltage selector

– Watchdog timer

• For each frequency/temperature– Modulate workload to maintain

temperature

– Decrease voltage until watchdog timer fires and reboots machine

• Profiling system implemented by Nikolay Valtchanov and Matt Robben

Profile:min_voltage(frequency, temperature)

Any DVFS Scheme

Page 15: User- and Process-Driven Dynamic Voltage and Frequency Scaling

15

Outline• Summary• User-Driven frequency scaling (UDFS)

– User pessimism study– UDFS2 algorithm

• Process-Driven voltage scaling (PDVS)– PDVS profiling

• Evaluation of UDFS and PDVS• Work in context• Conclusion

Page 16: User- and Process-Driven Dynamic Voltage and Frequency Scaling

Experimental Setup• IBM Thinkpad T43p

– 2.13 GHz Pentium M-770

– 1 GB RAM

– Windows XP SP2

• UDFS system (or Windows DVFS) runs online, adjusting CPU frequency as user interacts with the system and applications

• PDVS effects and power measurements/analysis are done offline, using logs from UDFS and user traces– System power measurement

– CPU dynamic power via simulation

16

Page 17: User- and Process-Driven Dynamic Voltage and Frequency Scaling

Application Tasks

• Use Microsoft Powerpoint 2003 to replicate a presentation while listening to background music with Windows Media Player 10

• Watch 3D Shockwave animation with Microsoft Internet Explorer (locally stored animation)

• Play FIFA 2005 Soccer (first person shooter game)

17

Page 18: User- and Process-Driven Dynamic Voltage and Frequency Scaling

Users• 20 participants recruited from Northwestern

population via IRB-approved methods

• Participants self-identified as “Power User”, “Typical User”, “Beginner” for each application, plus PCs and Windows

• A demographic mix

18

Page 19: User- and Process-Driven Dynamic Voltage and Frequency Scaling

Study Process

• Fill out a questionnaire (2 minutes)

• Read a one page handout (2 minutes)

• Acclimatize to the performance of our machine by using the apps (5 minutes)

• Perform the following tasks for UDFS1– Powerpoint (4 minutes)– 3D Shockwave (4 minutes)– FIFA game (8 minutes)

• Repeat previous for UDFS219

Page 20: User- and Process-Driven Dynamic Voltage and Frequency Scaling

ResultsCompared to Windows DVFS Unless Otherwise Noted

• Measured system power– UDFS1, UDFS2, UDFS1+PDVS,

UDFS2+PDVS, Windows DVFS+PDVS

• Simulated CPU dynamic power– UDFS1, UDFS2, UDFS1+PDVS,

UDFS2+PDVS, Windows DVFS+PDVS

• Measured mean and peak temperature– UDFS1, UDFS2, UDFS1+PDVS, UDFS2+PDVS

• User irritation event rate (UDFS1,2)• Multitasking study

20

Page 21: User- and Process-Driven Dynamic Voltage and Frequency Scaling

Measured System Power(PowerPoint, % improvement over Windows DVFS)

21

PDVS dominates gains for less interactive applications with little user-user variance

Page 22: User- and Process-Driven Dynamic Voltage and Frequency Scaling

Measured System Power(FIFA, % improvement over Windows DVFS)

22

UDFS contributes significant gains for more interactive applications

Page 23: User- and Process-Driven Dynamic Voltage and Frequency Scaling

Measured Temperature(PowerPoint)

23

Significant temperature reductions are possible using UDFS and PDVS

Page 24: User- and Process-Driven Dynamic Voltage and Frequency Scaling

Measured Temperature(FIFA Game)

24

Significant temperature reductions are possible using UDFS and PDVS

Page 25: User- and Process-Driven Dynamic Voltage and Frequency Scaling

User Irritation Button Presses

Rate of user feedback can be low, and can decrease with time

25

First 4 minutes Second 4 minutes

Page 26: User- and Process-Driven Dynamic Voltage and Frequency Scaling

26

Outline• Summary• User-Driven frequency scaling (UDFS)

– User pessimism study– UDFS2 algorithm

• Process-Driven voltage scaling (PDVS)– PDVS profiling

• Evaluation of UDFS and PDVS• Work in context• Conclusion

Page 27: User- and Process-Driven Dynamic Voltage and Frequency Scaling

Work In Context of Power Management Efforts in the Empathic Systems Project (empathicsystems.org)

• A. Gupta, B. Lin, P. Dinda, Measuring And Understanding User Comfort With Resource Borrowing, HPDC 2004

– Opportunity paper: Identification of variance in user satisfaction with systems decisions• P. Dinda, G. Memik, R. Dick, B. Lin, A. Mallik, A. Gupta, S. Rossoff, The User In Experimental

Computer Systems Research, ExpCS 2007– Position paper: overview of goals of project and advocacy for user-driven work

• A. Mallik, J. Cosgrove, R. Dick, G. Memik, P. Dinda, PICSEL: Measuring User-Perceived Performance to Control Dynamic Frequency Scaling, ASPLOS 2008

– Customize power management to user by observing output to him• A. Shye, B. Ozisikyilmaz, A. Mallik, G. Memik, P. Dinda, R. Dick, A. Choudhary, Learning and

Leveraging the Relationship between Architectural-level Measurements and Individual User Satisfaction, ISCA 2008

– Learn performance counter->user satisfaction and use in power management• A. Shye, Y. Pan, B. Scholbrock, J. S. Miller, G. Memik, P. Dinda, R. Dick, Power to the People:

Leveraging Human Physiological Traits to Control Microprocessor Frequency, MICRO 2008– Measure user satisfaction using biometrics and use in power management

• [This paper]– Direct user feedback for power management + PDVS

27

Page 28: User- and Process-Driven Dynamic Voltage and Frequency Scaling

Related Work• DVFS in general

– Gochman, et al [Intel Tech Journal], Broch, et al [SOC03], and many more…

• Dynamic Thermal Management– Liu, et al [IEEE JSSC-93], Brookes, et al [WCED00], Crusoe,

Intel Pentium-M, etc…

• PDVS-related– Teodorescu, et al [ISCA08], Razor [Ernst, et al, MICRO03],

Dhar, et al [ISLPED05], Intel Foxton, AutoDVS [EMSOFT05], etc…

• UDFS-related– Lorch, et al [UCB TR], Yan, et al [DAC05], Vertigo [OSDI02], Xu,

et al [EMSOFT05], Ranga, et al [IEEE Computer-06], Anand, et al [MOBICOMM03], Theocharous, et al [Intel Tech Journal 06]

28

Page 29: User- and Process-Driven Dynamic Voltage and Frequency Scaling

29

Conclusion

• User-Driven Frequency Scaling (UDFS)– Adjust CPU frequency according to satisfaction of individual

user, exploiting variation in satisfaction among users

• Process-Driven Voltage Scaling (PDVS)– Adjust voltage at frequency and temperature based on

profile of the individual processor, exploiting variation among processors

• ~50% power reduction on Windows tasks compared to Windows DVFS– User study, measured system power

• Variation is opportunity

Page 30: User- and Process-Driven Dynamic Voltage and Frequency Scaling

30

For MoreInformation

• Empathic Systems Project– http://empathicsystems.org

• Prescience Lab– http://presciencelab.org

• Peter Dinda– http://pdinda.org

Page 31: User- and Process-Driven Dynamic Voltage and Frequency Scaling

Measured System Power(Multitasking Study, % improvement over Windows DVFS))

31

Multitasking appears to increase benefitsSmall additional study where user watched 3D animation while also

listening to MP3s using Windows Media Player

Page 32: User- and Process-Driven Dynamic Voltage and Frequency Scaling

Measured System Power(3D Shockwave, % improvement over Windows DVFS)

32

UDFS contributes significant gains for more interactive applications

Page 33: User- and Process-Driven Dynamic Voltage and Frequency Scaling

Measured Temperature(3D Shockwave)

33

Significant temperature reductions are possible using UDFS and PDVS