Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article
Free access

Algorithm 806: SPRNG: a scalable library for pseudorandom number generation

Published: 01 September 2000 Publication History

Abstract

In this article we present background, rationale, and a description of the Scalable Parallel Random Number Generators (SPRNG) library. We begin by presenting some methods for parallel pseudorandom number generation. We will focus on methods based on parameterization, meaning that we will not consider splitting methods such as the leap-frog or blocking methods. We describe, in detail, parameterized versions of the following pseudorandom number generators: (i) linear congruential generators, (ii) shift-register generators, and (iii) lagged-Fibonacci generators. We briefly describe the methods, detail some advantages and disadvantages of each method, and recount results from number theory that impact our understanding of their quality in parallel applications. SPRNG was designed around the uniform implementation of different families of parameterized random number generators. We then present a short description of SPRNG. The description contained within this document is meant only to outline the rationale behind and the capabilities of SPRNG. Much more information, including examples and detailed documentation aimed at helping users with putting and using SPRNG on scalable systems is available at htt;//sprng.sc.fsu.edu. In this description of SPRNG we discuss the random-number generator library as well as the suite of tests of randomness that is an integral part of SPRNG. Random-number tools for parallel Monte Carlo applications must be subjected to classical as well as new types of empirical tests of randomness to eliminate generators that show defects when used in scalable envionments.

Supplementary Material

TGZ File (806.tgz)
Software for "SPRNG: A Scalable Library for Pseudorandom Number Generation"

References

