Skip to main content

Fast and Small Nonlinear Pseudorandom Number Generators for Computer Simulation

  • Conference paper
Parallel Processing and Applied Mathematics (PPAM 2011)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 7203))

Abstract

In this paper we present Tyche, a nonlinear pseudorandom number generator designed for computer simulation. Tyche has a small 128-bit state and an expected period length of 2127. Unlike most nonlinear generators, Tyche is consistently fast across architectures, due to its very simple iteration function derived from ChaCha, one of today’s fastest stream ciphers.

Tyche is especially amenable for the highly parallel environments we find today, in particular for Graphics Processing Units (GPUs), where it enables a very large number of uncorrelated parallel streams running independently. For example, 216 parallel independent streams are expected to generate about 296 pseudorandom numbers each, without overlaps.

Additionally, we determine bounds for the period length and parallelism of our generators, and evaluate their statistical quality and performance. We compare Tyche and the variant Tyche-i to the XORWOW and TEA8 generators in CPUs and GPUs. Our comparisons show that Tyche and Tyche-i simultaneously achieve high performance and excellent statistical properties, particularly when compared to other nonlinear generators.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Metropolis, N., Ulam, S.: The Monte Carlo Method. Journal of the American Statistical Association 44(247), 335–341 (1949)

    MathSciNet  MATH  Google Scholar 

  2. Gentle, J.E.: Random Number Generation and Monte Carlo Methods, 2nd edn. Springer (2003)

    Google Scholar 

  3. Lindholm, E., Nickolls, J., Oberman, S., Montrym, J.: NVIDIA Tesla: A Unified Graphics and Computing Architecture. IEEE Micro. 28(2), 39–55 (2008)

    Article  Google Scholar 

  4. Vangal, S.R., Howard, J., Ruhl, G., Dighe, S., Wilson, H., Tschanz, J., Finan, D., Singh, A., Jacob, T., Jain, S., Erraguntla, V., Roberts, C., Hoskote, Y., Borkar, N., Borkar, S.: An 80-Tile Sub-100-W TeraFLOPS Processor in 65-nm CMOS. IEEE Journal of Solid-State Circuits 43(1), 29–41 (2008)

    Article  Google Scholar 

  5. Bernstein, D.J.: ChaCha, a variant of Salsa20 (January 2008), http://cr.yp.to/papers.html#chacha

  6. Knuth, D.E.: Art of Computer Programming, 3rd edn. Seminumerical Algorithms, vol. 2. Addison-Wesley Professional (November 1997)

    Google Scholar 

  7. Matsumoto, M., Nishimura, T.: Mersenne twister: a 623-dimensionally equidistributed uniform pseudo-random number generator. ACM Trans. Model. Comput. Simul. 8(1), 3–30 (1998)

    Article  MATH  Google Scholar 

  8. Marsaglia, G.: Xorshift RNGs. Journal of Statistical Software 8(14) (July 2003)

    Google Scholar 

  9. Pawlikowski, K., Jeong, H.D., Lee, J.S.R.: On Credibility of Simulation Studies of Telecommunication Networks. IEEE Communications Magazine, 132–139 (January 2002)

    Google Scholar 

  10. Hellekalek, P.: Inversive Pseudorandom Number Generators: Concepts, Results, and Links. In: Alexopoulos, C., Kang, K., Lilegdon, W.R., Goldsman, D. (eds.) Proceedings of the 1995 Winter Simulation Conference, pp. 255–262. IEEE Press (1995)

    Google Scholar 

  11. Blum, L., Blum, M., Shub, M.: A Simple Unpredictable Pseudo-Random Number Generator. SIAM J. Comput. 15(2), 364–383 (1986)

    Article  MathSciNet  MATH  Google Scholar 

  12. Eddy, W.F.: Random Number Generators for Parallel Processors. Journal of Computational and Applied Mathematics 31, 63–71 (1990)

    Article  MathSciNet  MATH  Google Scholar 

  13. Brent, R.: Uniform random number generators for supercomputers. In: Proc. Fifth Australian Supercomputer Conference, Melbourne, pp. 95–104 (December 1992)

    Google Scholar 

  14. Schoo, M., Pawlikowski, K., McNickle, D.: A Survey and Empirical Comparison of Modern Pseudo-Random Number Generators for Distributed Stochastic Simulations. Technical report, Department of Computer Science and Software Development, University of Canterbury (2005)

    Google Scholar 

  15. Langdon, W.B.: A fast high quality pseudo random number generator for nvidia cuda. In: GECCO 2009: Proceedings of the 11th Annual Conference Companion on Genetic and Evolutionary Computation Conference, pp. 2511–2514. ACM, New York (2009)

    Chapter  Google Scholar 

  16. Tzeng, S., Wei, L.Y.: Parallel white noise generation on a GPU via cryptographic hash. In: Proceedings of the 2008 Symposium on Interactive 3D Graphics and Games, I3D 2008, pp. 79–87. ACM, New York (2008)

    Google Scholar 

  17. Zafar, F., Olano, M., Curtis, A.: GPU random numbers via the tiny encryption algorithm. In: Proceedings of the Conference on High Performance Graphics. HPG 2010, pp. 133–141. Eurographics Association, Aire-la-Ville (2010)

    Google Scholar 

  18. Biryukov, A.: The Design of a Stream Cipher LEX. In: Biham, E., Youssef, A.M. (eds.) SAC 2006. LNCS, vol. 4356, pp. 67–75. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  19. L’Ecuyer, P., Simard, R.: On the performance of birthday spacings tests with certain families of random number generators. Math. Comput. Simul. 55(1-3), 131–137 (2001)

    Article  MathSciNet  MATH  Google Scholar 

  20. Flajolet, P., Odlyzko, A.M.: Random Mapping Statistics. In: Quisquater, J.-J., Vandewalle, J. (eds.) EUROCRYPT 1989. LNCS, vol. 434, pp. 329–354. Springer, Heidelberg (1990)

    Google Scholar 

  21. Knuth, D.E.: Art of Computer Programming. Fundamental Algorithms, vol. 1. Addison-Wesley (July 2002)

    Google Scholar 

  22. Aumasson, J.P., Henzen, L., Meier, W., Phan, R.C.W.: SHA-3 proposal BLAKE. In: Submission to NIST, Round 3 (2010)

    Google Scholar 

  23. Chambers, W.G.: On Random Mappings and Random Permutations. In: Preneel, B. (ed.) FSE 1994. LNCS, vol. 1008, pp. 22–28. Springer, Heidelberg (1995)

    Chapter  Google Scholar 

  24. Naus, J.I.: An extension of the birthday problem. The American Statistician 22(1), 27–29 (1968), http://www.jstor.org/stable/2681879

    Google Scholar 

  25. NVIDIA: CUDA Toolkit 4.0 CURAND Guide (January 2011)

    Google Scholar 

  26. Zafar, F., Curtis, A., Olano, M.: GPU Random Numbers via the Tiny Encryption Algorithm. In: HPG 2010: Proceedings of the ACM SIGGRAPH/Eurographics Symposium on High Performance Graphics, Saarbrucken, Germany (June 2010)

    Google Scholar 

  27. Walker, J.: A Pseudorandom Number Sequence Test Program (January 2008), http://www.fourmilab.ch/random/

  28. Marsaglia, G.: The Marsaglia random number CDROM including the DIEHARD battery of tests of randomness (1996), http://stat.fsu.edu/pub/diehard

  29. L’Ecuyer, P., Simard, R.: TestU01: A C library for empirical testing of random number generators. ACM Trans. Math. Softw. 33(4), 22 (2007)

    Article  MathSciNet  Google Scholar 

  30. Aumasson, J.P., Fischer, S., Khazaei, S., Meier, W., Rechberger, C.: New Features of Latin Dances: Analysis of Salsa, ChaCha, and Rumba, 470–488 (2008)

    Google Scholar 

  31. Aumasson, J.-P., Guo, J., Knellwolf, S., Matusiewicz, K., Meier, W.: Differential and Invertibility Properties of BLAKE. In: Hong, S., Iwata, T. (eds.) FSE 2010. LNCS, vol. 6147, pp. 318–332. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Neves, S., Araujo, F. (2012). Fast and Small Nonlinear Pseudorandom Number Generators for Computer Simulation. In: Wyrzykowski, R., Dongarra, J., Karczewski, K., Waśniewski, J. (eds) Parallel Processing and Applied Mathematics. PPAM 2011. Lecture Notes in Computer Science, vol 7203. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-31464-3_10

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-31464-3_10

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-31463-6

  • Online ISBN: 978-3-642-31464-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics