A review of approximate computing techniques towards fault mitigation in HW/SW systems

Technological scaling has increased the susceptibility of logic circuits to radiation-induced transient faults, making digital devices less reliable. Although different techniques have been proposed at software, hardware, and hybrid level to mitigate these faults, all of them cause non-negligible overheads in terms of area, energy, and performance. Recently, the use of the approximate computing has taken relevance to minimize the overheads associated with the mitigation of transient faults. The approximate computing paradigm aims to increase the efficiency of a computer system at the expense of accuracy in the results. In this paper we present a review of approximate computing techniques that can be used to reduce the costs in the mitigation of radiation effects at hardware and software levels. In addition, we examine several recent works that have presented promising results in this way.

[1]  Paul Chow,et al.  Compile-time and instruction-set methods for improving floating- to fixed-point conversion accuracy , 2008, TECS.

[2]  Henry Hoffmann,et al.  A Cross-Layer Multicore Architecture to Tradeoff Program Accuracy and Resilience Overheads , 2015, IEEE Computer Architecture Letters.

[3]  Jie Han,et al.  Approximate computing: An emerging paradigm for energy-efficient design , 2013, 2013 18th IEEE European Test Symposium (ETS).

[4]  Stelios Sidiroglou,et al.  Dancing with uncertainty , 2012, RACES '12.

[5]  Fabrizio Lombardi,et al.  Approximate XOR/XNOR-based adders for inexact computing , 2013, 2013 13th IEEE International Conference on Nanotechnology (IEEE-NANO 2013).

[6]  Thierry Moreau,et al.  A Taxonomy of Approximate Computing Techniques , 2016 .

[7]  Kaushik Roy,et al.  ASLAN: Synthesis of approximate sequential circuits , 2014, 2014 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[8]  Quinn Jacobson,et al.  ERSA: error resilient system architecture for probabilistic applications , 2010, DATE 2010.

[9]  Edward J. McCluskey,et al.  Error detection by selective procedure call duplication for low energy consumption , 2002, IEEE Trans. Reliab..

[10]  Qiang Xu,et al.  ApproxANN: An approximate computing framework for artificial neural network , 2015, 2015 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[11]  Fernanda Gusmão de Lima Kastensmidt,et al.  Reducing TMR overhead by combining approximate circuit, transistor topology and input permutation approaches , 2013, 2013 26th Symposium on Integrated Circuits and Systems Design (SBCCI).

[12]  Kaushik Roy,et al.  Quality programmable vector processors for approximate computing , 2013, 2013 46th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[13]  Kaushik Roy,et al.  SALSA: Systematic logic synthesis of approximate circuits , 2012, DAC Design Automation Conference 2012.

[14]  Martin Rinard,et al.  Using Code Perforation to Improve Performance, Reduce Energy Consumption, and Respond to Failures , 2009 .

[15]  Sparsh Mittal,et al.  A Survey of Techniques for Approximate Computing , 2016, ACM Comput. Surv..

[16]  John P. Hayes,et al.  STRAUSS: Spectral Transform Use in Stochastic Circuit Synthesis , 2015, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[17]  Algirdas Avizienis,et al.  The N-Version Approach to Fault-Tolerant Software , 1985, IEEE Transactions on Software Engineering.

[18]  John P. Hayes,et al.  Low-cost on-line fault detection using control flow assertions , 2003, 9th IEEE On-Line Testing Symposium, 2003. IOLTS 2003..

[19]  Kaushik Roy,et al.  Scalable Effort Hardware Design , 2014, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[20]  Kaushik Roy,et al.  A Priority-Based 6T/8T Hybrid SRAM Architecture for Aggressive Voltage Scaling in Video Applications , 2011, IEEE Transactions on Circuits and Systems for Video Technology.

[21]  Gang Wang,et al.  Enhanced low-power high-speed adder for error-tolerant application , 2009, 2010 International SoC Design Conference.

[22]  Fabrizio Lombardi,et al.  Two Approximate Voting Schemes for Reliable Computing , 2017, IEEE Transactions on Computers.

[23]  Paolo Bernardi,et al.  A Hybrid Approach for Detection and Correction of Transient Faults in SoCs , 2010, IEEE Transactions on Dependable and Secure Computing.

[24]  Alireza Ejlali,et al.  DRVS: Power-efficient reliability management through Dynamic Redundancy and Voltage Scaling under variations , 2015, 2015 IEEE/ACM International Symposium on Low Power Electronics and Design (ISLPED).

[25]  Luis Ceze,et al.  Architecture support for disciplined approximate programming , 2012, ASPLOS XVII.

[26]  Kaushik Roy,et al.  Design of voltage-scalable meta-functions for approximate computing , 2011, 2011 Design, Automation & Test in Europe.

[27]  Mayler G. A. Martins,et al.  Using only redundant modules with approximate logic to reduce drastically area overhead in TMR , 2015, 2015 16th Latin-American Test Symposium (LATS).

[28]  Alfredo Benso,et al.  Control-flow checking via regular expressions , 2001, Proceedings 10th Asian Test Symposium.

[29]  Kartik Mohanram,et al.  Approximate logic circuits for low overhead, non-intrusive concurrent error detection , 2008, 2008 Design, Automation and Test in Europe.

[30]  Eduardo Chielle,et al.  Evaluating Selective Redundancy in Data-Flow Software-Based Techniques , 2013, IEEE Transactions on Nuclear Science.

[31]  Dan Grossman,et al.  EnerJ: approximate data types for safe and general low-power computation , 2011, PLDI '11.

[32]  Eric Rotenberg,et al.  Understanding prediction-based partial redundant threading for low-overhead, high- coverage fault tolerance , 2006, ASPLOS XII.

[33]  Edward J. McCluskey,et al.  ED4I: Error Detection by Diverse Data and Duplicated Instructions , 2002, IEEE Trans. Computers.

[34]  Naresh R. Shanbhag,et al.  Soft digital signal processing , 2001, IEEE Trans. Very Large Scale Integr. Syst..

[35]  Massimo Violante,et al.  Soft-error detection using control flow assertions , 2003, Proceedings 18th IEEE Symposium on Defect and Fault Tolerance in VLSI Systems.

[36]  Qiang Xu,et al.  Approximate Computing: A Survey , 2016, IEEE Design & Test.

[37]  Jeong-A Lee,et al.  Probing Approximate TMR in Error Resilient Applications for Better Design Tradeoffs , 2016, 2016 Euromicro Conference on Digital System Design (DSD).

[38]  Andreas Gerstlauer,et al.  Approximate logic synthesis under general error magnitude and frequency constraints , 2013, 2013 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[39]  Kaushik Roy,et al.  Low-Power Digital Signal Processing Using Approximate Adders , 2013, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[40]  Mayler G. A. Martins,et al.  Exploring the use of approximate TMR to mask transient faults in logic with low area overhead , 2015, Microelectron. Reliab..

[41]  J R Azambuja,et al.  Detecting SEEs in Microprocessors Through a Non-Intrusive Hybrid Technique , 2011, IEEE Transactions on Nuclear Science.

[42]  Farshad Baharvand,et al.  LEXACT: Low Energy N-Modular Redundancy Using Approximate Computing for Real-Time Multicore Processors , 2020, IEEE Transactions on Emerging Topics in Computing.

[43]  Sri Parameswaran,et al.  A hybrid hardware--software technique to improve reliability in embedded processors , 2011, TECS.

[44]  Sarita V. Adve,et al.  Approxilyzer: Towards a systematic framework for instruction-level approximate computing and its application to hardware resiliency , 2016, 2016 49th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[45]  Lei Wang,et al.  Reconfigurable Support Vector Machine Classifier with Approximate Computing , 2017, 2017 IEEE Computer Society Annual Symposium on VLSI (ISVLSI).

[46]  Kunle Olukotun,et al.  EMEURO: A framework for generating multi-purpose accelerators via deep learning , 2015, 2015 IEEE/ACM International Symposium on Code Generation and Optimization (CGO).

[47]  Kaushik Roy,et al.  Approximate computing: An integrated hardware approach , 2013, 2013 Asilomar Conference on Signals, Systems and Computers.

[48]  Fabrizio Lombardi,et al.  A comparative evaluation of approximate multipliers , 2016, 2016 IEEE/ACM International Symposium on Nanoscale Architectures (NANOARCH).

[49]  Jacob Nelson,et al.  Approximate storage in solid-state memories , 2013, 2013 46th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[50]  Luis Ceze,et al.  Neural Acceleration for General-Purpose Approximate Programs , 2012, 2012 45th Annual IEEE/ACM International Symposium on Microarchitecture.

[51]  Antonio Martínez-Álvarez,et al.  Selective SWIFT-R , 2013, Journal of Electronic Testing.

[52]  L. Entrena,et al.  Partial TMR in FPGAs Using Approximate Logic Circuits , 2015, 2015 15th European Conference on Radiation and Its Effects on Components and Systems (RADECS).

[53]  Antonio María González Colás,et al.  Selective replication: a lightweight technique for soft errors , 2009 .

[54]  Antonio Martínez-Álvarez,et al.  A Hardware-Software Approach for On-Line Soft Error Mitigation in Interrupt-Driven Applications , 2016, IEEE Transactions on Dependable and Secure Computing.

[55]  Qiang Xu,et al.  ApproxIt: An approximate computing framework for iterative methods , 2014, 2014 51st ACM/EDAC/IEEE Design Automation Conference (DAC).

[56]  Sandeep K. Gupta,et al.  A new circuit simplification method for error tolerant applications , 2011, 2011 Design, Automation & Test in Europe.

[57]  Antonio Jimeno-Morenilla,et al.  A Flexible Software-Based Technique for Soft Error Mitigation in Low-Cost Embedded Systems , 2013 .

[58]  Asha Anoosheh,et al.  Efficient floating point precision tuning for approximate computing , 2017, 2017 22nd Asia and South Pacific Design Automation Conference (ASP-DAC).

[59]  Caro Lucas,et al.  Bio-Inspired Imprecise Computational Blocks for Efficient VLSI Implementation of Soft-Computing Applications , 2010, IEEE Transactions on Circuits and Systems I: Regular Papers.

[60]  Henry Hoffmann,et al.  Quality of service profiling , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[61]  Xin He,et al.  ACR: Enabling computation reuse for approximate computing , 2016, 2016 21st Asia and South Pacific Design Automation Conference (ASP-DAC).

[62]  Antonio Martínez-Álvarez,et al.  Soft Error Mitigation in Soft-Core Processors , 2016 .

[63]  Henry Hoffmann,et al.  Managing performance vs. accuracy trade-offs with loop perforation , 2011, ESEC/FSE '11.

[64]  Vijayalakshmi Srinivasan,et al.  Programming with relaxed synchronization , 2012, RACES '12.

[65]  Gang Qu,et al.  A novel approximate computing based security primitive for the Internet of Things , 2017, 2017 IEEE International Symposium on Circuits and Systems (ISCAS).

[66]  Lorenzo Alvisi,et al.  Modeling the effect of technology trends on the soft error rate of combinational logic , 2002, Proceedings International Conference on Dependable Systems and Networks.