[1]
BEALE, P. 1996. Exact distribution of energies in the two-dimensional Ising model. Phys. Rev. Lett. 76, 78.
[2]
BRENT, R. P. 1992. Uniform random number generators for supercomputers. In Proceedings of the 5th on Australian Supercomputer Conference. 95-104.
[3]
BRENT, R. P. 1994. On the periods of generalized Fibonacci recurrences. Math. Comput. 63, 207 (July), 389-401.
[4]
BRILLHART, J., LEHMER,D.H.,SELFRIDGE,J.L.,TUCKERMAN, B., AND WAGSTAFF,S.S.JR. 1988. Factorizations of b n 61 b 5 2, 3, 5, 7, 10, 11, 12 up to high powers. In Contemporary Mathematics. American Mathematical Society, Boston, MA.
[5]
CODDINGTON, P. 1994. Analysis of random number generators using Monte Carlo simulation. Int. J. of Mod. Phys. C5, 3, 547-560.
[6]
CODDINGTON, P. 1996. Tests of random number generators using Ising model simulations. Int. J. of Mod. Phys. 7, 3, 295-303.
[7]
CODDINGTON, P. 1997. Random number generators for parallel computers. http://nhse.cs.rice.edu/NHSEreview/96-2.html.
[8]
CUCCARO,S.A.,MASCAGNI, M., AND PRYOR, D. V. 1995. Techniques for testing the quality of parallel pseudorandom number generators. In Proceedings of the 7th SIAM Conference on Parallel Processing for Scientific Computing (San Francisco, Feb.). SIAM, Philadelphia, PA, 279-284.
[9]
DE~K, I. 1990. Uniform random number generators for parallel computers. Parallel Comput. 15, 155-164.
[10]
DELEGLISE,M.AND RIVAT, J. 1996. Computing p(x): the Meissel, Lehmer, Lagarias, Miller, Odlyzko method. Math. Comput. 65, 213, 235-245.
[11]
DE MATTEIS,A.AND PAGNUTTI, S. 1988. Parallelization of random number generators and long-range correlations. Numer. Math. 53, 5 (Aug.), 595-608.
[12]
DEMATTEIS,A.AND PAGNUTTI, S. 1990a. A class of parallel random number generators. Parallel Comput. 13, 193-198.
[13]
DE MATTEIS,A.AND PAGNUTTI, S. 1990b. Long-range correlations in linear and nonlinear random number generators. Parallel Comput. 14, 207-210.
[14]
DE MATTEIS,A.AND PAGNUTTI, S. 1995. Controlling correlations in parallel Monte Carlo. Parallel Comput. 21, 1 (Jan.), 73-84.
[15]
EICHENAUER,J.AND LEHN, J. 1986. A nonlinear congruential pseudorandom number generator. Statist. Hefte 37, 315-326.
[16]
ENTACHER, K. 1998. Bad subsequences of well-known linear congruential pseudorandom number generators. ACM Trans. Model. Comput. Simul. 8, 1, 61-70.
[17]
FERRENBERG,A.M.,LANDAU, D., AND WONG, Y. 1992. Monte Carlo simulations: Hidden errors from "good" random number generators. Phys. Rev. 69, 23, 3382-3384.
[18]
FREDERICKSON, P., HIROMOTO, R., JORDAN,T.L.,SMITH, B., AND WARNOCK, T. 1984. Pseudo-random trees in Monte Carlo. Parallel Comput. 1, 175-180.
[19]
GOLOMB, S. W. 1967. Shift Register Sequences. Holden-Day, Inc., San Francisco, CA.
[20]
GRASSBERGER, P. 1993. On correlations in "good" random number generators. Phys. Lett. A 181, 1, 43-46.
[21]
HELLEKALEK, P., ENTACHER, K., LEEB, H., LENDL, O., AND WEGENKITTL, S. 1995. The pLab www-server. Available at: http://random.mat.sbg.ac.at. Also accessible via ftp. University of Salzburg, Salzburg, Austria.
[22]
KNUTH, D. E. 1997. The Art of Computer Programming, Volume 2: Seminumerical Algorithms. 3rd ed. Addison-Wesley Longman Publ. Co., Inc., Reading, MA.
[23]
KUIPERS,L.AND NIEDERREITER, H. 1974. Uniform Distribution of Sequences. John Wiley and Sons, Inc., New York, NY.
[24]
LAGARIAS,J.C.,MILLER,V.S.,AND ODLYZKO, A. M. 1985. Computing ~(x): The Meissel- Lehmer method. Math. Comput. 55, 537-560.
[25]
L'ECUYER, P. 1990. Random numbers for simulation. Commun. ACM 33, 1 (Jan.), 89-97.
[26]
L'ECUYER, P. 1994. Uniform random number generation. Ann. Oper. Res. 53, 77-120.
[27]
L'ECUYER, P. 1998. Random number generation. In Handbook of Simulation, J. Banks, Ed. John Wiley and Sons, Inc., New York, NY, 93-137.
[28]
L'ECUYER,P.AND C~T~, S. 1991. Implementing a random number package with splitting facilities. ACM Trans. Math. Softw. 17, 1 (Mar.), 98-111.
[29]
LEHMER, D. H. 1949. Mathematical methods in large-scale computing units. In Proceedings of the 2nd Symposium on Large-Scale Digital Calculating Machinery (Cambridge, Massachusetts). Harvard University Press, Cambridge, MA, 141-146.
[30]
LEWIS,T.G.AND PAYNE, W. H. 1973. Generalized feedback shift register pseudorandom number algorithms. J. ACM 20, 456-468.
[31]
LIDL,R.AND NIEDERREITER, H. 1986. Introduction to finite fields and their applications. Cambridge University Press, New York, NY.
[32]
LITZKOW, M., LIVNY, M., AND MUTKA, M. W. 1998. Condor a hunter of idle workstations. In Proceedings of the 8th International Conference on Distributed Computing Systems (June). 104-111.
[33]
MAKINO, J. 1994. Lagged-Fibonacci random number generators on parallel computers. Parallel Comput. 20, 9 (Sept.), 1357-1367.
[34]
MARSAGLIA, G. 1968. Random numbers fall mainly in the planes. In Nat. Acad. Sci. U.S.A. 25-28.
[35]
MARSAGLIA, G. 1972. The structure of linear congruential sequences. In Applications of Number Theory to Numerical Analysis, S. K. Zaremba, Ed. Academic Press, Inc., New York, NY, 249-285.
[36]
MARSAGLIA, G. 1985. A current view of random number generators. In Computing Science and Statistics: Proceedings of the XVIth Symposium on the Interface. 3-10.
[37]
MARSAGLIA,G.AND TSAY, L.-H. 1985. Matrices and the structure of random number sequences. Linear Alg. Appl. 67, 147-156.
[38]
MASCAGNI, M. 1997. A parallel non-linear Fibonacci pseudorandom number generator. In Proceedings of SIAM's 45th Anniversary Meeting (Stanford, CA, July 14-18). SIAM, Philadelphia, PA. Abstract
[39]
MASCAGNI, M. 1998. Parallel linear congruential generators with prime moduli. Parallel Comput. 24, 5-6, 923-936.
[40]
MASCAGNI, M. 1999a. Serial and parallel random number generation. In Quantum Monte Carlo in Physics and Chemistry, P. Nightingale and C. Umrigar, Eds. NATO ASI Series, Series C: Mathematical and Physical Sciences. Kluwer Academic, Dordrecht, Netherlands, 425-446.
[41]
MASCAGNI, M. 1999b. Some methods of parallel pseudorandom number generation. In Algorithms for Parallel Processing, M. Heath, A. Ranade, and R. Schreiber, Eds. IMA Volumes in Mathematics and Its Applications, vol. 105. Springer-Verlag, Vienna, Austria, 277-288.
[42]
MASCAGNI, M., CUCCARO,S.A.,PRYOR,D.V.,AND ROBINSON, M. L. 1995a. A fast, high quality, and reproducible parallel lagged-Fibonacci pseudorandom number generator. J. Comput. Phys. 119, 2 (July), 211-219.
[43]
MASCAGNI, M., ROBINSON,M.L.,PRYOR,D.V.,AND CUCCARO, S. A. 1995b. Parallel pseudorandom number generation using additive lagged-Fibonacci recursions. In Springer Lecture Notes in Statistics, vol. 106. 263-277.
[44]
MASSEY, J. L. 1969. Shift-register synthesis and BCH decoding. IEEE Trans. Inf. Theor. IT-15, 122-127.
[45]
MATSUMOTO,M.AND KURITA, Y. 1992. Twisted GFSR generators. ACM Trans. Model. Comput. Simul. 2, 3 (July), 179-194.
[46]
MATSUMOTO,M.AND NISHIMURA, T. 1998. Mersenne twister: A 623-dimensionally equidistributed uniform pseudo-random number generator. ACM Trans. Model. Comput. Simul. 8,1, 3-30.
[47]
NIEDERREITER, H. 1988. Low-discrepancy and low-dispersion sequences. J. Number Theory 30, 51-70.
[48]
NIEDERREITER, H. 1992. Random Number Generation and Quasi-Monte Carlo Methods. CBMS-NSF Regional Conference Series in Applied Mathematics, vol. 63. SIAM, Philadelphia, PA.
[49]
NIEDERREITER, H. 1994. On a new class of pseudorandom numbers for simulation methods. J. Comput. Appl. Math. 56, 1-2 (Dec. 20), 159-167.
[50]
PARK,S.K.AND MILLER, K. W. 1988. Random number generators: Good ones are hard to find. Commun. ACM 31, 10 (Oct.), 1192-1201.
[51]
PERCUS,O.E.AND KALOS, M. H. 1989. Random number generators for MIMD parallel processors. J. Parallel Distrib. Comput. 6, 3 (June), 477-497.
[52]
PRYOR,D.V.,CUCCARO,S.A.,MASCAGNI, M., AND ROBINSON, M. L. 1994. Implementation of a portable and reproducible parallel pseudorandom number generator. In Proceedings of the Conference on Supercomputing '94 (Washington, DC, Nov. 14-18), G. M. Johnson, Chair. IEEE Computer Society Press, Los Alamitos, CA, 311-319.
[53]
SCHMIDT, W. 1976. Equations over finite fields: An elementary approach. In Lecture Notes in Mathematics, vol. 536. Springer-Verlag, New York, NY.
[54]
SELKE, W., TALAPOV,A.L.,AND SCHUR, L. N. 1993. Cluster-flipping Monte Carlo algorithm and correlations in "good" random number generators. JETP Lett. 58, 8, 665-668.
[55]
SRINIVASAN, A., CEPERLEY, D., AND MASCAGNI, M. 1999a. Random number generators for parallel applications. In Monte Carlo Methods in Chemical Physics, D. Ferguson, J. I. Siepmann, and D. G. Truhlar, Eds. Advances in Chemical Physics, vol. 105. John Wiley and Sons, Inc., New York, NY, 13-36.
[56]
SRINIVASAN, A., CEPERLEY, D., AND MASCAGNI, M. 1999b. Testing parallel random number generators.
[57]
TAUSWORTHE, R. C. 1965. Random numbers generated by linear recurrence modulo two. Adv. Comput. Math. 19, 201-209.
[58]
TEZUKA, S. 1995. Uniform Random Numbers: Theory and Practice. Kluwer Academic Publishers, Hingham, MA.
[59]
VATTULAINEN, I. 1999. Framework for testing random numbers in parallel calculations. Phys. Rev. 59, 7200-7204.
[60]
VATTULAINEN, I., ALA-NISSILA, T., AND KANKAALA, K. 1994. Physical tests for random numbers in simulations. Phys. Rev. Lett. 73, 19, 2513-2516.
[61]
ZHOU,M.AND MASCAGNI, M. 1999. Parallel Monte Carlo in a distributed environment: SPRNG and condor. In Proceedings of the 1st Southern Symposium on Computing.

