Results 1  10
of
24
SPRNG: A Scalable Library for Pseudorandom Number Generation
"... 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 conside ..."
Abstract

Cited by 36 (6 self)
 Add to MetaCart
(Show Context)
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 leapfrog or blocking methods. We describe in detail
parameterized versions of the following pseudorandom number generators: (i) linear congruential
generators, (ii) shiftregister generators, and (iii) laggedFibonacci generators. We briey 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 dierent 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 the URL:
http://sprng.cs.fsu.edu/RNG. 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 ran
domness to eliminate generators that show defects when used in scalable environments.
Random Number Generators for Parallel Applications
 in Monte Carlo Methods in Chemical Physics
, 1998
"... this article is devoted, because these com1 putations require the highest quality of random numbers. The ability to do a multidimensional integral relies on properties of uniformity of ntuples of random numbers and/or the equivalent property that random numbers be uncorrelated. The quality aspect i ..."
Abstract

Cited by 18 (7 self)
 Add to MetaCart
(Show Context)
this article is devoted, because these com1 putations require the highest quality of random numbers. The ability to do a multidimensional integral relies on properties of uniformity of ntuples of random numbers and/or the equivalent property that random numbers be uncorrelated. The quality aspect in the other uses is normally less important simply because the models are usually not all that precisely specified. The largest uncertainties are typically due more to approximations arising in the formulation of the model than those caused by lack of randomness in the random number generator. In contrast, the first class of applications can require very precise solutions. Increasingly, computers are being used to solve very welldefined but hard mathematical problems. For example, as Dirac [1] observed in 1929, the physical laws necessary for the mathematical theory of a large part of physics and the whole of chemistry are completely known and it is only necessary to find precise methods for solving the equations for complex systems. In the intervening years fast computers and new computational methods have come into existence. In quantum chemistry, physical properties must be calculated to "chemical accuracy" (say 0.001 Rydbergs) to be relevant to physical properties. This often requires a relative accuracy of 10
Some Methods Of Parallel Pseudorandom Number Generation
 in Proceedings of the IMA Workshop on Algorithms for Parallel Processing
, 1997
"... . We detail several methods used in the production of pseudorandom numbers for scalable systems. We will focus on methods based on parameterization, meaning that we will not consider splitting methods. We describe parameterized versions of the following pseudorandom number generation: 1. linear cong ..."
Abstract

Cited by 9 (1 self)
 Add to MetaCart
