Introduction Theoretical Approach Simulations Conclusion Voltage Overscaling Algorithms for Energy-Efficient Workflow Computations With Timing Errors elien Cavelan 1 , Yves Robert 1 , 2 , Hongyang Sun 1 Aur´ eric Vivien 1 and Fr´ ed´ 1 . ENS Lyon & INRIA, France 2 . University of Tennessee Knoxville, USA aurelien.cavelan@ens-lyon.fr Green Days – Toulouse March 17, 2015 1/27
Introduction Theoretical Approach Simulations Conclusion Outline Introduction 1 Theoretical Approach 2 Simulations 3 Conclusion 4 2/27
Introduction Theoretical Approach Simulations Conclusion Dynamic Power Consumption One can use Dynamic Voltage and Frequency Scaling (DVFS) to reduce power consumption. 3/27
Introduction Theoretical Approach Simulations Conclusion Dynamic Power Consumption One can use Dynamic Voltage and Frequency Scaling (DVFS) to reduce power consumption. Power = α fV 2 α the effective capacitance f the frequency V the operating voltage 3/27
Introduction Theoretical Approach Simulations Conclusion Dynamic Power Consumption One can use Dynamic Voltage and Frequency Scaling (DVFS) to reduce power consumption. Power = α fV 2 α the effective capacitance f the frequency V the operating voltage ⇒ Voltage has a quadratic impact on the dynamic power. 3/27
Introduction Theoretical Approach Simulations Conclusion The Easy Way We target energy consumption only, not time. For any frequency value, there is a threshold voltage: 4/27
Introduction Theoretical Approach Simulations Conclusion The Easy Way We target energy consumption only, not time. For any frequency value, there is a threshold voltage: 1 Find the frequency that minimizes energy consumption 4/27
Introduction Theoretical Approach Simulations Conclusion The Easy Way We target energy consumption only, not time. For any frequency value, there is a threshold voltage: 1 Find the frequency that minimizes energy consumption 2 Decrease the voltage to threshold voltage 4/27
Introduction Theoretical Approach Simulations Conclusion The Easy Way We target energy consumption only, not time. For any frequency value, there is a threshold voltage: 1 Find the frequency that minimizes energy consumption 2 Decrease the voltage to threshold voltage ? Can we do better ? 4/27
Introduction Theoretical Approach Simulations Conclusion Threshold Voltage One operation 0 . 9 0 . 8 Failure Probability 0 . 7 0 . 6 0 . 5 0 . 4 env. margin 0 . 3 safety margin 0 . 2 threshold voltage 0 . 1 0 1.14 1.18 1.22 1.26 1.30 1.34 1.38 1.42 1.46 1.50 1.54 1.58 1.62 1.66 1.70 Voltage Figure: Set of voltages of a FPGA multiplier block and the associated error probabilities measured on random inputs at 90MHz and 27°C 5/27
Introduction Theoretical Approach Simulations Conclusion Timing Errors Definition The results of some logic gates could be used before their output signals reach their final values. Occur when V dd < V th Deterministic but unpredictable Induce Silent Data Corruptions (SDC) 6/27
Introduction Theoretical Approach Simulations Conclusion Timing Errors Definition The results of some logic gates could be used before their output signals reach their final values. Occur when V dd < V th Deterministic but unpredictable Induce Silent Data Corruptions (SDC) Unlike lightning, timing errors always strike twice 6/27
Introduction Theoretical Approach Simulations Conclusion Timing Errors Definition The results of some logic gates could be used before their output signals reach their final values. Occur when V dd < V th Deterministic but unpredictable Induce Silent Data Corruptions (SDC) Unlike lightning, timing errors always strike twice Silent errors are detected only when the corrupt data is activated 6/27
Introduction Theoretical Approach Simulations Conclusion Two Approaches Near-Threshold Computing ( V dd ≈ V th ) Used in NTC circuits (hardware) Almost safe � Great energy savings � 7/27
Introduction Theoretical Approach Simulations Conclusion Two Approaches Near-Threshold Computing ( V dd ≈ V th ) Used in NTC circuits (hardware) Almost safe � Great energy savings � Voltage Overscaling ( V dd < V th ) Even more energy savings � Purely software-based approach � Generate timing errors � Require a verification mechanism � Require probabilities of failure for the platform � 7/27
Introduction Theoretical Approach Simulations Conclusion Question ? Is it possible to obtain the (correct) result of a computation for a lower energy budget than that of the best DVFS / NTC solution? 8/27
Introduction Theoretical Approach Simulations Conclusion Outline Introduction 1 Theoretical Approach 2 Simulations 3 Conclusion 4 9/27
Introduction Theoretical Approach Simulations Conclusion Model Assumptions Consider a task and a set of voltages V : Voltages V 1 V 2 · · · V m = V th P ( V ℓ -fail) p 1 p 2 . . . p m = 0 Cost c 1 c 2 . . . c m 10/27
Introduction Theoretical Approach Simulations Conclusion Model Assumptions Consider a task and a set of voltages V : Voltages V 1 V 2 · · · V m = V th P ( V ℓ -fail) p 1 p 2 . . . p m = 0 Cost c 1 c 2 . . . c m Remember: timing errors always strike twice. 10/27
Introduction Theoretical Approach Simulations Conclusion Model Assumptions Consider a task and a set of voltages V : Voltages V 1 V 2 · · · V m = V th P ( V ℓ -fail) p 1 p 2 . . . p m = 0 Cost c 1 c 2 . . . c m Remember: timing errors always strike twice. When an error strikes, a higher voltage must be used Switching from voltage V ℓ to V h incurs a cost o ℓ, h Execution at V th always succeeds 10/27
Introduction Theoretical Approach Simulations Conclusion Model Assumptions Consider a task and a set of voltages V : Voltages V 1 V 2 · · · V m = V th P ( V ℓ -fail) p 1 p 2 . . . p m = 0 Cost c 1 c 2 . . . c m Remember: timing errors always strike twice. When an error strikes, a higher voltage must be used Switching from voltage V ℓ to V h incurs a cost o ℓ, h Execution at V th always succeeds How to compute the probability of failure ? 10/27
Introduction Theoretical Approach Simulations Conclusion Model Assumptions Consider a task and a set of voltages V : Voltages V 1 V 2 · · · V m = V th P ( V ℓ -fail) p 1 p 2 . . . p m = 0 Cost c 1 c 2 . . . c m Remember: timing errors always strike twice. When an error strikes, a higher voltage must be used Switching from voltage V ℓ to V h incurs a cost o ℓ, h Execution at V th always succeeds How to compute the probability of failure ? The optimal sequence of voltages ? 10/27
Introduction Theoretical Approach Simulations Conclusion Property of Timing Errors 1 Given an operation and an input I , there exists a threshold voltage V th ( I ): V < V th ( I ) will always lead to an incorrect result V ≥ V th ( I ) will always lead to a successful execution 11/27
Introduction Theoretical Approach Simulations Conclusion Property of Timing Errors 1 Given an operation and an input I , there exists a threshold voltage V th ( I ): V < V th ( I ) will always lead to an incorrect result V ≥ V th ( I ) will always lead to a successful execution 2 Given an operation and a voltage V ∈ V : I denotes the set of all possible inputs I f ( V ) ⊆ I is the set of inputs that will fail at voltage V Failure probability is computed as p V = | I f ( V ) | / | I | For any two voltages V 1 ≥ V 2 , we have I f ( V 1 ) ⊆ I f ( V 2 ) 11/27
Introduction Theoretical Approach Simulations Conclusion Property of Timing Errors 1 Given an operation and an input I , there exists a threshold voltage V th ( I ): V < V th ( I ) will always lead to an incorrect result V ≥ V th ( I ) will always lead to a successful execution 2 Given an operation and a voltage V ∈ V : I denotes the set of all possible inputs I f ( V ) ⊆ I is the set of inputs that will fail at voltage V Failure probability is computed as p V = | I f ( V ) | / | I | For any two voltages V 1 ≥ V 2 , we have I f ( V 1 ) ⊆ I f ( V 2 ) | I f ( V ℓ ) | / | I | p ℓ P ( V ℓ -fail | V 0 V 1 · · · V ℓ − 1 -fail) = | I f ( V ℓ − 1 ) | / | I | = p ℓ − 1 11/27
Introduction Theoretical Approach Simulations Conclusion Energy Consumption of a Single Task Consider a sequence L of k voltages V 1 < V 2 < · · · < V k = V th , Execution starts at voltage V 1 : 1 In case of success, return the result ! 2 In case of failure, go to next (higher) voltage 12/27
Introduction Theoretical Approach Simulations Conclusion Energy Consumption of a Single Task Consider a sequence L of k voltages V 1 < V 2 < · · · < V k = V th , Execution starts at voltage V 1 : 1 In case of success, return the result ! 2 In case of failure, go to next (higher) voltage o 1 , 2 + c 2 + p 2 o 2 , 3 + c 3 + . . . p k − 1 � � �� E ( L ) = c 1 + p 1 ( o k − 1 , k + c k p 1 p k − 2 = c 1 + p 1 ( o 1 , 2 + c 2 ) + p 2 ( o 2 , 3 + c 3 ) + · · · + p k − 1 ( o k − 1 , k + c k ) 12/27
Recommend
More recommend