Upload
others
View
8
Download
0
Embed Size (px)
Citation preview
1
Dynamic Voltage Scaling Techniques for Power-efficient MPEG DecodingMasters ThesisPresented byWissam ChedidAdvisorDr. Chansu YuDecember 2nd, 2003Outline• Power trends• Power Management, Dynamic Voltage Scaling (DVS) • MPEG• DVS for MPEG decoding• Experimental framework• Results• Conclusion
2
Outline• Power trends• Power Management, Dynamic Voltage Scaling (DVS) • MPEG• DVS for MPEG decoding• Experimental framework• Results• Conclusion
Dynamic Voltage Scaling Techniques for Power-efficient MPEG DecodingPower Trends• Power= CV2f, Power density= CV2f/Area• New processors:- More integration Higher C- Faster clocks Higher f- Smaller die Smaller Area• More power consumption• More and more power density
3
Power TrendsWatts/cm2
1
10
100
1000
Pentium®Pentium® Pro
Pentium® II
Pentium® III* “New Microarchitecture Challenges in the Coming Generations of* “New Microarchitecture Challenges in the Coming Generations of CMOS Process Technologies” CMOS Process Technologies” –– Fred Pollack, Fred Pollack, Intel Corp. Micro32 conference key note Intel Corp. Micro32 conference key note -- 1999. Courtesy 1999. Courtesy AviAvi MendelsonMendelson, Intel., Intel.Pentium® 4
’93 ’95 ’97 ’99 ’01 ’03 ’05 ’07
Nuclear Reactor
Hot PlateDynamic Voltage Scaling Techniques for Power-efficient MPEG DecodingOutline• Power trends• Power Management, Dynamic Voltage Scaling (DVS) • MPEG• DVS for MPEG decoding• Experimental framework• Results• Conclusion
4
Power Management Techniques• Static Power Management– Offline, during design time.– Estimate power consumption and find power-efficient improvements on different hardware and software levels.• Dynamic Power Management– Online, during runtime.– Monitor running system behavior and apply power-reduction techniques accordingly.Dynamic Voltage Scaling Techniques for Power-efficient MPEG DecodingDynamic Voltage Scaling (DVS)• Power= CV2f• Reducing supply voltage V will reduce power quadratically• Problem:– It incurs more propagation delay and thus, forces a reduction in clock frequency f,Dynamic Voltage Scaling Techniques for Power-efficient MPEG Decoding
5
Dynamic Voltage Scaling (DVS)Dynamic Voltage Scaling Techniques for Power-efficient MPEG Decoding1.2 V300 MHz
1.225 V400 MHz
1.35 V533 MHz
1.5 V600 MHz
1.6 V667 MHz
VoltageFrequency
.975 V300 MHz
1.05 V450 MHz
1.05 V533 MHz
1.15 V677 MHz
1.15 V733 MHz
VoltageFrequency
Transmeta Crusoe processor
Mobile Intel PentiumIII processor
Dynamic Voltage Scaling (DVS)• Power= CV2f• Reducing supply voltage V will reduce power quadratically• Problem:– It incurs more propagation delay and thus, forces a reduction in clock frequency f,– which means longer execution time, i.eperformance degradation ?Dynamic Voltage Scaling Techniques for Power-efficient MPEG Decoding
6
Example: Always-On• Power is still consumed during idle timeVoltage / frequency
(V) (Mhz)
Time(ms)
1.8 / 120
1.6 / 100
1.4 / 80
1.2 / 60
1.0 / 401 3 5 8 9 11 12
Task 1 Idle Task 2 Idle Task 3 Idle
Average Power ~ 388.8 (Always On)
Dynamic Voltage Scaling Techniques for Power-efficient MPEG DecodingExample: On/Off mechanism• Turn off the CPU during idle timeVoltage / frequency
(V) (Mhz)
Time(ms)
1.8 / 120
1.6 / 100
1.4 / 80
1.2 / 60
1.0 / 401 3 5 8 9 11 12
Task 1 Task 2 Task 3
Average Power ~ 388.8 (Always On)Average Power ~ 247.4 (On/Off)Dynamic Voltage Scaling Techniques for Power-efficient MPEG Decoding
7
Average Power ~ 388.8 (Always On)Average Power ~ 247.4 (On/Off)
Example: DVS• DVS adjusts V and f to replace power-wasting idle time with useful execution cyclesVoltage / frequency
(V) (Mhz)
Time(ms)
1.8 / 120
1.6 / 100
1.4 / 80
1.2 / 60
1.0 / 401 5 9 12
Task 1 Idle Task 2 Idle Task 3 Idle
Task 1
Task 2
Task 3
Average Power ~ 147.8 (DVS)
Number of clock cycles 2*120 = 4*60Dynamic Voltage Scaling Techniques for Power-efficient MPEG DecodingDynamic Voltage Scaling (DVS)
Dynamic Voltage Scaling Techniques for Power-efficient MPEG Decoding• Two questions for applying DVS : – Q: which applications are targeted by DVS ?A: DVS is best used for applications whose workload varies over time, like MPEG decoding.– Q: Who is going to predict the workload and adjust the voltage and frequency accordingly ?A: Workload can be predicted on different levels: CPU, OS, and application.• Our scheme is an application-based DVS for MPEG decoding
8
Outline• Power trends• Power Management, Dynamic Voltage Scaling (DVS) • MPEG• DVS for MPEG decoding• Experimental framework• Results• Conclusion� Overview� MPEG encoding� MPEG decoding
• MPEG video compression is used in many current and emerging products (HDTV, DVD players, video conferencing, PDAs, etc.)• MPEG video requires:– Less storage space– Less transmission bandwidth• MPEG (Moving Picture Expert Group) is an ISO/IEC (International Organization for Standardization/International Electro-technical Commission) standard.
Dynamic Voltage Scaling Techniques for Power-efficient MPEG DecodingMPEG
9
• MPEG compression relies on:– Eye’s inability to resolve high frequency color changes– Spatial redundancy (or redundancy within each frame)– Temporal redundancy (or redundancy between adjacent frames)Dynamic Voltage Scaling Techniques for Power-efficient MPEG DecodingMPEG: Encoding
* * ““MPEGMPEG--2: The Basics of how it Works2: The Basics of how it Works””, , Hewlett Packard LabHewlett Packard LabDynamic Voltage Scaling Techniques for Power-efficient MPEG DecodingMPEG: Encoding
10
MPEG: Decoding• MPEG decoding facts:– Different frame types (I,P,B) require different decoding time per byte.– Linear relationship between the ‘number of clock cycles’ and the ‘frame size’.0
1000000
2000000
3000000
4000000
5000000
6000000
7000000
8000000
9000000
10000000
0 20000 40000 60000 80000 100000 120000
Frame size
Num
ber of
cyc
les
BIPDynamic Voltage Scaling Techniques for Power-efficient MPEG DecodingOutline• Power trends• Power Management, Dynamic Voltage Scaling (DVS) • MPEG• DVS for MPEG decoding• Experimental framework• Results• Conclusion � Key issues� Workload estimation� Voltage averaging
11
Voltage / frequency(V) (Mhz)
Time(ms)
1.8 / 120
1.6 / 100
1.4 / 80
1.2 / 60
1.0 / 40
Frame 1 Idle Frame 2 Idle Frame 3 Idle
DVS for MPEGFrame 1
Frame 2
Frame 3
Workload (number of clock cycles)
Dynamic Voltage Scaling Techniques for Power-efficient MPEG Decoding• Key issues: – Accurate prediction of future workload– Voltage/frequency setting– Decode frame on time for display
Voltage/frequency
Max. decoding time(e.g. 33ms) Display 2 Display 3Display 1DVS for MPEG
Dynamic Voltage Scaling Techniques for Power-efficient MPEG DecodingVoltage / frequency
(V) (Mhz)
Time(ms)
1.8 / 120
1.6 / 100
1.4 / 80
1.2 / 60
1.0 / 40
Frame 1 Idle Frame 2 Idle Frame 3 Idle
Frame 1
Frame 2
Frame 3
Workload (number of clock cycles)
Voltage/frequency
Max. decoding time(e.g. 33ms) Display 2 Display 3Display 1
• Solution: – Frame size and type Number of clock cycles– MPEG frame rate Max. decoding time– V ~ f = number of cycles / Max. decoding time
12
Voltage / frequency(V) (Mhz)
Time(ms)
1.8 / 120
1.6 / 100
1.4 / 80
1.2 / 60
1.0 / 40
DVS for MPEGFrame 1
Frame 2
Display 1 Display 2 Display 3
• DVS Problems: voltage/frequency are estimated to decode a frame just on time for display.Frame 3Dynamic Voltage Scaling Techniques for Power-efficient MPEG DecodingFrame 3
Voltage / frequency(V) (Mhz)
Time(ms)
1.8 / 120
1.6 / 100
1.4 / 80
1.2 / 60
1.0 / 40
DVS for MPEGFrame 1
Frame 2
Frame 1
Display 1 Display 2 Display 3
• DVS Problems:– Frame over-estimated more power consumed– Frame under-estimated miss display DroppedFrame 3
Frame 2Dynamic Voltage Scaling Techniques for Power-efficient MPEG Decoding
13
Workload Estimation• Proposed DVS estimation techniquesDynamic Voltage Scaling Techniques for Power-efficient MPEG DecodingWorkload Estimation: regressionDynamic Voltage Scaling Techniques for Power-efficient MPEG Decodingnumber of cycles = 50 * frame size + 4020185
• Regression (previous work)
14
Dynamic Voltage Scaling Techniques for Power-efficient MPEG DecodingFor each frame i :
1- Get frame_sizei
2- estimate_number_of_cyclei = actual_linear_equation(frame_sizei)
3- Get real_number_of_cyclei after decoding the frame
4- Recalculate actual_linear_equationbased on all previous frame_size0…iand real_number_of_cycle0…i using the linear regression model
Workload Estimation: regression• Regression algorithm:
Dynamic Voltage Scaling Techniques for Power-efficient MPEG DecodingWorkload Estimation: regression• Regression algorithm main problem: very computationally expensive
y = b0 + b1*x
b1= (∑x*y – n*x*y ) / (∑x2 – n*x2)
b0= y – b1*x
where y = number of cycles
x = frame size
15
Dynamic Voltage Scaling Techniques for Power-efficient MPEG DecodingWorkload Estimation: interval-avg• Interval-avg (proposed technique) with simple average calculation in each interval
Dynamic Voltage Scaling Techniques for Power-efficient MPEG DecodingFor each frame i :
1- Get frame_sizei
2- Find interval[k] where frameibelongs according to its frame_sizei
3- estimate_decode_timei = Avg_value_in_interval[k]
5- Get real_number_of_cyclei after decoding the frame
6- Recalculate Avg_value_in_interval[k] = Average(real_number_of_cycle0…i)
Workload Estimation: interval-avg• Interval-avg (proposed technique) with simple average calculation
16
Dynamic Voltage Scaling Techniques for Power-efficient MPEG DecodingWorkload Estimation: interval-avg• Interval-avg problem: many frames will be under-estimated and dropped
Dynamic Voltage Scaling Techniques for Power-efficient MPEG DecodingWorkload Estimation: interval-max• Interval-max (proposed technique) with simple and safe estimation
17
Dynamic Voltage Scaling Techniques for Power-efficient MPEG DecodingFor each frame i :
1- Get frame_sizei
2- Find interval[k] where frameibelongs according to its frame_sizei
3- estimate_decode_timei = Max_value_in_interval[k]
5- Get real_number_of_cyclei after decoding the frame
6- If real_number_of_cyclei > Max_value_in_interval[k] then Max_value_in_interval[k] = real_number_of_cyclei
Workload Estimation: interval-max• Interval-max (proposed technique) with simple and safe estimation
Voltage / frequency(V) (Mhz)
Time(ms)
1.8 / 120
1.6 / 100
1.4 / 80
1.2 / 60
1.0 / 40
Voltage Averaging TechniqueFrame 1
Frame 2
Frame 3
Average Power ~ 135.6 (DVS only)
Display 2 Display 3Display 1Dynamic Voltage Scaling Techniques for Power-efficient MPEG Decoding• Voltage averaging is implemented on top of the previous estimation techniques for more power saving
18
Average Power ~ 135.6 (DVS only)
Voltage / frequency(V) (Mhz)
Time(ms)
1.8 / 120
1.6 / 100
1.4 / 80
1.2 / 60
1.0 / 40Frame 1
Frame 2
Frame 1 Frame 2
Average Power ~ 130.5 (DVS with voltage averaging)
Frame 3
Display 2 Display 3Display 1Dynamic Voltage Scaling Techniques for Power-efficient MPEG DecodingVoltage Averaging Technique• Voltage averaging is implemented on top of the previous estimation techniques for more power saving
Outline• Power trends• Power Management, Dynamic Voltage Scaling (DVS) • MPEG• DVS for MPEG decoding• Experimental framework• Results• Conclusion � Simulation framework� Simulation workload
19
Estimated voltage
Estimated frequency
Experimental FrameworkFrame type and size
Proposed DVS estimation techniques
Estimated number of cycles
Frame rateVoltage/
frequency scaling
and averaging
(Max. decoding time)
MPEG workload (Movie)
SimpleScalarsimulator
BerkeleyMPEGplayer Exact number of cycles
(frame-by-frame Statistics)
Power estimator
(~V2f)
QoSestimator
Power statistics
QoSstatisticsDynamic Voltage Scaling Techniques for Power-efficient MPEG DecodingProposed techniques Modified tools Developed tools
MPEG workload (Movie)
Estimated voltage
Estimated frequency
Frame type and size
Proposed DVS estimation techniques
Estimated number of cycles
Frame rateVoltage/
frequency scaling
and averaging
(Max. decoding time)
SimpleScalarsimulator
MPEG player Real number of cycles
(frame-by-frame Statistics)
Power estimator
(~V2f)
QoSestimator
Power statistics
QoSstatistics
Simulation Workload: Movie clipsMPEG
workload (Movie)
48610701088B frames
12242881P frames
12210741I frames
352x240592x252320x240Resolution
30 fps23.976 fps25 fpsFrame Rate
Movie (High motion)Animation (High motion)Animation (low motion)Type
UnderSiegeThe AnimatrixRed’s NightmareTitle
Dynamic Voltage Scaling Techniques for Power-efficient MPEG Decoding
20
Outline• Power trends• Power Management, Dynamic Voltage Scaling (DVS) • MPEG• DVS for MPEG decoding• Experimental framework• Results• Conclusion� Power� QoSSimulation Results: Power
100 100 100
20
53
22 22
65
20 17
40
18 18
44
18
0
20
40
60
80
100
120
UnderSiege Animatrix Red's Nightmare
Pow
er (
%) On/Off
Ideal DVS
Interval-max
Interval-Avg
RegressionDynamic Voltage Scaling Techniques for Power-efficient MPEG Decoding (*)
(*) Ideal DVS is the regular DVS with ideal perfect estimation
21
• Voltage averaging effect on Power68
2423
65
2220
0
10
20
30
40
50
60
70
80
UnderSiege Animatrix Red's Nightmare
Pow
er (
%)
Estimation only
Estimation w ithaveragingDynamic Voltage Scaling Techniques for Power-efficient MPEG Decoding
Simulation Results: Power
• Interval effect on Power6000
7000
8000
9000
10000
11000
12000
13000
14000
5 10 20 50 100 150
Number of Intervals ( Animatrix )
Pow
er (m
W)
1000
1100
1200
1300
1400
1500
1600
1700
5 10 20 50 100 150
Number of Intervals ( RedsNIghtmare )
Pow
er (m
W)
700
720
740
760
780
800
820
840
860
880
900
5 10 20 50 100 150
Number of Intervals ( UnderSiege )
Pow
er (
mW
)
Dynamic Voltage Scaling Techniques for Power-efficient MPEG DecodingSimulation Results: Power
22
Simulation Results0.9
2.80.4
5.6
36.5
20.4
5.2
29.2
10.5
0
5
10
15
20
25
30
35
40
UnderSiege Animatrix Red's Nightmare
% o
f F
ram
es D
ropp
ed
Interval-max
Interval-Avg
RegressionDynamic Voltage Scaling Techniques for Power-efficient MPEG DecodingSimulation Results: QoS
• Voltage averaging effect on QoSDynamic Voltage Scaling Techniques for Power-efficient MPEG Decoding
57
78
46
57
0
10
20
30
40
50
60
UnderSiege Animatrix Red's Nightmare
Tot
al n
umbe
r of
fram
es d
ropp
ed
Estimation only
Estimation w ithaveraging
Simulation Results: QoS
23
Simulation Results• Interval effect on QoS0
10
20
30
40
50
60
70
80
90
5 10 20 50 100 150
Num ber of Intervals ( UnderSiege )
Num
ber o
f fr
ames
Dro
pped
0
100
200
300
400
500
600
700
5 10 20 50 100 150
Number of Intervals ( Animatrix )
Num
ber
of F
ram
es d
rop
ped
0
50
100
150
200
250
300
350
5 10 20 50 100 150
Nnumber of Intervals ( RedsNightmare )
Num
ber
of f
ram
es d
ropp
edDynamic Voltage Scaling Techniques for Power-efficient MPEG DecodingSimulation Results: QoS
Simulation Results• Power/QoS tradeoff for different interval-size0
2
4
6
8
10
12
14
16
18
20
5 10 20 50 100 150
Number of Intervals ( UnderSiege )
Num
ber
of fr
ames
Dro
pped
780
800
820
840
860
880
900
Po
wer (m
W)Dynamic Voltage Scaling Techniques for Power-efficient MPEG Decoding
24
Outline• Power trends• Power Management, Dynamic Voltage Scaling (DVS) • MPEG• DVS for MPEG decoding• Experimental framework• Results• ConclusionConclusion
Dynamic Voltage Scaling Techniques for Power-efficient MPEG Decoding• DVS estimation techniques for power-efficient MPEG decoding: regression, interval-max, and interval-avg• Voltage averaging technique• Results:– Up to 83% power saving over On/Off mechanism– As low as 0.4% frames dropped
25
ConclusionDynamic Voltage Scaling Techniques for Power-efficient MPEG Decoding• Interval-max algorithm, although the simplest to implement, looks to be the most promising:– Best QoS (~0.4% frames dropped)– Good power saving (~80% over On/Off)– Perfectly predictable when changing ‘interval size’ to balance Power/QoS factors– Best candidate for future work researching this Power/QoS tradeoffs
Thank You