using linear congruential generators for parallel random number generation
Linear congruential random number generators are widely used in simulation and Monte Carlo calculations. Because they are very fast, and because they have minimal state space, they remain attractive for use in parallel computing environments. We discuss their use as a source for many streams of pseudo-random numbers. Many authors have discussed splitting the stream of a single CRNG into many substreams; we show spectral calculations for this scheme and compare randomly and regularly spaced selection of starting points. Several authors have suggested using a common multiplier for all streams and a unique additive constant for each. The discrepancies of such schemes are no better than for splitting schemes; we show how they are in a sense equivalent. We also consider the use of distinct multipliers for each stream. Good multipliers are abundant for large enough moduli, but little is known about the multidimensional behavior of such generators. We discuss the use of improvement techniques and larger moduli to overcome the limitations of linear congruential generators.
use parallel random number generation randomization simulation monte carlo minimal space parallel computation environments streams author scheme select point behavior