Parallel Linear Congruential Generators with Prime Moduli

Abstract Linear congruential generators (LCGs) remain the most popular method of pseudorandom number generation on digital computers. Ease of implementation has favored implementing LCGs with power-of-two moduli. However, prime modulus LCGs are superior in quality to power-of-two modulus LCGs, and the use of a Mersenne prime minimizes the computational cost of generation. When implemented for parallel computation, quality becomes an even more compelling issue. We use a full-period exponential sum as the measure of stream independence and present a method for producing provably independent streams of LCGs in parallel by utilizing an explicit parameterization of all of the primitive elements modulo a given prime. The minimization of this measure of independence further motivates an algorithm required in the explicit parameterization. We describe and analyze this algorithm and describe its use in a parallel LCG package.

[1]  Burton J. Smith,et al.  Pseudo-random trees in Monte Carlo , 1984, Parallel Comput..

[2]  A. De Matteis,et al.  Long-range correlations in linear and nonlinear random number generators , 1990, Parallel Comput..

[3]  Harald Niederreiter,et al.  Random number generation and Quasi-Monte Carlo methods , 1992, CBMS-NSF regional conference series in applied mathematics.

[4]  Harald Niederreiter,et al.  Introduction to finite fields and their applications: List of Symbols , 1986 .

[5]  W. Schmidt Equations over Finite Fields: An Elementary Approach , 1976 .

[6]  A. Matteis,et al.  Parallelization of random number generators and long-range correlations , 1988 .

[7]  Y. Maday,et al.  Analysis of spectral projectors in one-dimensional domains , 1990 .

[8]  K. O. Bowman,et al.  Studies of random number generators for parallel processing , 1986 .

[9]  Joël Rivat,et al.  Computing pi(x): the Meissel, Lehmer, Lagarias, Miller, Odlyzko method , 1996, Math. Comput..

[10]  Jeffrey C. Lagarias,et al.  Computing n(X) the meissel-lehmer method , 1985 .

[11]  H. Niederreiter Quasi-Monte Carlo methods and pseudo-random numbers , 1978 .

[12]  István Deák,et al.  Uniform random number generators for parallel computers , 1990, Parallel Comput..

[13]  Michael Mascagni,et al.  A Fast, High Quality, and Reproducible Parallel Lagged-Fibonacci Pseudorandom Number Generator , 1995 .

[14]  Ora E. Percus,et al.  Random Number Generators for MIMD Parallel Processors , 1989, J. Parallel Distributed Comput..

[15]  Lauwerens Kuipers,et al.  Uniform distribution of sequences , 1974 .

[16]  Michael Mascagni,et al.  Implementation of a portable and reproducible parallel pseudorandom number generator , 1994, Proceedings of Supercomputing '94.

[17]  James C. Cavendish Local mesh refinement using rectangular blended finite elements , 1975 .

[18]  Pierre L'Ecuyer,et al.  Implementing a random number package with splitting facilities , 1991, TOMS.