Reliability-Aware Instruction Set Customization for ASIPs with Hardened Logic

Application-specific instruction-set processors (ASIPs) allow the designer to extend the instruction set of the base processor with selected custom instructions to tailor-fit the application. In this paper, with the help of a motivational example, we first demonstrate that different custom instructions are vulnerable to faults with varying probabilities. This shows that by ignoring the vulnerability to faults, traditional methods of instruction set customization can provide no guarantees on the reliability of the system. Apart from such inherent disparity in error vulnerability across custom instructions, each custom instruction can have multiple implementation choices corresponding to varying hardened levels. Hardening reduces the vulnerability to errors but this comes at the overhead of area costs and reduced performance gain. In this paper, we propose a framework to select custom instructions and their respective hardening levels such that reliability is optimized while the performance gain is satisfied and area costs are met as well. Our framework is based on a novel analytical method to compute the overall system reliability based on the probability of failure of individual instructions. Wide range of experiments that were conducted illustrate how our tool navigates the design space to reveal interesting tradeoffs.

[1]  Kiyoung Choi,et al.  Efficient instruction encoding for automatic instruction set design of configurable ASIPs , 2002, ICCAD 2002.

[2]  Jeffrey M. Arnold,et al.  S5: the architecture and development flow of a software configurable processor , 2005, Proceedings. 2005 IEEE International Conference on Field-Programmable Technology, 2005..

[3]  Paolo Bonzini,et al.  Recurrence-Aware Instruction Set Selection for Extensible Embedded Processors , 2008, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[4]  A. Lesea,et al.  The rosetta experiment: atmospheric soft error rate testing in differing technology FPGAs , 2005, IEEE Transactions on Device and Materials Reliability.

[5]  Ricardo E. Gonzalez,et al.  Xtensa: A Configurable and Extensible Processor , 2000, IEEE Micro.

[6]  J. Mixter Fast , 2012 .

[7]  Johan Karlsson,et al.  GOOFI: generic object-oriented fault injection tool , 2001, 2001 International Conference on Dependable Systems and Networks.

[8]  John P. Hayes,et al.  Modeling and Mitigating Transient Errors in Logic Circuits , 2011, IEEE Transactions on Dependable and Secure Computing.

[9]  Krzysztof R. Apt,et al.  Constraint logic programming using Eclipse , 2007 .

[10]  Joel Emer,et al.  A systematic methodology to compute the architectural vulnerability factors for a high-performance microprocessor , 2003, Proceedings. 36th Annual IEEE/ACM International Symposium on Microarchitecture, 2003. MICRO-36..

[11]  David Blaauw,et al.  Circuit optimization techniques to mitigate the effects of soft errors in combinational logic , 2009, TODE.

[12]  Tulika Mitra,et al.  Evaluating design trade-offs in customizable processors , 2009, 2009 46th ACM/IEEE Design Automation Conference.

[13]  K. Apt constraint logic programming , 1996 .

[14]  Wayne Luk,et al.  Optimizing Instruction-set Extensible Processors under Data Bandwidth Constraints , 2007, 2007 Design, Automation & Test in Europe Conference & Exhibition.

[15]  Gwan S. Choi,et al.  A design approach for radiation-hard digital electronics , 2006, 2006 43rd ACM/IEEE Design Automation Conference.

[16]  Paolo Ienne,et al.  Fast, Nearly Optimal ISE Identification With I/O Serialization Through Maximal Clique Enumeration , 2010, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[17]  Liyi Xiao,et al.  Soft error optimization of standard cell circuits based on gate sizing and multi-objective genetic algorithm , 2009, 2009 46th ACM/IEEE Design Automation Conference.

[18]  Sri Parameswaran,et al.  INSIDE: INstruction Selection/Identification & Design Exploration for extensible processors , 2003, ICCAD-2003. International Conference on Computer Aided Design (IEEE Cat. No.03CH37486).

[19]  P. Faraboschi,et al.  Lx: a technology platform for customizable VLIW embedded processing , 2000, Proceedings of 27th International Symposium on Computer Architecture (IEEE Cat. No.RS00201).

[20]  Mehdi Baradaran Tahoori,et al.  Analytical Techniques for Soft Error Rate Modeling and Mitigation of FPGA-Based Designs , 2007, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[21]  Wayne Luk,et al.  Fast custom instruction identification by convex subgraph enumeration , 2008, 2008 International Conference on Application-Specific Systems, Architectures and Processors.

[22]  Johan Karlsson,et al.  GOOFI: generic object-oriented fault injection tool , 2003, 2003 International Conference on Dependable Systems and Networks, 2003. Proceedings..

[23]  Vikram S. Adve,et al.  LLVM: a compilation framework for lifelong program analysis & transformation , 2004, International Symposium on Code Generation and Optimization, 2004. CGO 2004..

[24]  Jeffrey M. Arnold The Architecture and Development Flow of the S5 Software Configurable Processor , 2007, J. VLSI Signal Process..

[25]  Paolo Ienne,et al.  Exact and approximate algorithms for the extension of embedded processor instruction sets , 2006, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[26]  R.C. Baumann,et al.  Radiation-induced soft errors in advanced semiconductor technologies , 2005, IEEE Transactions on Device and Materials Reliability.

[27]  Mehdi Baradaran Tahoori,et al.  Obtaining Microprocessor Vulnerability Factor Using Formal Methods , 2008, 2008 IEEE International Symposium on Defect and Fault Tolerance of VLSI Systems.

[28]  Stamatis Vassiliadis,et al.  Instruction-Level Fault Tolerance Configurability , 2009, J. Signal Process. Syst..

[29]  Tao Li,et al.  Fast enumeration of maximal valid subgraphs for custom-instruction identification , 2009, CASES '09.

[30]  Scott Mahlke,et al.  Processor acceleration through automated instruction set customization , 2003, Proceedings. 36th Annual IEEE/ACM International Symposium on Microarchitecture, 2003. MICRO-36..

[31]  Muhammad Shafique,et al.  RISPP: Rotating Instruction Set Processing Platform , 2007, 2007 44th ACM/IEEE Design Automation Conference.

[32]  Trevor Mudge,et al.  MiBench: A free, commercially representative embedded benchmark suite , 2001 .