An Architecture for Fault-Tolerant Computation with Stochastic Logic

Mounting concerns over variability, defects, and noise motivate a new approach for digital circuitry: stochastic logic, that is to say, logic that operates on probabilistic signals and so can cope with errors and uncertainty. Techniques for probabilistic analysis of circuits and systems are well established. We advocate a strategy for synthesis. In prior work, we described a methodology for synthesizing stochastic logic, that is to say logic that operates on probabilistic bit streams. In this paper, we apply the concept of stochastic logic to a reconfigurable architecture that implements processing operations on a datapath. We analyze cost as well as the sources of error: approximation, quantization, and random fluctuations. We study the effectiveness of the architecture on a collection of benchmarks for image processing. The stochastic architecture requires less area than conventional hardware implementations. Moreover, it is much more tolerant of soft errors (bit flips) than these deterministic implementations. This fault tolerance scales gracefully to very large numbers of errors.

[1]  Sachin S. Sapatnekar,et al.  Statistical timing analysis under spatial correlations , 2005, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[2]  Sergio L. Toral Marín,et al.  Stochastic pulse coded arithmetic , 2000, 2000 IEEE International Symposium on Circuits and Systems. Emerging Technologies for the 21st Century. Proceedings (IEEE Cat No.00CH36353).

[3]  Shorin Kyo,et al.  An Integrated Memory Array Processor Architecture for Embedded Image Recognition Systems , 2005, ISCA 2005.

[4]  Xin Li,et al.  A reconfigurable stochastic architecture for highly reliable computing , 2009, GLSVLSI '09.

[5]  J. Neumann Probabilistic Logic and the Synthesis of Reliable Organisms from Unreliable Components , 1956 .

[6]  Jinjun Xiong,et al.  Transistor sizing of custom high-performance digital circuits with parametric yield considerations , 2010, Design Automation Conference.

[7]  Bernhard Rinner,et al.  Distributed embedded smart cameras for surveillance applications , 2006, Computer.

[8]  Ray C. C. Cheung,et al.  A Flexible Architecture for Precise Gamma Correction , 2007, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[9]  Weikang Qian,et al.  The synthesis of robust polynomial arithmetic with stochastic logic , 2008, 2008 45th ACM/IEEE Design Automation Conference.

[10]  Chuen-Chien Lee FUZZY LOGIC CONTROL SYSTEMS: FUZZY LOGIC CONTROLLER - PART I , 1990 .

[11]  Christos H. Papadimitriou,et al.  Computational complexity , 1993 .

[12]  Brian R. Gaines,et al.  Stochastic Computing Systems , 1969 .

[13]  Kia Bazargan,et al.  The synthesis of combinational logic to generate probabilities , 2009, 2009 IEEE/ACM International Conference on Computer-Aided Design - Digest of Technical Papers.

[14]  Harald Niederreiter,et al.  Probability and computing: randomized algorithms and probabilistic analysis , 2006, Math. Comput..

[15]  Howard C. Card,et al.  Stochastic Neural Computation I: Computational Elements , 2001, IEEE Trans. Computers.

[16]  E.E. Pissaloux,et al.  Image Processing , 1994, Proceedings. Second Euromicro Workshop on Parallel and Distributed Processing.

[17]  Ram Huggahalli,et al.  Impact of Cache Coherence Protocols on the Processing of Network Traffic , 2007, 40th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO 2007).

[18]  George G. Lorentz,et al.  Deferred Bernstein polynomials , 1951 .

[19]  Douglas L. Jones,et al.  Scalable stochastic processors , 2010, 2010 Design, Automation & Test in Europe Conference & Exhibition (DATE 2010).

[20]  W. Marsden I and J , 2012 .

[21]  Leopoldo García Franquelo,et al.  Analog to digital and digital to analog conversion based on stochastic logic , 1995, Proceedings of IECON '95 - 21st Annual Conference on IEEE Industrial Electronics.

[22]  D. Gillespie A General Method for Numerically Simulating the Stochastic Time Evolution of Coupled Chemical Reactions , 1976 .

[23]  Babak Falsafi,et al.  Multi-bit Error Tolerant Caches Using Two-Dimensional Error Coding , 2007, 40th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO 2007).

[24]  Aaron D. Wyner,et al.  Reliable Circuits Using Less Reliable Relays , 1993 .

[25]  Weikang Qian,et al.  The Synthesis of Stochastic Circuits for Nanoscale Computation , 2009, Int. J. Nanotechnol. Mol. Comput..

[26]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[27]  Hans-Peter Rosinger Connecting Customized IP to the MicroBlaze Soft Processor Using the Fast Simplex Link ( FSL ) Channel , 2003 .

[28]  Joseph L. Mundy,et al.  Designing logic circuits for probabilistic computation in the presence of noise , 2005, Proceedings. 42nd Design Automation Conference, 2005..

[29]  Dwayne Phillips,et al.  Image processing in C , 1994 .

[30]  Krishna V. Palem,et al.  Energy aware computing through probabilistic switching: a study of limits , 2005, IEEE Transactions on Computers.