(Show Context)
. We detail several methods used in the production of pseudorandom numbers for scalable systems. We will focus on methods based on parameterization, meaning that we will not consider splitting methods. We describe parameterized versions of the following pseudorandom number generation: 1. linear congruential generators 2. linear matrix generators 3. shiftregister generators 4. laggedFibonacci generators 5. inversive congruential 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. Several of these methods are currently part of scalable library for pseudorandom number generation, called the SPRNG package available at the URL: www.ncsa.uiuc.edu/Apps/CMP/RNG. Key words. pseudorandom number generation, parallel computing, linear congruential, laggedFibonacci, inversive congruential, shiftregister AMS(MOS) subject classifications....
On Shortcomings of the ns2 Random Number Generator
 Communication Networks and Distributed Systems Modeling and Simulation (CNDS 2002
, 2002
"... The ns2 is a widely used network simulation tool which implements a fairly old and weak random number generator (RNG). As the RNG component is used by a variety of other components, it can be seen as one of the most important core components of the ns2. In this paper we explore weaknesses of this ..."
Abstract

Cited by 7 (1 self)
 Add to MetaCart
(Show Context)
The ns2 is a widely used network simulation tool which implements a fairly old and weak random number generator (RNG). As the RNG component is used by a variety of other components, it can be seen as one of the most important core components of the ns2. In this paper we explore weaknesses of this RNG and demonstrate its shortcomings in context with a simple simulation example (M/D/1) which produces severely wrong simulation results when this RNG is used in combination with specific seeds. We incorporate the modern Mersenne Twister RNG into the ns2 and show how the insensitivity of this RNG regarding to the initial seeds leads to significant improvements in the simulation outputs and that this modern RNG has no bad effects with respect to the performance of random number generation.
High Dimensional Pricing of Exotic European Contracts on a GPU Cluster, and Comparison to a CPU Cluster
 in "Second International Workshop on Parallel and Distributed Computing in Finance  PDCoF 2009, Italie Rome", 2009, p. Proceedings on CDROM (8
"... The aim of this paper is the efficient use of CPU and GPU clusters for a general pathdependent exotic European pricing, and their comparison in terms of speed and energy consumption. To reach our goal, we propose a parallel random number generator which is well suited to the parallelization paradig ..."
Abstract

Cited by 7 (2 self)
 Add to MetaCart
(Show Context)
The aim of this paper is the efficient use of CPU and GPU clusters for a general pathdependent exotic European pricing, and their comparison in terms of speed and energy consumption. To reach our goal, we propose a parallel random number generator which is well suited to the parallelization paradigm, then, we implement a multidimensional Asian contract as a benchmark using g++/OpenMP/OpenMPI on CPUs and CUDAnvcc/OpenMPI on GPUs. Finally, we give the detailed results of the two architectures for different size problems using 116 GPUs and 1256 dualcore CPUs.
Quantum Simulations of Complex ManyBody Systems: From Theory to Algorithms, Lecture Notes,
"... Permission to make digital or hard copies of portions of this work for personal or classroom use is granted provided that the 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. To copy otherwise requires pri ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
(Show Context)
Permission to make digital or hard copies of portions of this work for personal or classroom use is granted provided that the 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. To copy otherwise requires prior specific permission by the publisher mentioned above.
Parallel Random Number Generators in Java
, 2003
"... Scientific computing has long been pushing the boundaries of computational requirements in computer science. An important aspect of scientific computing is the generation of large quantities of random numbers, especially in parallel to take advantage of parallel architectures. Many science and engin ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
(Show Context)
Scientific computing has long been pushing the boundaries of computational requirements in computer science. An important aspect of scientific computing is the generation of large quantities of random numbers, especially in parallel to take advantage of parallel architectures. Many science and engineering programs require random numbers for applications like Monte Carlo simulation. Such an environment suitable for parallel computing is Java, though rarely used for scientific applications due to its perceived slowness when compared to complied languages like C. Through research and recommendations, Java is slowly being shaped into a viable language for such computational intense applications. Java has the potential for such large scale applications, since it is a modern language with a large programmer base and many well received features such as builtin support for parallelism using threads. With improved performance from better compilers, Java is becoming more commonly used for scientific computing but Java still lacks a number of features like optimised scientific software libraries. This project looks at the effectiveness and efficiency of implementing a parallel random number
A Survey and Empirical Comparison of Modern PseudoRandom Number Generators for Distributed Stochastic Simulations
"... Distributed stochastic simulations has become a popular tool for evaluating and testing complex stochastic dynamic systems. However there is some concern about the credibility of the final results of such simulation studies [11]. One of the important issues which need to be properly addressed for en ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
(Show Context)
Distributed stochastic simulations has become a popular tool for evaluating and testing complex stochastic dynamic systems. However there is some concern about the credibility of the final results of such simulation studies [11]. One of the important issues which need to be properly addressed for ensuring validity of the final results from any simulation study is application of an appropriate source of randomness. In the case of distributed stochastic simulation, the quality of the final results is highly dependent on the underlying parallel PseudoRandom Number Generator (PRNG). Parallel PRNGs (PPRNGs) with the required empirical, analytical and deterministic properties are not trivial to find [9, 23, 10]. However, much research has resulted in several generators which we consider to be of high quality [6, 23, 24, 28, 32]. The effectiveness of simulations however depends not only on their accuracy but also on their efficiency and so simulations are also reliant on the speed and flexibility of these PPRNGs. In this paper, without a loss of generality, we examine the required features of modern PPRNGs from the point of view of their possible applications in Multiple Replications in Parallel (MRIP) paradigm of stochastic simulation. Having surveyed the most recommended generators of this class, we test their implementations in C and C++. The generators considered include: the combined multiple recursive generator MRG32k3a [6, 31], dynamic creation of Mersene Twisters [28] and the SPRNG Multiplicative LaggedFibonacci Generator (MLFG) [24]. For the purpose of comparison we 1 also test a pLab combined Explicit Inverse Congruential Generator (cEICG) [9, 10]. Their performance is compared from the point of view of their initialization and generation times. Our tests show that initialization can be completed most quickly by MLFG and most slowly by Dynamic Creation. Generation of random numbers was done most quickly by Dynamic Creation’s Mersenne Twisters and most slowly by the cEICG. 1
Monte carlo simulation with the gate software using grid computing
 In NOTERE ’08: Proc. of the 8th Int. Conf. on New Technologies in Distributed Systems
, 2008
"... Monte Carlo simulations needing many replicates to obtain good statistical results can be easily executed in parallel using the “Multiple Replications In Parallel ” approach. However, several precautions have to be taken in the generation of the parallel streams of pseudorandom numbers. In this pap ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
(Show Context)
Monte Carlo simulations needing many replicates to obtain good statistical results can be easily executed in parallel using the “Multiple Replications In Parallel ” approach. However, several precautions have to be taken in the generation of the parallel streams of pseudorandom numbers. In this paper, we present the distribution of Monte Carlo simulations performed with the GATE software using local clusters and grid computing. We obtained very convincing results with this large medical application, thanks to the EGEE Grid (Enabling Grid for EsciencE), achieving in one week computations that could have taken more than 3 years of processing on a single computer. This work has been achieved thanks to a generic objectoriented toolbox called DistMe which we designed to automate this kind of parallelization for Monte Carlo simulations. This toolbox, written in Java is freely available on SourceForge and helped to ensure a rigorous distribution of pseudorandom number streams. It is based on the use of a documented XML format for random numbers generators statuses.