Computational Sprinting on a Hardware/Software Testbed Arun Raghavan*, Laurel Emurian*, Lei Shao#, Marios Papaefthymiou+, Kevin P.

Download Report

Transcript Computational Sprinting on a Hardware/Software Testbed Arun Raghavan*, Laurel Emurian*, Lei Shao#, Marios Papaefthymiou+, Kevin P.

Computational Sprinting on a
Hardware/Software Testbed
Arun Raghavan*, Laurel Emurian*, Lei Shao#,
Marios Papaefthymiou+, Kevin P. Pipe+#,
Thomas F. Wenisch+, Milo M. K. Martin*
University of Pennsylvania, Computer and Information Science*
University of Michigan, Electrical Eng. and Computer Science+
University of Michigan, Mechanical Engineering#
This work licensed under the Creative Commons
Attribution-Share Alike 3.0 United States License
• You are free:
• to Share — to copy, distribute, display, and perform the work
• to Remix — to make derivative works
• Under the following conditions:
• Attribution. You must attribute the work in the manner specified by the author or
licensor (but not in any way that suggests that they endorse you or your use of the
work).
• Share Alike. If you alter, transform, or build upon this work, you may distribute the
resulting work only under the same, similar or a compatible license.
• For any reuse or distribution, you must make clear to others the license
terms of this work. The best way to do this is with a link to:
http://creativecommons.org/licenses/by-sa/3.0/us/
• Any of the above conditions can be waived if you get permission from the
copyright holder.
• Apart from the remix rights granted under this license, nothing in this
license impairs or restricts the author's moral rights.
2
Overview
• Computational sprinting [HPCA’12]
• Targets responsiveness in thermally constrained environments
• Far exceed sustainable power for short bursts of computation
• Simulation based feasibility study
• This work: what can we learn with today’s hardware?
• Engineer hardware/software testbed for sprinting
• Reduce heat venting capacity
• Sustain only lowest power mode
• Can sprint on today’s system
• Longer with phase-change material
• Sprinting improves energy-efficiency
• Even for sustained computations
3
power
Computational Sprinting Using Dark Silicon [HPCA’12]
temperature
Tmax
4
power
Computational Sprinting Using Dark Silicon [HPCA’12]
temperature
Tmax
5
Effect of thermal
capacitance
power
Computational Sprinting Using Dark Silicon [HPCA’12]
temperature
Tmax
6
Effect of thermal
capacitance
power
Computational Sprinting Using Dark Silicon [HPCA’12]
temperature
Tmax
7
Effect of thermal
capacitance
power
Computational Sprinting Using Dark Silicon [HPCA’12]
8
Tmax
temperature
State of the art:
Turbo Boost 2.0
exceeds
sustainable power
with DVFS
(~25%)
Our goal: 10x
Effect of thermal
capacitance
Evaluating Sprinting
• Simulation-based feasibility study [HPCA’12]
• Thermal models: buffer heat using thermal capacitance
• Electrical models: stabilize voltage with gradual core activation
• Architectural models:
• Large responsiveness improvements
• Little dynamic energy overheads
• Next steps: understanding sprinting on a real system
• Build a real chip?
• Sprint on today’s mobile chips?
Our approach: study sprinting on hardware available today
9
This Work: Testbed for Computational Sprinting
• How long can the testbed sprint?
• How to select sprint intensity?
• How can we extend sprint duration?
• How does sprinting impact energy?
10
Designing a testbed for sprinting
11
Quad-core Intel i7-2600
With heatsink and fan: 95W
Remove heatsink, slow fan;
10W thermal design (TDP)
3 operating modes:
Normalized
Peak
Power
Speedup
Cores
Freq.
Power
1 core
1.6 GHz
10 W
1x
1x
4 cores 1.6 GHz
20 W
~2x
4x
sustainable
sprinting
12
4 cores 3.2 GHz
50 W
~5x
8x
Sprinting Performance
Max 4 core,
3.2 GHz
normalized speedup
8
7
6
5
Max 4 core,
1.6 GHz
4
3
2
Baseline
(no sprint)
1
0
sobel
disparity segment kmeans feature
texture
Cores + Frequency (3.2GHz): 6.3x speedup
Cores only (1.6 GHz): 3.5x speedup
13
How long can the testbed sprint?
14
60
40
50
sustained
40
sustained
30
20
Power (W)
60
Testbed Thermal Response
sprint-3.2GHz
20
0
10
0
-5
0
5
10
15
20
25
30
70
Tmax
60
sustained
sustained
50
sprint-3.2GHz
40
Temp (°C)
time (s)
-5
15
0
5
10
time (s)
15
20
25
30
Testbed Thermal Response
60
40
50
sustained
sprint (3.2 GHz)
5x
40
sustained
30
20
Power (W)
60
3s
sprint-3.2GHz
20
0
10
Heat spreader
0
-5
0
5
10
15
20
25
30
time (s)
70
 Δ 25oC, ~188J
 3.5s @ 50W
60
sustained
sustained
sprint (3.2 GHz)
50
sprint-3.2GHz
40
Temp (°C)
20g copper
-5
16
0
5
10
time (s)
15
20
25
30
Testbed Thermal Response
60
40
50
5x
40
21s
30
20
Power (W)
60
3s
2x
20
sustained
sustained
sprint (3.2 GHz)
sustained
sprint (1.6 GHz)
sprint-3.2GHz
sprint-3.2GHz
sprint-1.6GHz
0
10
Heat spreader
0
-5
0
5
10
15
20
25
30
time (s)
70
 Δ 25oC, ~188J
 3.5s @ 50W
50
60
sustained
sustained
sustained
sprint (3.2 GHz)
sprint-3.2GHz
sprint-3.2GHz
sprint (1.6 GHz)
sprint-1.6GHz
40
Temp (°C)
20g copper
-5
17
0
5
10
time (s)
15
20
25
30
What if computation doesn’t
complete during the sprint?
18
Truncated Sprint Performance
normalized speedup
Near-peak performance
for short tasks
8
7
6
5
4
3
2
1
0
Little benefit
computation length
19
4 cores, 1.6 GHz
4 cores, 3.2 GHz
Truncated Sprint Performance
normalized speedup
Near-peak performance
for short tasks
8
7
6
5
4
3
2
1
0
Lower peak performance;
benefits longer tasks
Little benefit
4 cores, 1.6 GHz
4 cores, 3.2 GHz
computation length
• Best sprint intensity depends on task size
• How to sprint when task size is unknown?
• Sprint pacing
20
• Max intensity sprint for half thermal capacitance
• Cores-only sprinting for other half
normalized speedup
Truncated Sprint Performance
8
7
6
5
4
3
2
1
0
4 cores, 1.6 GHz
4 cores, 3.2 GHz
computation length
• Best sprint intensity depends on task size
• How to sprint when task size is unknown?
• Sprint pacing
21
• Max intensity sprint for half thermal capacitance
• Cores-only sprinting for other half
normalized speedup
Truncated Sprint Performance
8
7
6
5
4
3
2
1
0
adaptive
4 cores, 1.6 GHz
4 cores, 3.2 GHz
computation length
• Best sprint intensity depends on task size
• How to sprint when task size is unknown?
• Sprint pacing
22
• Max intensity sprint for half thermal capacitance
• Cores-only sprinting for other half
Increasing sprint duration
23
Two Ways of Adding Thermal Capacitance
temperature
• Specific heat capacity: introduce thermal mass
Baseline
sprinting
20g copper, Δ 25oC
 ~188J
More specific heat  takes longer to heat
time (s)
• Latent heat: absorb heat to change phase (e.g. melting)
temperature
1g of wax
 ~200J
24
Phase-change absorbs heat while
holding temperature constant
time (s)
Extending Sprints with Phase Change Material
4g of wax, 1g of aluminum foam
Copper shim
25
Computational Sprinting on a Hardware-
Impact of Phase Change
air
temperature (°C)
80
70
60
50
40
0
26
100
200
time (s)
300
400
Impact of Phase Change
air
foam
temperature (°C)
80
70
60
50
40
0
100
200
time (s)
300
400
Small extension from heat capacity of encasement…
27
Impact of Phase Change
air
wax
foam
temperature (°C)
80
70
60
50
40
0
100
200
time (s)
300
400
Small extension from heat capacity of encasement…
…6x increase in sprint duration with phase change
28
Impact of Phase Change
air
temperature (°C)
80
foam water
wax
70
60
50
40
0
29
100
200
time (s)
300
400
Small extension from heat capacity of encasement…
…6x increase in sprint duration with phase change
due to phase change
Phase Change Material in Action
Time lapse 15x
30
How does sprinting impact energy?
31
Energy Impact of Sprinting
normalized energy
1.5
1
Idle
0.5
Sprint 3.2GHz
Sprint 1.6GHz
0
sobel
disparity
segment
kmeans
feature
Race-to-idle: 7% energy savings!
32
texture
If sprinting is more energy efficient,
why not sprint all the time…
33
power (W)
Sprint-and-Rest
5s @ 20W sprint, 12s @ 5W rest < 10W average
30
20
sustained
sprint-and-rest
sprint-rest
10
temperature (oC)
0
0
100
200
90
400
500
70
sustained
sprint-and-rest
sprint-rest
50
30
0
100
200
300
cumulative
work
300
seconds
300
seconds
400
500
35% faster
200
sustained
sprint-and-rest
sprint-rest
100
0
34
0
100
200
300
seconds
400
500
Conclusions
• Testbed confirms sprinting improves responsiveness
• Sprint pacing can extend benefits of sprinting
• Exploiting phase change allows longer sprints
• Sprinting can save energy in thermally limited systems
35
www.cis.upenn.edu/acg/sprinting/
36