ThreadLocalMRG32k3a: A Statistically Sound Substitute to Pseudorandom Number Generation in Parallel Java Applications

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.
Complete list of metadatas

Cited literature [26 references]  Display  Hide  Download

https://hal.inria.fr/hal-01098552
Contributor : Jonathan Passerat-Palmbach <>
Submitted on : Monday, December 29, 2014 - 11:16:21 AM
Last modification on : Thursday, April 4, 2019 - 10:18:07 AM
Long-term archiving on : Wednesday, June 3, 2015 - 12:20:25 PM

Files

hpcs2012_frree.pdf
Files produced by the author(s)

Licence


Distributed under a Creative Commons Attribution 4.0 International License

Identifiers

Citation

Jonathan Passerat-Palmbach, Claude Mazel, David R.C. Hill. ThreadLocalMRG32k3a: A Statistically Sound Substitute to Pseudorandom Number Generation in Parallel Java Applications. IEEE High Performance Computing and Simulation conference 2012, Jul 2012, Madrid, Spain. pp.543 - 550, ⟨10.1109/HPCSim.2012.6266971⟩. ⟨hal-01098552⟩

Share

Metrics

Record views

267

Files downloads

319