Random number generation and simulation on vector and parallel computers

  • Richard P. Brent
Invited Talks
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1470)

Abstract

Pseudo-random numbers are often required for simulations performed on parallel computers. The requirements for parallel random number generators are more stringent than those for sequential random number generators. As well as passing the usual sequential tests on each processor, a parallel random number generator must give different, independent sequences on each processor. We consider the requirements for a good parallel random number generator, and discuss generators for the uniform and normal distributions. We also describe a new class of generators for the normal distribution (based on a proposal by Wallace). These generators can give very fast vector or parallel implementations. Implementations of uniform and normal generators on vector and vector/parallel computers are discussed.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    M. Abramowitz and I. A. Stegun: Handbook of Mathematical Functions. Dover, New York, 1965, Ch. 26.Google Scholar
  2. 2.
    J. H. Ahrens and U. Dieter: Computer Methods for Sampling from the Exponential and Normal Distributions. Comm. ACM 15 (1972), 873–882.MATHMathSciNetCrossRefGoogle Scholar
  3. 3.
    S. Aluru, G. M. Prabhu and J. Gustafson: A Random Number Generator for Parallel Computers. Parallel Computing 18 (1992), 839.MATHMathSciNetCrossRefGoogle Scholar
  4. 4.
    S. L. Anderson: Random Number Generators on Vector Supercomputers and Other Advanced Architectures, SIAM Review 32 (1990), 221–251.MATHMathSciNetCrossRefGoogle Scholar
  5. 5.
    R. P. Brent: Algorithm 488: A Gaussian Pseudo-Random Number Generator (G5). Comm. ACM 17 (1974), 704–706.MATHCrossRefGoogle Scholar
  6. 6.
    R. P. Brent: Uniform Random Number Generators for Supercomputers. Proc. Fifth Australian Supercomputer Conference, Melbourne, December 1992, 95–104. ftp://nimbus.anu.edu.au/pub/Brent/rpb132.dvi.gzGoogle Scholar
  7. 7.
    R. P. Brent: Fast Normal Random Number Generators for Vector Processors. Report TR-CS-93-04, Computer Sciences Laboratory, Australian National University, March 1993. ftp://nimbus.anu.edu.au/pub/Brent/rpb141tr.dvi.gzGoogle Scholar
  8. 8.
    R. P. Brent: On the Periods of Generalized Fibonacci Recurrences, Math. Comp. 63 (1994), 389–401.MATHMathSciNetCrossRefGoogle Scholar
  9. 9.
    R. P. Brent: A Fast Vectorised Implementation of Wallace’s Normal Random Number Generator. Report TR-CS-97-07, Computer Sciences Laboratory, Australian National University, Canberra, April 1997. ftp://nimbus.anu.edu.au/pub/Brent/rpb170tr.dvi.gzGoogle Scholar
  10. 10.
    C. W. Clenshaw, L. Fox, E. T. Goodwin, D. W. Martin, J. G. L. Michel, G. F. Miller, F. W. J. Olver and J. H. Wilkinson: Modern Computing Methods. 2nd edition, HMSO, London, 1961, Ch. 8.Google Scholar
  11. 11.
    P. D. Coddington: Random Number Generators for Parallel Computers. The NHSE Review 2 (1996). http://nhse.cs.rice.edu/NHSEreview/RNG/PRNGreview.psGoogle Scholar
  12. 12.
    P. D. Coddington and S-H. Ko: Techniques for Empirical Testing of Parallel Random Number Generators. Proc. International Conference on Supercomputing (ICS’98), Melbourne, Australia, July 1998, to appear.Google Scholar
  13. 13.
    S. A. Cuccaro, M. Mascagni and D. V. Pryor: Techniques for Testing the Quality of Parallel Pseudo-Random Number Generators. Proc. 7th SIAM Conf. on Parallel Processing for Scientific Computing, SIAM, Philadelphia, 1995, 279–284.Google Scholar
  14. 14.
    L. Devroye: Non-Uniform Random Variate Generation. Springer-Verlag, New York, 1986.Google Scholar
  15. 15.
    P. L’Ecuyer: Efficient and Portable Combined Random Number Generators. Comm. ACM 31 (1988), 742–749, 774.MathSciNetCrossRefGoogle Scholar
  16. 16.
    P. L’Ecuyer: Random Numbers for Simulation. Comm. ACM 33, 10 (1990), 85–97.CrossRefGoogle Scholar
  17. 17.
    P. L’Ecuyer and S. CÔté: Implementing a Random Number Package with Splitting Facilities. ACM Trans. Math. Software 17 (1991), 98–111.MathSciNetCrossRefGoogle Scholar
  18. 18.
    W. Evans and B. Sugla: Parallel Random Number Generation. Proc. 4th Conference on Hypercube Concurrent Computers and Applications (ed. J. Gustafson), Golden Gate Enterprises, Los Altos, CA, 1989, 415.Google Scholar
  19. 19.
    A. M. Ferrenberg, D. P. Landau and Y. J. Wong: Monte Carlo Simulations: Hidden Errors From “Good” Random Number Generators. Phys. Rev. Lett. 69 (1992), 3382–3384.CrossRefGoogle Scholar
  20. 20.
    P. Griffiths and I. D. Hill (editors): Applied Statistics Algorithms. Ellis Horwood, Chichester, 1985.Google Scholar
  21. 21.
    J. R. Heringa, H. W. J. Blöte and A. Compagner: New Primitive Trinomials of Mersenne-Exponent Degrees for Random-Number Generation. Internat. J. of Modern Physics C 3 (1992), 561–564.MATHCrossRefGoogle Scholar
  22. 22.
    F. James: A Review of Pseudo-Random Number Generators. Computer Physics Communications 60 (1990), 329–344.MATHMathSciNetCrossRefGoogle Scholar
  23. 23.
    A. J. Kinderman and J. F. Monahan: Computer Generation of Random Variables Using the Ratio of Uniform Deviates. ACM Trans. Math. Software 3 (1977), 257–260.MATHCrossRefGoogle Scholar
  24. 24.
    D. E. Knuth: The Art of Computer Programming. Volume 2: Seminumerical Algorithms. 3rd edn. Addison-Wesley, Menlo Park, 1997.Google Scholar
  25. 25.
    D. H. Lehmer: Mathematical Methods in Large-Scale Computing Units. Ann. Comput. Lab. Harvard Univ. 26 (1951), 141–146.MathSciNetGoogle Scholar
  26. 26.
    J. L. Leva: A Fast Normal Random Number Generator. ACM Trans. Math. Software 18 (1992), 449–453.MATHCrossRefGoogle Scholar
  27. 27.
    M. Lüscher:, A Portable High-Quality Random Number Generator for Lattice Field Theory Simulations. Computer Physics Communications 79 (1994), 100–110.MATHMathSciNetCrossRefGoogle Scholar
  28. 28.
    G. Marsaglia: A Current View of Random Number Generators. Computer Science and Statistics: Proc. 16th Symposium on the Interface, Elsevier Science Publishers B. V. (North-Holland), 1985, 3–10.Google Scholar
  29. 29.
    M. Mascagni, S. A. Cuccaro, D. V. Pryor and M. L. Robinson: A Fast, High-Quality, and Reproducible Lagged-Fibonacci Pseudorandom Number Generator. J. of Computational Physics 15 (1995), 211–219.MathSciNetCrossRefGoogle Scholar
  30. 30.
    M. Mascagni, M. L. Robinson, D. V. Pryor and S. A. Cuccaro: Parallel Pseudorandom Number Generation Using Additive Lagged-Fibonacci Recursions. Springer-Verlag Lecture Notes in Statistics 106 (1995), 263–277.MATHGoogle Scholar
  31. 31.
    M. E. Muller: A Comparison of Methods for Generating Normal Variates on Digital Computers. J. ACM 6 (1959), 376–383.MATHCrossRefGoogle Scholar
  32. 32.
    J. von Neumann: Various Techniques Used in Connection With Random Digits. The Monte Carlo Method, National Bureau of Standards (USA) Applied Mathematics Series 12 (1951), 36.Google Scholar
  33. 33.
    S. K. Park and K. W. Miller: Random Number Generators: Good Ones are Hard to Find. Comm. ACM 31 (1988) 1192–1201.MathSciNetCrossRefGoogle Scholar
  34. 34.
    W. P. Petersen: Some Vectorized Random Number Generators for Uniform, Normal, and Poisson Distributions for CRAY X-MP. J. Supercomputing 1 (1988), 327–335.CrossRefGoogle Scholar
  35. 35.
    W. P. Petersen: Lagged Fibonacci Series Random Number Generators for the NEC SX-3. Internat. J. High Speed Computing 6 (1994), 387–398.CrossRefGoogle Scholar
  36. 36.
    D. V. Pryor, S. A. Cuccaro, M. Mascagni and M. L. Robinson: Implementation and Usage of a Portable and Reproducible Parallel Pseudorandom Number Generator. Proc. Supercomputing ’94, IEEE, New York, 1994, 311–319.Google Scholar
  37. 37.
    I. Vattulainen, T. Ala-Nissila and K. Kankaala: Physical Tests for Random Numbers in Simulations. Phys. Rev. Lett. 73 (1994), 2513.CrossRefGoogle Scholar
  38. 38.
    I. Vattulainen, T. Ala-Nissila and K. Kankaala: Physical Models as Tests of Randomness. Phys. Rev. E 52 (1995), 3205.CrossRefGoogle Scholar
  39. 39.
    C. S. Wallace: Transformed Rejection Generators for Gamma and Normal Pseudorandom Variables. Australian Computer Journal 8 (1976), 103–105.MATHMathSciNetGoogle Scholar
  40. 40.
    C. S. Wallace: Fast Pseudo-Random Generators for Normal and Exponential Variates. ACM Trans. Math. Software 22 (1996), 119–127.MATHCrossRefGoogle Scholar

Copyright information

© Springer-Verlag 1998

Authors and Affiliations

  • Richard P. Brent
    • 1
  1. 1.Oxford University Computing LaboratoryOxfordUK

Personalised recommendations