Toward Energy-Efficient Stochastic Circuits Using Parallel Sobol Sequences

Stochastic computing (SC) often requires long stochastic sequences and, thus, a long latency to achieve accurate computation. The long latency leads to an inferior performance and low energy efficiency compared with most conventional binary designs. In this paper, a type of low-discrepancy sequences, the Sobol sequence, is considered for use in SC. Compared to the use of pseudorandom sequences generated by linear feedback shift registers (LFSRs), the use of Sobol sequences improves the accuracy of stochastic computation with a reduced sequence length. The inherent feature in Sobol sequence generators enables the parallel implementation of random number generators with an improved performance and hardware efficiency. In particular, the underlying theory is formulated and circuit design is proposed for an arbitrary level of parallelization in a power of 2. In addition, different strategies are implemented for parallelizing combinational and sequential stochastic circuits. The hardware efficiency of the parallel stochastic circuits is measured by energy per operation (EPO), throughput per area (TPA), and runtime. At a similar accuracy, the $8{\times}$ parallel stochastic circuits using Sobol sequences consume approximately 1% of the EPO of the conventional LFSR-based nonparallelized circuits. Meanwhile, an average of 70 (up to 89) times improvements in TPA and less than 1% runtime are achieved. A sorting network is implemented for a median filter (MF) as an application. For a similar image processing quality, a higher energy efficiency is obtained for an $8{\times}$ parallelized stochastic MF compared with its binary counterpart.

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

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

[3]  Dirk P. Kroese,et al.  Handbook of Monte Carlo Methods , 2011 .

[4]  Donald E. Knuth,et al.  The art of computer programming: sorting and searching (volume 3) , 1973 .

[5]  Deian Stefan,et al.  Low discrepancy sequences for Monte Carlo simulations on reconfigurable platforms , 2008, 2008 International Conference on Application-Specific Systems, Architectures and Processors.

[6]  Jie Han,et al.  Hardware ODE solvers using stochastic circuits , 2017, 2017 54th ACM/EDAC/IEEE Design Automation Conference (DAC).

[7]  Donald E. Knuth,et al.  The Art of Computer Programming: Volume 3: Sorting and Searching , 1998 .

[8]  Pai-Shun Ting,et al.  Stochastic Logic Realization of Matrix Operations , 2014, 2014 17th Euromicro Conference on Digital System Design.

[9]  Kenneth E. Batcher,et al.  Sorting networks and their applications , 1968, AFIPS Spring Joint Computing Conference.

[10]  Xin Li,et al.  An Architecture for Fault-Tolerant Computation with Stochastic Logic , 2011, IEEE Transactions on Computers.

[11]  John P. Hayes,et al.  Survey of Stochastic Computing , 2013, TECS.

[12]  Ramdas Kumaresan,et al.  Binary multiplication with PN sequences , 1988, IEEE Trans. Acoust. Speech Signal Process..

[13]  Harald Niederreiter,et al.  Random number generation and Quasi-Monte Carlo methods , 1992, CBMS-NSF regional conference series in applied mathematics.

[14]  John P. Hayes,et al.  Fast and accurate computation using stochastic circuits , 2014, 2014 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[15]  Jie Han,et al.  Energy efficient stochastic computing with Sobol sequences , 2017, Design, Automation & Test in Europe Conference & Exhibition (DATE), 2017.

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

[17]  Hao Chen,et al.  A Stochastic Computational Approach for Accurate and Efficient Reliability Evaluation , 2014, IEEE Transactions on Computers.

[18]  Paul Bratley,et al.  Algorithm 659: Implementing Sobol's quasirandom sequence generator , 1988, TOMS.