DocumentCode
2955062
Title
ThreadLocalMRG32k3a: A statistically sound substitute to pseudorandom number generation in parallel Java applications
Author
Passerat-Palmbach, Jonathan ; Mazel, Claude ; Hill, David R C
Author_Institution
Clermont Univ., Clermont-Ferrand, FL, USA
fYear
2012
fDate
2-6 July 2012
Firstpage
543
Lastpage
550
Abstract
Parallel And Distributed Simulations (PADS) become more and more spread since scientists always want more accurate results in the shortest time. PADS are often sensitive to several parameters, and when they own a stochastic component, one has to ensure he knows how to correctly deal with randomness in a parallel application. This point can appear to be very tricky for non-experts, who might be tempted to move this part of the simulation aside. Several software efforts have been produced in various programming languages to help developers handle pseudorandom streams partitioning in PADS. However, these tools remain third-party libraries that need to be integrated in already existing applications, and that might be hardly swappable. The latest release of the Java Development Kit (JDK 7) tries to tackle this problem with a new class called ThreadLocalRandom. The latter is in charge of safe pseudorandom number generation across Java threads. The present work studies the pros and cons of this approach, and introduces ThreadLocalMRG32k3a, an alternative to ThreadLocalRandom that shows better results in terms of generation speed and statistical quality. ThreadLocalMRG32k3a respects the same Application Programming Interface (API) as ThreadLocalRandom, thus enabling clients to use it in place of its JDK counterpart at no cost.
Keywords
Java; application program interfaces; parallel processing; random number generation; statistical analysis; stochastic processes; API; JDK 7; Java Development Kit; PADS; ThreadLocalMRG32k3a; ThreadLocalRandom; application programming interface; distributed simulation; generation speed; parallel Java application; parallel simulation; programming language; pseudorandom number generation; pseudorandom streams partitioning; statistical quality; stochastic component; Instruction sets; Java; Libraries; Object oriented modeling; Proposals; Random sequences; Testing; Java; Object Oriented Programming & Design; Parallelization of Simulation; Pseudorandom Number Generation; Software Development Tools and Support; Threads;
fLanguage
English
Publisher
ieee
Conference_Titel
High Performance Computing and Simulation (HPCS), 2012 International Conference on
Conference_Location
Madrid
Print_ISBN
978-1-4673-2359-8
Type
conf
DOI
10.1109/HPCSim.2012.6266971
Filename
6266971
Link To Document