Studies of random number generators for parallel processing

If Monte Carlo calculations are to be performed in a parallel processing environment, a method of generating appropriate sequences of pseudorandom numbers for each process must be available. Frederickson et al. proposed an elegant algorithm based on the concept of pseudorandom or Lehmer trees: the sequence of numbers from a linear congruential generator is divided into disjoint subsequences by the members of an auxilary sequence. One subsequence can be assigned to each process. Extensive tests show the algorithm to suffer from correlations between the parallel subsequences: this is a result of the small number of bits which particpate in the auxiliary sequence and illustrates the well-known discovery of Marsaglia. Two alternative algorithms are proposed, both of which appear to be free of interprocess correlations. One relaxes the conditions on the Lehmer tree by using an arbitrary auxiliary multiplier: it is not known to what extent the subsequences are disjoint. The other partitions the main sequence into disjoint subsequences by sending one member to each process in turn, minimizing interprocess communication by defining new sequence generating parameters. 10 refs., 4 figs.