Software/Hardware Parallel Long-Period Random Number Generation Framework Based on the WELL Method

This paper presents a hardware architecture for efficient implementation of the well equidistributed long-period linear (WELL) algorithm. Our design achieves a throughput of one sample-per-cycle and runs as fast as 423 MHz on a Xilinx XC5VFX130T field-programmable gate array (FPGA) device. This performance is 7.1-fold faster than a dedicated software implementation. The proposed architecture is also implemented on targeting different devices for the comparison of other types of pseudorandom number generators. In addition, we design a software/hardware framework that is capable of dividing the WELL stream into an arbitrary number of independent parallel substreams. With support from software, this framework can obtain speedup roughly proportional to the number of parallel cores. The sequences produced by the single design are verified to be consistent with the standard software generator. In addition, the statistical tests of interleaved sequences are also performed to check for correlations between different substreams of the parallel framework. We apply our framework to two applications. Experimental results verify the correctness of our framework as well as the better characteristics of the WELL algorithm compared with the Mersenne Twister method.

[1]  Wayne Luk,et al.  High quality uniform random number generation through LUT optimised linear recurrences , 2005, Proceedings. 2005 IEEE International Conference on Field-Programmable Technology, 2005..

[2]  M. E. Muller,et al.  A Note on the Generation of Random Normal Deviates , 1958 .

[3]  Wayne Luk,et al.  A hardware Gaussian noise generator using the Box-Muller method and its error analysis , 2006, IEEE Transactions on Computers.

[4]  Wayne Luk,et al.  Ziggurat-based hardware Gaussian random number generator , 2005, International Conference on Field Programmable Logic and Applications, 2005..

[5]  Wayne Luk,et al.  A hardware Gaussian noise generator using the Wallace method , 2005, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[6]  Jiang Jiang,et al.  Software/Hardware Framework for Generating Parallel Long-Period Random Numbers Using the WELL Method , 2011, 2011 21st International Conference on Field Programmable Logic and Applications.

[7]  Pierre L'Ecuyer,et al.  Fast random number generators based on linear recurrences modulo 2: overview and comparison , 2005, Proceedings of the Winter Simulation Conference, 2005..

[8]  Vassilis Paliouras,et al.  A flexible high-throughput hardware architecture for a gaussian noise generator , 2011, 2011 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP).

[9]  Jiang Jiang,et al.  Software/hardware framework for generating parallel Gaussian random numbers based on the Monty Python method , 2012, 2012 International Conference on Field-Programmable Technology.

[10]  Takuji Nishimura,et al.  Mersenne twister: a 623-dimensionally equidistributed uniform pseudo-random number generator , 1998, TOMC.

[11]  Pierre L'Ecuyer,et al.  Efficient Jump Ahead for (F-openface) 2 -Linear Random Number Generators , 2008 .

[12]  Wayne Luk,et al.  The LUT-SR Family of Uniform Random Number Generators for FPGA Architectures , 2013, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[13]  Pierre L'Ecuyer,et al.  TestU01: A C library for empirical testing of random number generators , 2006, TOMS.

[14]  Abbes Amira,et al.  High Performance FPGA Implementation of the Mersenne Twister , 2008, 4th IEEE International Symposium on Electronic Design, Test and Applications (delta 2008).

[15]  Deian Stefan,et al.  A hardware framework for the fast generation of multiple long-period random number streams , 2008, FPGA '08.

[16]  JunKyu Lee,et al.  Hardware accelerated Scalable Parallel Random Number Generators for Monte Carlo methods , 2008, 2008 51st Midwest Symposium on Circuits and Systems.

[17]  Wayne Luk,et al.  A Gaussian noise generator for hardware-based simulations , 2004, IEEE Transactions on Computers.

[18]  Emmanuel Boutillon,et al.  Hardware Discrete Channel Emulator , 2010, 2010 International Conference on High Performance Computing & Simulation.

[19]  Shuichi Ichikawa,et al.  Design and Evaluation of Hardware Pseudo-Random Number , 2005 .

[20]  Pierre L'Ecuyer,et al.  Improved long-period generators based on linear recurrences modulo 2 , 2004, TOMS.

[21]  David Kearney,et al.  An Area Time Efficient Field Programmable Mersenne Twister Uniform Random Number Generator , 2006, ERSA.