Cited By

View all
  • (2024)Critical exponents testing of a random number generator with the Wolff cluster algorithmJournal of Statistical Mechanics: Theory and Experiment10.1088/1742-5468/ad4e282024:6(063202)Online publication date: 17-Jun-2024
  • (2023)AliSim-HPC: parallel sequence simulator for phylogeneticsBioinformatics10.1093/bioinformatics/btad54039:9Online publication date: 1-Sep-2023
  • (2023)Critical Ising system testing of high-quality random number generatorsJournal of Statistical Mechanics: Theory and Experiment10.1088/1742-5468/ace0b72023:7(073203)Online publication date: 18-Jul-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 September 2000
Published in TOMS Volume 26, Issue 3

Permissions

Request permissions for this article.

Check for updates

Badges

Author Tags

  1. lagged-Fibonacci generator
  2. linear congruential generator
  3. parallel random-number generators
  4. random-number software
  5. random-number tests

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)136
  • Downloads (Last 6 weeks)26
Reflects downloads up to 04 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Critical exponents testing of a random number generator with the Wolff cluster algorithmJournal of Statistical Mechanics: Theory and Experiment10.1088/1742-5468/ad4e282024:6(063202)Online publication date: 17-Jun-2024
  • (2023)AliSim-HPC: parallel sequence simulator for phylogeneticsBioinformatics10.1093/bioinformatics/btad54039:9Online publication date: 1-Sep-2023
  • (2023)Critical Ising system testing of high-quality random number generatorsJournal of Statistical Mechanics: Theory and Experiment10.1088/1742-5468/ace0b72023:7(073203)Online publication date: 18-Jul-2023
  • (2023)On multiplexing in physical random number generation, and conserved total entropy contentScientific Reports10.1038/s41598-023-35130-713:1Online publication date: 16-May-2023
  • (2023)Walk-on-Hemispheres first-passage algorithmScientific Reports10.1038/s41598-023-28361-113:1Online publication date: 20-Jan-2023
  • (2023)Parallelizable efficient large order multiple recursive generatorsParallel Computing10.1016/j.parco.2023.103036117(103036)Online publication date: Sep-2023
  • (2023)Evolving scientific code adaptations with modularization frameworksAutomated Software Engineering10.1007/s10515-023-00393-x30:2Online publication date: 28-Jul-2023
  • (2022)A New Robust and Secure 3-Level Digital Image Watermarking Method Based on G-BAT Hybrid OptimizationMathematics10.3390/math1016301510:16(3015)Online publication date: 21-Aug-2022
  • (2022)Scrambling additive lagged-Fibonacci generatorsMonte Carlo Methods and Applications10.1515/mcma-2022-211528:3(199-210)Online publication date: 4-Aug-2022
  • (2022)A Deterministic Portable Parallel Pseudo-Random Number Generator for Pattern-Based Programming of Heterogeneous Parallel SystemsInternational Journal of Parallel Programming10.1007/s10766-022-00726-550:3-4(319-340)Online publication date: 1-Aug-2022
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media