Skip to Main Content
Monte Carlo simulations are considered as naturally parallel, because many replications of the same experiment can be distributed on multiple execution units to reduce the global simulation time. However, one needs to take care of the underlying random number streams and ensure that the generated streams do not show intra or inter-correlations. Such errors occur in naive parallelizing approaches, they can lead to erroneous results or to a significant loss in precision. Based on a generic and documented XML format for random number generator statuses and on automatic tools to distribute stochastic simulations, the DistMe software package eases the distribution of stochastic simulations, while keeping the quality of the parallel random number streams as a critical issue. It is written in Java and has been designed to be run on any operating system and hardware with a Java virtual machine available. It has been designed using model engineering to obtain a high quality, modular and very extensible software. This toolkit, freely available on Sourceforge, is designed to speed up Monte Carlo simulations using any parallel machine based on the bag of work paradigm. It provides the user with a set of classes representing a description at a meta level of his simulation environments. Once the developer has described his simulation using DistMe classes, simulation jobs ready for runtime are instantiated. This software is released under GPL licence and the latest development sources are available online (Sourceforge CVS). This paper presents the architecture of DistMe and simulation distribution examples for Geant4 and GATE simulations. The impact of correlations is shown on the GATE application.