Parameterizing parallel multiplicative lagged-Fibonacci generators
Monte Carlo computations are commonly considered to be naturally parallel. However, one needs to exercise care in parallelizing the underlying pseudorandom number generator (PRNG) to avoid correlations within, and between, random number streams. PRNGs are normally parallelized using one of the following two paradigms: (i) cycle division and (ii) parameterization. Most of the popular PRNGs based on linear recurrences, such as linear congruential generators (LCGs), generalized feedback shift-register generators (GFSRs), and additive lagged-Fibonacci generators (ALFGs) have been parallelized using both these paradigms. While the (nonlinear) multiplicative lagged-Fibonacci generators (MLFG) is considered superior to the ALFG in quality, it had so far been parallelized only via the cycle division paradigm, which has its limitations. In this paper, we describe parallelization of the MLFG using parameterization, and discuss its implementation in the Scalable Parallel Random Number Generators (SPRNG) [ACM Trans. Math. Software 26 (2000) 436] parallel pseudorandom number generation software. We also present empirical results demonstrating the quality, and quantitatively compare the parallel ALFGs and MLFGs quality.
parallel pseudorandom number generators nonlinear recurrences