Automatic Performance Setting for Dynamic Voltage Scaling
Total Page:16
File Type:pdf, Size:1020Kb
Automatic Performance Setting for Dynamic Voltage Scaling Krisztián Flautner [email protected] Steve Reinhardt Trevor Mudge Krisztián Flautner - [email protected] Automatic Performance Setting for Dynamic Voltage Scaling 1 Overview • A mechanism for quantifying the user experience. – Metric: response time. – Automatic, no user program modifications required. – Run-time feedback to the kernel. • Guiding performance setting of DVS processors. – For interactive episodes: slow down processor to save energy when response times are fast enough. – For periodic events: track periodicity, utilization and inter- task communication to establish necessary performance. • Simulated and experimental results. Krisztián Flautner - [email protected] Automatic Performance Setting for Dynamic Voltage Scaling 2 Dynamic Voltage Scaling Execute only as fast as necessary to meet deadlines. Running fast and idling is not energy efficient. Power = Capacitance • voltage2 • frequency • Voltage is proportional to the frequency. • Reduce f and v to match performance demands. • Reduced frequency implies longer execution time. Energy ~ voltage2 Krisztián Flautner - [email protected] Automatic Performance Setting for Dynamic Voltage Scaling 3 Why bother? 100 Pentium II (R) Pentium Pro ? (R) Pentium(R) Pentium(R) 10 MMX 486 486 Max Power (Watts) Power Max 386 386 Source: Intel 1 1.5µ 1µ 0.8µ 0.6µ 0.35µ 0.25µ 0.18µ 0.13µ Higher performance = increased power consumption. Krisztián Flautner - [email protected] Automatic Performance Setting for Dynamic Voltage Scaling 4 Power Density! 1000 Rocket Nozzle Sun’s Nuclear Reactor Surface 100 ? 2 Watts/cm 10 Hot plate 1 Source: Intel 1.5µ 0.8µ 0.35µ 0.18µ 0.1µ Krisztián Flautner - [email protected] Automatic Performance Setting for Dynamic Voltage Scaling 5 Small performance reduction = big energy savings 2 1 1.6 0.8 Energy factor 1.2 0.6 Voltage (V) 0.8 0.4 0.4 0.2 Graph based on Intel XScale data 0 0 0 200 400 600 800 1000 1200 Frequency (Mhz) 20% performance reduction = 32% energy reduction 40% performance reduction = 55% energy reduction Krisztián Flautner - [email protected] Automatic Performance Setting for Dynamic Voltage Scaling 6 Processors supporting DVS Transmeta Intel XScale lpARM Intel SA-1100 Intel XScale Crusoe 5600 Demo 8Mhz 59Mhz 500Mhz 150Mhz 150Mhz Min. 1.1V 0.79V 1.2V 0.75V 0.75V 1.8mW 106mW ~1W 40mW 40mW 100Mhz 251Mhz 700Mhz 800Mhz 1000Mhz Max. 3.3V 1.65V 1.6V 1.5V 1.75V 220mW 964mW ~2W 900mW 1.45W Process 0.6 0.35 0.18 0.18 0.18 Max/min 9 4.4 1.8 4 5.4 energy Krisztián Flautner - [email protected] Automatic Performance Setting for Dynamic Voltage Scaling 7 Some recent desktop processors AMD Athlon Intel Pentium IV Intel Pentium III MPC 7450 Model 4 500Mhz @ 1.35V 650Mhz @ 1.75V 533Mhz @ 1.8V Core 1.4Ghz @ 1.7V 733Mhz @ 1.65V 1.2Ghz @ 1.75V 667Mhz @ 1.8V 100Mhz, 133Mhz 200Mhz, 266Mhz 133Mhz I/O 400Mhz 3.3V 1.6V 1.8V-2.5V Process 0.18 0.18 0.18 0.18 Max. 12W 38W 17W 66.3W Power 19.1W 66W 19.1W Krisztián Flautner - [email protected] Automatic Performance Setting for Dynamic Voltage Scaling 8 Performance setting algorithms • Programmer specified – Works well but requires explicit specification of deadlines. • Interval based algorithms – Use the ratio of idle to busy time to guide DVS. – Only work well if processor utilization is regular. – No service quality guarantees. • Ours: episode classification based – Find important execution episodes – predict their performance. – Works with existing user programs. – Works well with irregular workloads. – Uses information in kernel to derive deadlines automatically. – Impact on response time is automatically quantified. • Performance can be adapted to the user’s preference. Krisztián Flautner - [email protected] Automatic Performance Setting for Dynamic Voltage Scaling 9 Episode classification • Interactive episodes – When the user is waiting for the computer to respond. • Periodic episodes – Producer (e.g. MP3 player). – Consumer (e.g. sound daemon). Krisztián Flautner - [email protected] Automatic Performance Setting for Dynamic Voltage Scaling 10 A utilization trace Each horizontal quantum is a millisecond, height corresponds to the utilization in that quantum. Krisztián Flautner - [email protected] Automatic Performance Setting for Dynamic Voltage Scaling 11 Episode classification Interactive (Acrobat Reader), Producer (MP3 playback), and Consumer (esd sound daemon) episodes. Krisztián Flautner - [email protected] Automatic Performance Setting for Dynamic Voltage Scaling 12 Mouse movement X server updates screen every ~10ms. Update takes ~0.25ms. Krisztián Flautner - [email protected] Automatic Performance Setting for Dynamic Voltage Scaling 13 Interactive episodes Krisztián Flautner - [email protected] Automatic Performance Setting for Dynamic Voltage Scaling 14 Interactive episodes can include idle time Waiting for data from the network during a run of Netscape. Page rendering starts after 250ms. Krisztián Flautner - [email protected] Automatic Performance Setting for Dynamic Voltage Scaling 15 Finding interactive episodes • One way: mouse click indicates start, idle time indicates end. – Inaccurate, latency in finding the end of the episode. • Our approach: track inter-task communication. – Start of an interactive episode: • X server sends a message to another task. – During interactive episode: • Keep track of communicating tasks (episode’s task set). • Compute desired metrics. – Conditions for ending the episode (applied to tasks in task set): • No tasks are executing. • Data written by the tasks have been consumed. • No task was preempted the last time it ran. • No tasks are blocked on I/O. Krisztián Flautner - [email protected] Automatic Performance Setting for Dynamic Voltage Scaling 16 Characteristics of Interactive Episodes • Faster is not necessarily better. – Human perception has finite resolution. – Perception threshold is ~50ms. – The goal is to run fast enough to meet the perception threshold, no point to running any faster. • Many interactive episodes are already fast enough. • More will be imperceptible in the near future. – 200ms perception threshold today estimates work done during 50ms 3 years from now. Slow down the processor! Krisztián Flautner - [email protected] Automatic Performance Setting for Dynamic Voltage Scaling 17 Time above the perception threshold 100% 80% 60% 40% Acrobat Reader 20% FrameMaker Ghostview Time aboveTime the perception threshold GIMP Nets cape 0% 50ms 100ms 150ms 200ms 250ms 300ms Perception threshold Time above the perception threshold is given as a percentage of time spent in all interactive episodes. Krisztián Flautner - [email protected] Automatic Performance Setting for Dynamic Voltage Scaling 18 The key: performance-setting algorithm • Use episode detection and classification. – Interactive episodes. – Periodic episodes (producer and consumer). • Performance-setting on a per episode basis. • Stretch episodes to their deadlines. – Interactive episode: perception threshold. – Stretch producer to consumer. No modification of existing programs needed. Works with irregular processor utilization and multiprogramming. Krisztián Flautner - [email protected] Automatic Performance Setting for Dynamic Voltage Scaling 19 Cumulative interactive episode length distribution Minimum performance level sufficient Max. performance 10ms 50ms 100% 90% 80% 70% 60% 50% 40% FrameMaker 30% 20% Cumulative number 10% Cumulative time 0% 1e-05 0.0001 0.001 0.01 0.1 1 Episode length (sec) Krisztián Flautner - [email protected] Automatic Performance Setting for Dynamic Voltage Scaling 20 Performance-setting strategy for interactive episodes • Predict the performance factor that would be correct most of the time (not for most events). – Based on past optimal performance factors. • Limit worst case impact on response time. – Run at full performance after PanicThreshold is reached. Krisztián Flautner - [email protected] Automatic Performance Setting for Dynamic Voltage Scaling 21 Performance-setting for interactive episodes At the beginning of the episode • Wait 5ms before transition to ignore short episodes • Switch to predicted performance level. During the episode • If episode duration reaches PanicThreshold, switch to maximum performance. At the end of the episode • Estimate full performance episode duration. • Compute optimum performance level for past episode. • Compute new prediction based on optimum settings. PanicThreshold = PerceptionThreshold(1 + PerformanceFactor) Predicted PerformanceFactor is the average of past optimum settings, weighted by the corresponding episode lengths. Krisztián Flautner - [email protected] Automatic Performance Setting for Dynamic Voltage Scaling 22 Performance-setting algorithm Periodic activity detected • Enter period-sampling mode. • Switch to maximum performance. • Establish base performance level. • Exit period-sampling mode. Start of interactive episode • If not in period-sampling mode, apply interactive episode performance-setting policy. End of interactive episode • Update interactive episode statistics. • Switch to base performance level, if there is periodic activity on the machine. Krisztián Flautner - [email protected] Automatic Performance Setting for Dynamic Voltage Scaling 23 Performance-setting during the Acrobat Reader benchmark (200ms p.t.) 1 0.8 0.6 0.4 Transitions to maximum performance level are due to Performance factor reaching