Abstract
There exists a need to generate massive amounts of random numbers in parallel for applications like simulation, machine learning, and deep learning in a fast, reproducible, portable, and efficient manner. This work reports the first implementation of a lightweight and efficient multiple-stream parallel random number generator based on cellular automata that is an improvement on the standard CPU implementations of PRNGs like Mersenne Twister and can be parallelized to run on a GPU in order to achieve a significant speedup over all known algorithms. We use a 2-state 3-neighborhood linear maximal-length cellular automaton that acts as the underlying model for the algorithm. This PRNG also passes a majority of the benchmark empirical tests for randomness proposed by the NIST, Dieharder, and TestU01 suites.
This work is partially supported by Start-up Research Grant (File number: SRG/2022/002098), SERB, Govt. of India.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
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)
L’Ecuyer, P., Simard, R.: TestU01: a C library for empirical testing of random number generators. ACM Trans. Math. Softw. 33(4), 22:1-22:40 (2007)
L’Ecuyer, P., Nadeau-Chamard, O., Chen, Y.-F., Lebar, J.: Multiple streams with recurrence-based, counter-based, and splittable random number generators. In: 2021 Winter Simulation Conference (WSC), Phoenix, AZ, USA, pp. 1–16 (2021). https://doi.org/10.1109/WSC52266.2021.9715397
Bhattacharjee, K., More, N., Singh, S.K., Verma, N.: Emulating mersenne twister with cellular automata. In: Das, S., Martinez, G.J. (eds.) ASCAT 2022. AISC, vol. 1425, pp. 95–108. Springer, Singapore (2022). https://doi.org/10.1007/978-981-19-0542-1_8
Adak, S., Das, S.: (Imperfect) strategies to generate primitive polynomials over GF (2). Theoret. Comput. Sci. 872, 79–96 (2021)
Rukhin, A., et al.: Statistical test suite for random and pseudorandom number generators for cryptographic applications, NIST special publication. revision 1a, volume 800-22. National Institute of Standards and Technology, Technology Administration, U.S. Department of Commerce (2010)
Brown, R.G., Eddelbuettel, D., Bauer, D.: Dieharder: A Random Number Test Suite. https://webhome.phy.duke.edu/~rgb/General/ dieharder.php
Multiple-Stream Parallel PRNG with CA. https://github.com/ZaydenClues/CellularAutomataPRNG
Saito, M., Matsumoto, M.: SIMD-oriented fast mersenne twister: a 128-bit pseudorandom number generator. In: Keller, A., Heinrich, S., Niederreiter, H. (eds.) Monte Carlo and Quasi-Monte Carlo Methods in Scientific Computing, pp. 607–622. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-74496-2_36
Saito, M., Matsumoto, M.: A high quality pseudo random number generator with small internal state. IPSJ SIG Notes 3, 1–6 (2011)
Bhattacharjee, K., Das, S.: A search for good pseudo-random number generators: Survey and empirical studies. Comput. Sci. Rev. 45, 100471 (2022)
Acknowledgments
The authors are grateful to Prof. Sukanta Das for his valuable comments, guidance and discussions on developing theories for the multiple-stream PRNG used in this work.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 IFIP International Federation for Information Processing
About this paper
Cite this paper
Jaleel, H.A., Kaarthik, S., Sathish, S., Bhattacharjee, K. (2023). Multiple-Stream Parallel Pseudo-Random Number Generation with Cellular Automata. In: Manzoni, L., Mariot, L., Roy Chowdhury, D. (eds) Cellular Automata and Discrete Complex Systems. AUTOMATA 2023. Lecture Notes in Computer Science, vol 14152. Springer, Cham. https://doi.org/10.1007/978-3-031-42250-8_7
Download citation
DOI: https://doi.org/10.1007/978-3-031-42250-8_7
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-42249-2
Online ISBN: 978-3-031-42250-8
eBook Packages: Computer ScienceComputer Science (R0)