A new class of scalable parallel pseudorandom number generators based on Pohlig-Hellman exponentiation ciphers
Abstract
Parallel supercomputer-based Monte Carlo applications depend on pseudorandom number generators that produce independent pseudorandom streams across many separate processes. We propose a new scalable class of parallel pseudorandom number generators based on Pohlig--Hellman exponentiation ciphers. The method generates uniformly distributed floating point pseudorandom streams by encrypting simple sequences of integer \textit{messages} into \textit{ciphertexts} by exponentiation modulo prime numbers. The advantages of the method are: the method is trivially parallelizable by parameterization with each pseudorandom number generator derived from an independent prime modulus, the method is fully scalable on massively parallel computing clusters due to the large number of primes available for each implementation, the seeding and initialization of the independent streams is simple, the method requires only a few integer multiply--mod operations per pseudorandom number, the state of each instance is defined by only a few integer values, the period of each instance is different, and the method passes a battery of intrastream and interstream correlation tests using up to $10^{13}$ pseudorandom numbers per test. The 32-bit implementation we propose has millions of possible instances, all with periods greater than $10^{18}$. A 64-bit implementation depends on 128-bit arithmetic, but would have more than $10^{15}$ possible instances and periods greater than $10^{37}$.
- Publication:
-
arXiv e-prints
- Pub Date:
- November 2014
- DOI:
- arXiv:
- arXiv:1411.2484
- Bibcode:
- 2014arXiv1411.2484B
- Keywords:
-
- Physics - Computational Physics;
- Computer Science - Cryptography and Security
- E-Print:
- 12 pages, 4 figures