Static Analysis to Mitigate Soft Errors in Register Files Jongeun Lee, Aviral Shrivastava Compiler Microarchitecture Lab Arizona State University, USA.

Slides:



Advertisements
Similar presentations
Xavier Vera, Jaume Abella,Javier Carretero and Antonio Gonzalez.
Advertisements

Computer Organization and Architecture
NC STATE UNIVERSITY 1 Assertion-Based Microarchitecture Design for Improved Fault Tolerance Vimal K. Reddy Ahmed S. Al-Zawawi, Eric Rotenberg Center for.
IMPACT Second Generation EPIC Architecture Wen-mei Hwu IMPACT Second Generation EPIC Architecture Wen-mei Hwu Department of Electrical and Computer Engineering.
Quantitative Analysis of Control Flow Checking Mechanisms for Soft Errors Aviral Shrivastava, Abhishek Rhisheekesan, Reiley Jeyapaul, and Carole-Jean Wu.
CML Efficient & Effective Code Management for Software Managed Multicores CODES+ISSS 2013, Montreal, Canada Ke Bai, Jing Lu, Aviral Shrivastava, and Bryce.
Zhiguo Ge, Weng-Fai Wong, and Hock-Beng Lim Proceedings of the Design, Automation, and Test in Europe Conference, 2007 (DATE’07) April /4/17.
725/ASP-DAC Using Loop Invariants to Fight Soft Errors in Data Caches Sri Hari Krishna N., Seung Woo Son, Mahmut Kandemir, Feihui Li Department of.
IVF: Characterizing the Vulnerability of Microprocessor Structures to Intermittent Faults Songjun Pan 1,2, Yu Hu 1, and Xiaowei Li 1 1 Key Laboratory of.
Using Hardware Vulnerability Factors to Enhance AVF Analysis Vilas Sridharan RAS Architecture and Strategy AMD, Inc. International Symposium on Computer.
CML CML Presented by: Aseem Gupta, UCI Deepa Kannan, Aviral Shrivastava, Sarvesh Bhardwaj, and Sarma Vrudhula Compiler and Microarchitecture Lab Department.
1 S. Tallam, R. Gupta, and X. Zhang PACT 2005 Extended Whole Program Paths Sriraman Tallam Rajiv Gupta Xiangyu Zhang University of Arizona.
CS 7810 Lecture 25 DIVA: A Reliable Substrate for Deep Submicron Microarchitecture Design T. Austin Proceedings of MICRO-32 November 1999.
Cost-Effective Register File Soft Error reduction Pablo Montesinos, Wei Liu and Josep Torellas, University of Illinois at Urbana-Champaign.
Multiscalar processors
Fehlererkennung in SW David Rigler. Overview Types of errors detection Fault/Error classification Description of certain SW error detection techniques.
Compilation Techniques for Energy Reduction in Horizontally Partitioned Cache Architectures Aviral Shrivastava, Ilya Issenin, Nikil Dutt Center For Embedded.
Cost-Efficient Soft Error Protection for Embedded Microprocessors
CML CML Cache Vulnerability Equations for Protecting Data in Embedded Processor Caches from Soft Errors † Aviral Shrivastava, € Jongeun Lee, † Reiley Jeyapaul.
1 of 14 1 Scheduling and Optimization of Fault- Tolerant Embedded Systems Viacheslav Izosimov Embedded Systems Lab (ESLAB) Linköping University, Sweden.
1 Presenter: Ming-Shiun Yang Sah, A., Balakrishnan, M., Panda, P.R. Design, Automation & Test in Europe Conference & Exhibition, DATE ‘09. A Generic.
TASK ADAPTATION IN REAL-TIME & EMBEDDED SYSTEMS FOR ENERGY & RELIABILITY TRADEOFFS Sathish Gopalakrishnan Department of Electrical & Computer Engineering.
A Compiler-in-the-Loop (CIL) Framework to Explore Horizontally Partitioned Cache (HPC) Architectures Aviral Shrivastava*, Ilya Issenin, Nikil Dutt *Compiler.
Korea Univ B-Fetch: Branch Prediction Directed Prefetching for In-Order Processors 컴퓨터 · 전파통신공학과 최병준 1 Computer Engineering and Systems Group.
Sanghyun Park, §Aviral Shrivastava and Yunheung Paek
Assuring Application-level Correctness Against Soft Errors Jason Cong and Karthik Gururaj.
Copyright © 2008 UCI ACES Laboratory Kyoungwoo Lee 1, Aviral Shrivastava 2, Nikil Dutt 1, and Nalini Venkatasubramanian 1.
Speculative Software Management of Datapath-width for Energy Optimization G. Pokam, O. Rochecouste, A. Seznec, and F. Bodin IRISA, Campus de Beaulieu
1 Computer Architecture Research Overview Rajeev Balasubramonian School of Computing, University of Utah
CML CML Compiler-Managed Protection of Register Files for Energy-Efficient Soft Error Reduction Jongeun Lee, Aviral Shrivastava* Compiler Microarchitecture.
2013/01/14 Yun-Chung Yang Energy-Efficient Trace Reuse Cache for Embedded Processors Yi-Ying Tsai and Chung-Ho Chen 2010 IEEE Transactions On Very Large.
Garo Bournoutian and Alex Orailoglu Proceedings of the 45th ACM/IEEE Design Automation Conference (DAC’08) June /10/28.
CML CML Compiler Optimization to Reduce Soft Errors in Register Files Jongeun Lee, Aviral Shrivastava* Compiler Microarchitecture Lab Department of Computer.
CS 211: Computer Architecture Lecture 6 Module 2 Exploiting Instruction Level Parallelism with Software Approaches Instructor: Morris Lancaster.
1 A Cost-effective Substantial- impact-filter Based Method to Tolerate Voltage Emergencies Songjun Pan 1,2, Yu Hu 1, Xing Hu 1,2, and Xiaowei Li 1 1 Key.
Power Estimation and Optimization for SoC Design
Advanced Computer Architecture Lab University of Michigan Compiler Controlled Value Prediction with Branch Predictor Based Confidence Eric Larson Compiler.
Yun-Chung Yang TRB: Tag Replication Buffer for Enhancing the Reliability of the Cache Tag Array Shuai Wang; Jie Hu; Ziavras S.G; Dept. of Electr. & Comput.
1 Power estimation in the algorithmic and register-transfer level September 25, 2006 Chong-Min Kyung.
Using Loop Invariants to Detect Transient Faults in the Data Caches Seung Woo Son, Sri Hari Krishna Narayanan and Mahmut T. Kandemir Microsystems Design.
11 Online Computing and Predicting Architectural Vulnerability Factor of Microprocessor Structures Songjun Pan Yu Hu Xiaowei Li {pansongjun, huyu,
Harnessing Soft Computation for Low-Budget Fault Tolerance Daya S Khudia Scott Mahlke Advanced Computer Architecture Laboratory University of Michigan,
Branch Prediction Prof. Mikko H. Lipasti University of Wisconsin-Madison Lecture notes based on notes by John P. Shen Updated by Mikko Lipasti.
Methodology to Compute Architectural Vulnerability Factors Chris Weaver 1, 2 Shubhendu S. Mukherjee 1 Joel Emer 1 Steven K. Reinhardt 1, 2 Todd Austin.
Efficient Scrub Mechanisms for Error-Prone Emerging Memories Manu Awasthi ǂ, Manjunath Shevgoor⁺, Kshitij Sudan⁺, Rajeev Balasubramonian⁺, Bipin Rajendran.
WCET-Aware Dynamic Code Management on Scratchpads for Software-Managed Multicores Yooseong Kim 1,2, David Broman 2,3, Jian Cai 1, Aviral Shrivastava 1,2.
Application-Specific Customization of Soft Processor Microarchitecture Peter Yiannacouras J. Gregory Steffan Jonathan Rose University of Toronto Electrical.
Operation Tables for Scheduling in the presence of Partial Bypassing Aviral Shrivastava 1 Eugene Earlie 2 Nikil Dutt 1 Alex Nicolau 1 1 Center For Embedded.
University of Michigan Electrical Engineering and Computer Science 1 Low Cost Control Flow Protection Using Abstract Control Signatures Daya S Khudia and.
Prof. Hsien-Hsin Sean Lee
Evaluating Register File Size
William Stallings Computer Organization and Architecture 8th Edition
nZDC: A compiler technique for near-Zero silent Data Corruption
5.2 Eleven Advanced Optimizations of Cache Performance
Chapter 14 Instruction Level Parallelism and Superscalar Processors
Microarchitectural for monitoring application specific instructions
Improving Program Efficiency by Packing Instructions Into Registers
Fine-Grain CAM-Tag Cache Resizing Using Miss Tags
Hwisoo So. , Moslem Didehban#, Yohan Ko
Dynamic Prediction of Architectural Vulnerability
Dynamic Prediction of Architectural Vulnerability
Dynamic Code Mapping Techniques for Limited Local Memory Systems
Reiley Jeyapaul and Aviral Shrivastava Compiler-Microarchitecture Lab
InCheck: An In-application Recovery Scheme for Soft Errors
Statistical Thinking and Applications
Reiley Jeyapaul and Aviral Shrivastava Compiler-Microarchitecture Lab
Fault Tolerant Systems in a Space Environment
Srinivas Neginhal Anantharaman Kalyanaraman CprE 585: Survey Project
Presentation transcript:

Static Analysis to Mitigate Soft Errors in Register Files Jongeun Lee, Aviral Shrivastava Compiler Microarchitecture Lab Arizona State University, USA CML

2 Soft Errors What is Soft Error? Transient error, or bit-flip Cause –energetic particle strikes –voltage fluctuation –signal interference How often does it occur? Currently: ~ 1 error per year Soft error rate increasing exponentially with technology Projected to increase to 1 per day in a decade

3 Reliability Problem Not all errors are visible Logical masking Temporal masking Electrical masking Register File needs protection Large memory structures –Typically HW protected Combinatorial circuit –Errors can be masked Register file –Has most of architecturally visible errors for ARM926EJ [Blome ‘06] [Mitra ’05] 1 0  0 Logical masking 1  1

4 Overview Increasing impact of soft errors Why protect RFs? Related Work What is RF vulnerability? Difficulties in estimating RF vulnerability? Our idea of RFV decomposition Experiments RFV estimation Accuracy Using RFV estimation in compilers Need of RFV estimation Conclusion

5 Prior Art in RF Protection Significance of Soft Errors in registers IBM G5 protects every latch and register by either ECC or parity –T. J.Slegel et al., “IBM’s S/390 G5 microprocessor design,” IEEE Micro, vol. 19, pp. 12–23, Program Duplication Techniques –Reis et al., “SWIFT: Software Implemented Fault Tolerance”, CGO Very high execution time and power overheads Hardware protection of RF is extremely costly Power and area overhead Power  temperature  SER Partial RF protection –J. A.Blome et al., “Cost-efficient soft error protection for embedded microprocessors,” in CASES ’06, 2006, pp. 421–431 –G.Memik et al., “Engineering over-clocking: Reliability-performance trade-offs for high- performance register files,” DSN ’05, 2005 –P.Montesinos et al., “Using register lifetime predictions to protect register files against soft errors,” in DSN ’07, 2007, pp. 286–29 –M.Kandala et al., “An area-efficient approach to improving register file reliability against transient errors,” in ISEC, Compiler Techniques are cheaper –J.Yan and W.Zhang, “Compiler-guided register reliability improvement against soft errors,” in EMSOFT ’05, 2005, pp. 203–209. Need a way to estimate RF vulnerability

6 RFV: Register File Vulnerability Register File Vulnerability Captures soft error rate in register file Based on AVF (Architectural Vulnerability Factor) Length of intervals with useful data Unit: byte * cycle W time R WWWRRR RR Not vulnerable Any interval finishing in a read is vulnerable. Vulnerable interval

7 Computing RFV W1W1 R1R1 R2R2 R3R3 W2W2 BB 1 BB 2 BB 3 BB 4 BB 5 p 1-p entry exit Procedure 1.List all intervals 2.Select vulnerable ones 3.Find their total length

8 Computing RFV W1W1 R1R1 R2R2 R3R3 W2W2 BB 1 BB 2 BB 3 BB 4 BB 5 p 1-p L1L1 L2L2 L3L3 L4L4 L5L5 entry exit IntervalFreqVulnerable?Length entry~W11No W1~R11YesL1 R1~R21YesL2 R2~R3pYesL3 R2~W21-pNoL4 W2~R31-pYesL5 R3~exit1No RFV 1 = 1 * L1 + 1 * L2 + p * L3 + (1-p) * L5

9 Challenges of RFV Estimation Performance estimation (Dynamic instruction count) C1 + C2 + p * C3 + (1-p) * C4 + C5 Can be simply broken down into BB components RFV estimation RFV of a basic block is ill- defined It depends on what comes next, or much, much later W1W1 R1R1 R2R2 R3R3 W2W2 BB 1 BB 2 BB 3 BB 4 BB 5 p 1-p L1L1 L2L2 L3L3 L4L4 L5L5 entry exit How can we represent RFV in simple linear form?

10 Overview Increasing impact of soft errors Why protect RFs? Related Work What is RF vulnerability? Difficulties in estimating RF vulnerability? Our idea of RFV decomposition Experiments RFV estimation Accuracy Using RFV estimation in compilers Need of RFV estimation Conclusion

11 Computing RFV -- Alternative W1W1 R1R1 R2R2 R3R3 W2W2 BB 1 BB 2 BB 3 BB 4 BB 5 p 1-p S 1 =1 S2=pS2=p S 3 =1 S 4 =1 S 5 =0 L1L1 L2L2 L3L3 L4L4 L5L5 entry exit Define for each block 1.v i : Intrinsic vulnerability - Block entry ~ Last access 2.v c : Conditional vulnerability - Last access ~ Block exit 3.S: Post-condition - Probability of next access being a read RFV of a basic block V(j) = v i (j) + v c (j) * S(j) RFV2 = ∑ j f j * V(j) f j is the execution frequency of BB j

12 Computing RFV -- Alternative W1W1 R1R1 R2R2 R3R3 W2W2 BB 1 BB 2 BB 3 BB 4 BB 5 p 1-p S 1 =1 S2=pS2=p S 3 =1 S 4 =1 S 5 =0 L1L1 L2L2 L3L3 L4L4 L5L5 entry exit L1 + L2 + p*L3 + (1-p)*L5 V1 = v i * v c 1 V2 = v i 2 + p * v c 2 V3 = * v c 3 V4 = * v c 4 V5 = v i * 0 1*(v i 1 + v c 1 ) + 1*(v i 2 + p*v c 2 ) + p*v c 3 + (1-p)*v c 4 + 1*v i 5 Basic block vulnerability RFV2 = RFV2 = ∑ j p j *V(j) = p*v i 5 + (1-p) v i 5

13 RFV Decomposition RFV of a basic block can be defined exactly Using a linear function: A * x + B –A: Conditional vulnerability (v c ) –B: Intrinsic vulnerability (v i ) –x: Post-condition (S) A & B: Attributes of a block –Can be determined by the block itself x: Depends on control flow, data flow –Can be found through program analysis Block vulnerability gives exact RFV of a program Through a very simple summation Computing Post condition Is similar to, but is slightly different from liveness

14 Path-sensitive Post-condition w – w w r 1/2 10/11 1/11 Two Possible Execution Scenarios (assuming the CFG is executed twice) Execution A (5 4) (5 4) /2119/ 21 20/ 22 0 B (5 4) /2020/ 21 20/ 22 0 Branch probabilities are the same; Post-conditions are different! –

15 Finding Post-condition Register Liveness Problem: Given a register and a point in a program, what is the probability of the next access to the register being a read? Similar to but different from Live Variables Problem Exact computation of post-condition Requires path-sensitive analysis Very expensive Approximation Length-n conditional probability to branch probability Prob(B1 | B2, B3, B4 ) ~= Prob(B1 | B2) We present Linear Equation Method

16 Linear Equation Method if first-access in BB i is write if first-access in BB i is read if no-access in BB i For a given register: – w – w w r 1/2 10/11 1/11 S1S1 T1T1 T2T2 S2S2 T4T4 S4S4 S3S3 T3T3 T5T5 S5S5 T6T6 S6S6 Exact computation of post-condition Requires path-sensitive analysis Very expensive Approximation Length-n conditional probability to branch probability Prob(B1 | B2, B3, B4 ) ~= Prob(B1 | B2) We propose Linear Equation Method

17 Linear Equation Method – w – w w r 1/2 10/11 1/11 S1S1 T1T1 T2T2 S2S2 T4T4 S4S4 S3S3 T3T3 T5T5 S5S5 T6T6 S6S6 Exact computation of post-condition Requires path-sensitive analysis Very expensive Approximation Length-n conditional probability to branch probability Prob(B1 | B2, B3, B4 ) ~= Prob(B1 | B2) We propose Linear Equation Method Execution A (5 4) (5 4) /2119/ 21 20/ 22 0 B (5 4) /2020/ 21 20/ 22 0 C Linear Eq. Method 01/220/ 22 0

18 Overview Increasing impact of soft errors Why protect RFs? Related Work What is RF vulnerability? Difficulties in estimating RF vulnerability? Our idea of RFV decomposition Experiments RFV estimation Accuracy Using RFV estimation in compilers Need of RFV estimation Conclusion

19 Experiments Setup SimpleScalar cycle-accurate simulator –instrumented for RFV calculation MiBench embedded applications (8 applications) For static estimation v i & v c : –approximated with # instructions Branch probability from profiling Experiments Accuracy of static RFV estimation Using Static RFV analysis on PPRF (Partially Protected RF) architectures Need of RFV estimation

20 RFV Estimation vs. Measurement Strong correlation between estimated vulnerability and simulation measurements One register, One application Slope = CPI For all registers, for all 8 applications

21 Case A : HW Protection A: PPRF using runtime prediction [Shield, Torellas, DSN 2007] At issue stage predict whether the destination register needs protection –If yes, generate a ECC for it. –ECC table maintained as cache 20-30% vulnerability reduction Effective with more number of protected registers More power with less protected registers Normalized to without protection K: Number of protected registers Technology Independent Conservative Power Model No power for prediction RF Access power = ECC generation/checking + access power

22 Case B : Static Analysis for min RFV B: Hardwired PPRF for Vulnerability Minimization Perform static analysis, and sort the registers by vulnerability Protect top “K” registers with highest vulnerability 30-40% vulnerability reduction –Better analysis than can be done at runtime No replacements of protected registers  low power Normalized to without protection K: Number of protected registers

23 Case C : Power-Aware Protection C: Power-Aware Protection on Hardwired PPRF Architecture Perform static analysis, and sort the registers by cost –Power-cost = register vulnerability / #accesses Protect top “K” registers with highest power-cost 30-40% vulnerability reduction Save power by picking up registers that are not accessed often Normalized to without protection K: Number of protected registers 75% 50%

24 Need of Static Estimation - JPEG Distribution of power-cost in top 5 functions of JPEG S-registers have highest vulnerability The set of top K registers varies across functions  Need for compiler approach

25 Conclusion Soft errors becoming and important concern RFs are important site of soft errors, but h/w techniques to protect RF have high power/performance overhead Compiler techniques for RF protection are low- overhead But need a mechanism to estimate RFV Not easy to formulate RFV in terms of BB RFV Propose RFV decomposition scheme to enable efficient estimation of RFV Demonstrated how compiler can use RFV estimation for effective and power-efficient RFV reduction 30-40% RFV reduction, at 50-75% lesser RF power

26 Overview Increasing impact of soft errors Why RFs need protection? How to estimate RF vulnerability? Our idea of RFV decomposition RFV Reduction by RFV estimation Experimental results Conclusion

27 Register File Protection Full HW scheme (ECC, parity, etc.) Very costly: power, area Increased power aggravates temperature problem Increased temperature decreases reliability exponentially Software schemes Code duplication / Control flow checking Very high overhead in code size, performance Compiler schemes Can effectively reduce error rate Can be much more effective with partial hardware schemes The Key is Static Analysis

28 Linear Equation Method T 1 =S 1 T 2 =0 T 3 =0 T 4 =1 T 5 =S 5 T 6 =0 S 1 =T 2 S 2 =(T 3 +T 4 )/2 S 3 =T 5 S 4 =T 5 S 5 =(T 6 +10*T 4 )/11 S 6 = – w – w w r 1/2 10/11 1/11 S1S1 T1T1 T2T2 S2S2 T4T4 S4S4 S3S3 T3T3 T5T5 S5S5 T6T6 S6S6 Execution A (5 4) (5 4) /2119/ 21 20/ 22 0 B (5 4) /2020/ 21 20/ 22 0 C Linear Eq. Method 01/220/ 22 0

29 Compiler Optimization A: PPRF using runtime prediction (full HW) B: Hardwired PPRF (domain-specific HW) Protect top K registers with highest vulnerability C: Hardwired PPRF with compiler optimization For each application, statically rename top K regs with most cost to be mapped to protected registers –Cost = vulnerability/accesses Normalized to without protection K: Number of protected registers

30 Compiler Optimization A: PPRF using runtime prediction (full HW) B: Hardwired PPRF (domain-specific HW) Protect top K registers with highest vulnerability C: Hardwired PPRF with compiler optimization For each application, statically rename top K regs with most cost to be mapped to protected registers –Cost = vulnerability/accesses Normalized to without protection K: Number of protected registers 75% 50%