skip to main content
survey

Gaussian Random Number Generation: A Survey on Hardware Architectures

Published:01 November 2016Publication History
Skip Abstract Section

Abstract

Some excellent surveys of the Gaussian random number generators (GRNGs) from the algorithmic perspective exist in the published literature to date (e.g., Thomas et al. [2007]). In the last decade, however, advancements in digital hardware have resulted in an ever-decreasing hardware cost and increased design flexibility. Additionally, recent advances in applications like gaming, weather forecasting, and simulations in physics and astronomy require faster, cheaper, and statistically accurate GRNGs. These two trends have contributed toward the development of a number of novel GRNG architectures optimized for hardware design. A detailed comparative study of these hardware architectures has been somewhat missing in the published literature. This work provides the potential user a capsulization of the published hardware GRNG architectures. We have provided the method and theory, pros and cons, and a comparative summary of the speed, statistical accuracy, and hardware resource utilization of these architectures. Finally, we have complemented this work by describing two novel hardware GRNG architectures, namely, the CLT-inversion and the multihat algorithm, respectively. These new architectures provide high tail accuracy ( and , respectively) at a low hardware cost.

References

  1. A. Alimohammad, S. F. Fard, B. F. Cockburn, and C. Schlegel. 2008. A compact and accurate Gaussian variate generator. IEEE Transactions on Very Large Scale Integration (VLSI) Systems 16, 5 (May 2008), 517--527. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. D. Ashlock. 2006. Evolutionary Computation for Modeling and Optimization. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. S. Banks, P. Beadling, and A. Ferencz. 2008. FPGA implementation of pseudo random number generators for Monte Carlo methods in quantitative finance. In International Conference on Reconfigurable Computing and FPGAs, 2008. 271--276. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. G. E. Box and M. E. Muller. 1958. A note on the generation of random normal deviates. Annals of Mathematical Statistics 29, 2 (1958), 610--611.Google ScholarGoogle ScholarCross RefCross Ref
  5. R. P. Brent. 2008. Some comments on C. S. Wallace’s random number generators. Computer Journal 51, 5 (2008), 579--584.Google ScholarGoogle ScholarCross RefCross Ref
  6. R. C. C. Cheung, D. U. Lee, W. Luk, and J. D. Villasenor. 2007. Hardware generation of arbitrary random number distributions from uniform distributions via the inversion method. IEEE Transactions on Very Large Scale Integration (VLSI) Systems 15, 8 (Aug. 2007), 952--962. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. L. Colavito and D. Silage. 2009. Efficient PGA LFSR implementation whitens pseudo random numbers. In International Conference on Reconfigurable Computing and FPGAs, 2009. 308--313. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. C. P. Dancey and J. Reidy. 2004. Statistics without Maths for Psychology: Using Spss for Windows. Prentice-Hall, Upper Saddle River, NJ. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. J. L. Danger, A. Ghazel, E. Boutillon, and H. Laamari. 2000. Efficient FPGA implementation of Gaussian noise generator for communication channel emulation. In The 7th IEEE International Conference on Electronics, Circuits and Systems, 2000. Vol. 1. 366--369.Google ScholarGoogle Scholar
  10. C. de Schryver, D. Schmidt, N. Wehn, E. Korn, H. Marxen, and R. Korn. 2010. A new hardware efficient inversion based random number generator for non-uniform distributions. In 2010 International Conference on Reconfigurable Computing and FPGAs, 2010. 190--195. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. P. Echeverria and M. Lopez-Vallejo. 2007. FPGA Gaussian random number generator based on quintic Hermite interpolation inversion. In 50th Midwest Symposium on Circuits and Systems, 2007. 871--874.Google ScholarGoogle Scholar
  12. H. M. Edrees, B. Cheung, M. Sandora, D. B. Nummey, and D. Stefan. 2009. Hardware-optimized Ziggurat algorithm for high-speed Gaussian random number generators. In ERSA, Toomas P. Plaks (Ed.). CSREA Press, 254--260.Google ScholarGoogle Scholar
  13. E. Fung, K. Leung, N. Parimi, M. Purnaprajna, and V. C. Gaudet. 2004. ASIC implementation of a high speed WGNG for communication channel emulation [white Gaussian noise generator]. In IEEE Workshop on Signal Processing Systems, 2004. 304--309.Google ScholarGoogle Scholar
  14. S. Ghahramani. 2005. Fundamentals of Probability with Stochastic Processes. Pearson/Prentice Hall.Google ScholarGoogle Scholar
  15. A. Ghazel, E. Boutillon, J. L. Danger, G. Gulak, and H. Laamari. 2001. Design and performance analysis of a high speed AWGN communication channel emulator. In IEEE Pacific Rim Conference on Communications, Computers and Signal Processing, 2001. Vol. 2. 374--377.Google ScholarGoogle Scholar
  16. R. Gutierrez, V. Torres, and J. Valls. 2012. Hardware architecture of a Gaussian noise generator based on the inversion method. IEEE Transactions on Circuits and Systems II: Express Briefs 59, 8 (Aug. 2012), 501--505.Google ScholarGoogle ScholarCross RefCross Ref
  17. A. R. Hamid and Q. N. Tran. 2015. Emerging Trends in Computational Biology, Bioinformatics and Systems Biology: Algorithms and Software Tools (Emerging Trends in Computer Science and Applied Computing). Morgan Kaufmann. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. P. Kabal. 2000. Generating Gaussian Pseudo-Random Deviates. McGill University.Google ScholarGoogle Scholar
  19. S. Konuma and S. Ichikawa. 2005. Design and evaluation of hardware pseudo-random number generator MT19937. IEICE Transactions 88-D, 12 (2005), 2876--2879. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. D. U. Lee, R. C. C. Cheung, J. D. Villasenor, and W. Luk. 2006. Inversion-based hardware Gaussian random number generator: A case study of function evaluation via hierarchical segmentation. In IEEE International Conference on Field Programmable Technology, 2006. 33--40.Google ScholarGoogle Scholar
  21. D. U. Lee, W. Luk, J. Villasenor, and P. Y. K. Cheung. 2003. Hierarchical segmentation schemes for function evaluation. In Proceedings of the 2003 IEEE International Conference on Field-Programmable Technology (FPT’03). 92--99.Google ScholarGoogle ScholarCross RefCross Ref
  22. D. U. Lee, W. Luk, J. D. Villasenor, and P. Y. K. Cheung. 2004. A Gaussian noise generator for hardware-based simulations. IEEE Transactions on Computers 53, 12 (Dec. 2004), 1523--1534. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. D. U. Lee, W. Luk, J. D. Villasenor, G. Zhang, and P. H. W. Leong. 2005. A hardware Gaussian noise generator using the Wallace method. IEEE Transactions on Very Large Scale Integration (VLSI) Systems 13, 8 (Aug. 2005), 911--920. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. D. U. Lee, J. D. Villasenor, W. Luk, and P. H. W. Leong. 2006. A hardware Gaussian noise generator using the Box-Muller method and its error analysis. IEEE Transactions on Computers 55, 6 (June 2006), 659--671. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Y. Li, P. Chow, J. Jiang, M. Zhang, and S. Wei. 2012. Software/hardware framework for generating parallel Gaussian random numbers based on the Monty Python method. In 2012 International Conference on Field-Programmable Technology (FPT’12). 190--197. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. J. S. Malik and A. Hemani. 2009. On the design of Doppler filters for next generation radio channel simulators. In 3rd International Conference on Signals, Circuits and Systems (SCS’09). 1--6.Google ScholarGoogle Scholar
  27. J. S. Malik, A. Hemani, and N. D. Gohar. 2013. Unifying CORDIC and Box-Muller algorithms: An accurate and efficient Gaussian random number generator. In IEEE 24th International Conference on Application-Specific Systems, Architectures and Processors (ASAP’13). 277--280. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. J. S. Malik, A. Hemani, J. N. Malik, B. Silmane, and N. D Gohar. 2014. Revisiting central limit theorem: Accurate Gaussian random number generation in VLSI. IEEE Transactions on Very Large Scale Integration (VLSI) Systems PP, 99 (2014), 1--1.Google ScholarGoogle Scholar
  29. J. S. Malik, J. N. Malik, A. Hemani, and N. D. Gohar. 2011a. An efficient hardware implementation of high quality AWGN generator using Box-Muller method. In 11th International Symposium on Communications and Information Technologies (ISCIT’11). 449--454.Google ScholarGoogle Scholar
  30. J. S. Malik, J. N. Malik, A. Hemani, and N. D. Gohar. 2011b. Generating high tail accuracy Gaussian random numbers in hardware using central limit theorem. In 19th International Conference on VLSI and System-on-Chip (VLSI-SoC’11). 60--65.Google ScholarGoogle Scholar
  31. J. S. Malik, P. Palazzari, and A. Hemani. 2012. Effort, resources and abstraction vs performance in high-level synthesis: Finding new answers to an old question. SIGARCH Computer Architecture News 40, 5 (March 2012), 64--69. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. G. Marsaglia and T. A. Bray. 1964. A convenient method for generating normal variables. Journal of SIAM Review 6, 3 (1964), 260--264.Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. G. Marsaglia and W. W. Tsang. 1984. A fast, easily implemented method for sampling from decreasing or symmetric unimodal density functions. SIAM Journal on Scientific Statistical Computing 5 (1984), 349--359.Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. G. Marsaglia and W. W. Tsang. 1998. The Monty Python method for generating random variables. ACM Transactions on Mathematical Software 24, 3 (1998), 341--350. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. G. Marsaglia and W. W. Tsang. 1999. The Monty Python method for generating gamma variables. Journal of Statistical Software 3, 3 (1999), 1--8. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. G. Marsaglia and W. W. Tsang. 2000. The Ziggurat method for generating random variables. Journal of Statistical Software 5, 8 (2000), 1--7.Google ScholarGoogle ScholarCross RefCross Ref
  37. M. E. Muller. 1958. An inverse method for the generation of random normal deviates on large-scale computers. Journal of Mathematical Tables and Other Aids in Computing 12, 63 (1958), 167--174.Google ScholarGoogle ScholarCross RefCross Ref
  38. E. S. Page. 1959. Pseudo-random elements for computers. Journal of the Royal Statistical Society 8, 2 (June 1959), 124--131.Google ScholarGoogle Scholar
  39. M. Schatzman. 2002. Numerical Analysis: A Mathematical Introduction. Clarendon Press, Oxford.Google ScholarGoogle Scholar
  40. C. D. Schryver, D. Schmidt, N. Wehn, E. Korn, H. Marxen, A. Kostiuk, and R. Korn. 2012. A hardware efficient random number generator for nonuniform distributions with arbitrary precision. International Journal of Reconfigurable Computing 2012, Article 12 (Jan. 2012), 1 page. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. B. G. Sileshi, C. Ferrer, and J. Oliver. 2014. Accelerating hardware Gaussian random number generation using Ziggurat and CORDIC algorithms. In IEEE Sensors, 2014. 2122--2125.Google ScholarGoogle Scholar
  42. M. Stefano and S. Simone. 2007. The quantum separability problem for Gaussian states. Electronic Notes on Theoretical Computer Science 169 (March 2007), 121--131. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. G. Tennant. 2001. Six Sigma: SPC and TQM in Manufacturing and Services. Gower Publishing.Google ScholarGoogle Scholar
  44. D. B. Thomas. 2014. FPGA Gaussian random number generators with guaranteed statistical accuracy. In IEEE 22nd Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM’14). 149--156. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. D. B. Thomas. 2015. The table-Hadamard GRNG: An area-efficient FPGA Gaussian random number generator. ACM Transactions on Reconfigurable Technological Systems 8, 4, Article 23 (Sept. 2015), 22 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. D. B. Thomas and W. Luk. 2006. Non-uniform random number generation through piecewise linear approximations. In International Conference on Field Programmable Logic and Applications, 2006. 1--6.Google ScholarGoogle ScholarCross RefCross Ref
  47. D. B Thomas and W. Luk. 2013. The LUT-SR family of uniform random number generators for FPGA architectures. IEEE Transactions on Very Large Scale Integration (VLSI) Systems 21 (2013), 761--770. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. D. B. Thomas, L. Wayne, P. H. W. Leong, and J. D. Villasenor. 2007. Gaussian random number generators. ACM Computer Surveys 39, 4, Article 11 (Nov. 2007).Google ScholarGoogle Scholar
  49. C. S. Wallace. 1996. Fast pseudo random generators for normal and exponential variates. ACM Transactions on Mathematical Software 22 (1996), 119--127. Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. Xilinx. 2002. Additive white Gaussian noise (AWGN) core. Xilinx.Google ScholarGoogle Scholar
  51. G. L. Zhang, P. H. Leong, C. H. Ho, K. H. Tsoi, C. C. Cheung, D. U. Lee, R. C. Cheung, and W. Luk. 2005a. Reconfigurable acceleration for Monte Carlo based financial simulation. In IEEE International Conference on Field-Programmable Technology, 2005. 215--222.Google ScholarGoogle ScholarCross RefCross Ref
  52. Z. G. Zhang, P. H. W. Leong, D. U. Lee, J. D. Villasenor, R. C. C. Cheung, and W. Luk. 2005b. Ziggurat-based hardware Gaussian random number generator. In International Conference on Field Programmable Logic and Applications, 2005. 275--280.Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. Gaussian Random Number Generation: A Survey on Hardware Architectures

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image ACM Computing Surveys
        ACM Computing Surveys  Volume 49, Issue 3
        September 2017
        658 pages
        ISSN:0360-0300
        EISSN:1557-7341
        DOI:10.1145/2988524
        • Editor:
        • Sartaj Sahni
        Issue’s Table of Contents

        Copyright © 2016 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 1 November 2016
        • Accepted: 1 July 2016
        • Revised: 1 May 2016
        • Received: 1 June 2015
        Published in csur Volume 49, Issue 3

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • survey
        • Research
        • Refereed

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader