Skip to main content

Multiple-Stream Parallel Pseudo-Random Number Generation with Cellular Automata

  • Conference paper
  • First Online:
Cellular Automata and Discrete Complex Systems (AUTOMATA 2023)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 14152))

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.

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 44.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 59.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

References

  1. 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 

  2. 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)

    MathSciNet  MATH  Google Scholar 

  3. 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

  4. 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

    Chapter  Google Scholar 

  5. Adak, S., Das, S.: (Imperfect) strategies to generate primitive polynomials over GF (2). Theoret. Comput. Sci. 872, 79–96 (2021)

    Article  MathSciNet  MATH  Google Scholar 

  6. 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)

    Google Scholar 

  7. Brown, R.G., Eddelbuettel, D., Bauer, D.: Dieharder: A Random Number Test Suite. https://webhome.phy.duke.edu/~rgb/General/ dieharder.php

  8. Multiple-Stream Parallel PRNG with CA. https://github.com/ZaydenClues/CellularAutomataPRNG

  9. 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

    Chapter  Google Scholar 

  10. Saito, M., Matsumoto, M.: A high quality pseudo random number generator with small internal state. IPSJ SIG Notes 3, 1–6 (2011)

    Google Scholar 

  11. Bhattacharjee, K., Das, S.: A search for good pseudo-random number generators: Survey and empirical studies. Comput. Sci. Rev. 45, 100471 (2022)

    Article  MathSciNet  MATH  Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Kamalika Bhattacharjee .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2023 IFIP International Federation for Information Processing

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics