Abstract
The Java Grande Forum aims to drive improvements to the Java language and its standard libraries in order that Java may be efficiently used for large-scale scientific applications, particularly on high-performance computers. Random number generators are one of the most commonly used numerical library functions in applications of this kind. For the current random number generator provided within Java, neither the implementation nor the interfaces are adequate to meet the needs of some Java Grande applications, such as Monte Carlo simulations. We present a preliminary proposal for an API for accessing a random number generator within a Java scientific software library for supporting Java Grande applications. A reference implementation of the proposed API is described, and we discuss some implementation and performance issues. Mechanisms for efficiently handling concurrency are also discussed.
Preview
Unable to display preview. Download preview PDF.
References
K. Binder ed., Monte Carlo Methods in Statistical Physics, Springer-Verlag, Berlin, 1986.
R.F. Boisert et al., Developing numerical libraries in Java, Proc. of ACM Workshop in Java for High-Performance Network Computing, Stanford, February 1998, http://www.cs.ucsb.edu/conferences/java98/program.html.
Bryan Carpenter et al., MPI for Java-Position Document and Draft API Specification, Java Grande Forum Technical Report JGF-TR-03, November 1998, http://www.npac.syr.edu/projects/pcrc/reports/MPIposition/position.ps.
P.D. Coddington, Analysis of Random Number Generators Using Monte Carlo Simulation. Int. J. Mod. Phys. C 5, 547 (1994).
Paul D. Coddington, Random Number Generators for Parallel Computers, The NHSE Review, http://nhse.cs.rice.edu/NHSEreview/, 1996 Volume, Second Issue.
P.D. Coddington, J.A. Mathew and K.A. Hawick, Random number generators for Java Grande, http://acsys.adelaide.edu.au/projects/javagrande/random/.
HPJava Project, http://www.npac.syr.edu/projects/pcrc/HPJava/.
F. James, A review of pseudorandom number generators. Comp. Phys. Comm. 60, 329 (1990).
The Java Grande Forum, http://www.javagrande.org/.
Java Grande Forum, Making Java Work for High-End Computing, Java Grande Forum technical report JGF-TR-1, http://www.javagrande.org/reports.htm.
D.E. Knuth, The Art of Computer Programming Vol. 2: Seminumerical Methods, Addison-Wesley, Reading, Mass., 1981.
P. L'Ecuyer, Random numbers for simulation, Comm. ACM 33:10, 85 (1990).
P. L'Ecuyer, Efficient and portable combined random number generators. Comm. ACM 31:6, 742 (1988).
P. L'Ecuyer, F. Blouin, and R. Couture, A Search for Good Multiple Recursive Generators, ACM Trans. on Modeling and Computer Simulation 3, 87 (1993).
P. L'Ecuyer and T.H. Andres, A Random Number Generator Based on the Combination of Four LCGs, Mathematics and Computers in Simulation 44, 99 (1997).
G.A. Marsaglia, A current view of random number generators, in Computational Science and Statistics: The Interface, ed. L. Balliard, Elsevier, Amsterdam, 1985.
G.A. Marsaglia, A. Zaman and W.-W. Tsang, Toward a universal random number generator, Stat. Prob. Lett. 9, 35 (1990).
S.K. Park and K.W. Miller, Random number generators: Good ones are hard to find, Comm. ACM 31:10, 1192 (1988).
Sun Microsystems Inc., Java Platform 1.2 API Specification, http://java.sun.com/products/jdk/1.2/docs/api/index.html.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1999 Springer-Verlag
About this paper
Cite this paper
Coddington, P.D., Mathew, J.A., Hawick, K.A. (1999). Interfaces and implementations of random number generators for Java Grande applications. In: Sloot, P., Bubak, M., Hoekstra, A., Hertzberger, B. (eds) High-Performance Computing and Networking. HPCN-Europe 1999. Lecture Notes in Computer Science, vol 1593. Springer, Berlin, Heidelberg . https://doi.org/10.1007/BFb0100647
Download citation
DOI: https://doi.org/10.1007/BFb0100647
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-65821-4
Online ISBN: 978-3-540-48933-7
eBook Packages: Springer Book Archive