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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Metropolis, N., Ulam, S.: The Monte Carlo Method. Journal of the American Statistical Association 44(247), 335–341 (1949)
Gentle, J.E.: Random Number Generation and Monte Carlo Methods, 2nd edn. Springer (2003)
Lindholm, E., Nickolls, J., Oberman, S., Montrym, J.: NVIDIA Tesla: A Unified Graphics and Computing Architecture. IEEE Micro. 28(2), 39–55 (2008)
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)
Bernstein, D.J.: ChaCha, a variant of Salsa20 (January 2008), http://cr.yp.to/papers.html#chacha
Knuth, D.E.: Art of Computer Programming, 3rd edn. Seminumerical Algorithms, vol. 2. Addison-Wesley Professional (November 1997)
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)
Marsaglia, G.: Xorshift RNGs. Journal of Statistical Software 8(14) (July 2003)
Pawlikowski, K., Jeong, H.D., Lee, J.S.R.: On Credibility of Simulation Studies of Telecommunication Networks. IEEE Communications Magazine, 132–139 (January 2002)
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)
Blum, L., Blum, M., Shub, M.: A Simple Unpredictable Pseudo-Random Number Generator. SIAM J. Comput. 15(2), 364–383 (1986)
Eddy, W.F.: Random Number Generators for Parallel Processors. Journal of Computational and Applied Mathematics 31, 63–71 (1990)
Brent, R.: Uniform random number generators for supercomputers. In: Proc. Fifth Australian Supercomputer Conference, Melbourne, pp. 95–104 (December 1992)
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)
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)
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)
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)
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)
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)
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)
Knuth, D.E.: Art of Computer Programming. Fundamental Algorithms, vol. 1. Addison-Wesley (July 2002)
Aumasson, J.P., Henzen, L., Meier, W., Phan, R.C.W.: SHA-3 proposal BLAKE. In: Submission to NIST, Round 3 (2010)
Chambers, W.G.: On Random Mappings and Random Permutations. In: Preneel, B. (ed.) FSE 1994. LNCS, vol. 1008, pp. 22–28. Springer, Heidelberg (1995)
Naus, J.I.: An extension of the birthday problem. The American Statistician 22(1), 27–29 (1968), http://www.jstor.org/stable/2681879
NVIDIA: CUDA Toolkit 4.0 CURAND Guide (January 2011)
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)
Walker, J.: A Pseudorandom Number Sequence Test Program (January 2008), http://www.fourmilab.ch/random/
Marsaglia, G.: The Marsaglia random number CDROM including the DIEHARD battery of tests of randomness (1996), http://stat.fsu.edu/pub/diehard
L’Ecuyer, P., Simard, R.: TestU01: A C library for empirical testing of random number generators. ACM Trans. Math. Softw. 33(4), 22 (2007)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)