Computational Sprinting on a Hardware/Software Testbed Arun Raghavan*, Laurel Emurian*, Lei Shao#, Marios Papaefthymiou+, Kevin P.
Download ReportTranscript 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