Newsgroups: comp.parallel
From: nmm1@cus.cam.ac.uk (Nick Maclaren)
Subject: Re: Random Numbers
Organization: U of Cambridge, England
Date: Thu, 12 Jan 1995 18:41:56 GMT
Message-ID: <3f34ij$ck8@lyra.csx.cam.ac.uk>

In article <3f174p$lcc@stc06.CTD.ORNL.GOV>, hdc@ORNL.GOV (Hank Cochran) writes:
|> The ticklish task of generating (pseudo)random numbers for computations is made 
|> substantially more complicated on a massively parallel computer (correlation of 
|> random number chains on different processors). Can anyone recommend a thoughtful 
|> overview of this subject for a non-specialist--how-to for the scientific user?

As far as I know, there isn't one.  This is made worse by the fact
that most papers on this topic are quite simply rubbish, or worse.
Almost all of them describe how to produce disjoint sequences, and
confuse that with independence.  There are basically two reasonable
approaches:

    1) Analysing the dependence between the streams (papers by
De Matteis and several other people).  This approach really
addresses the case where each processor generates numbers in
step, though it can be extended a little.

    2) Producing 'independent' streams.  I know of two papers
on this - one by me and a recent one by some Russians (sorry,
I am reordering my office!)  Both rely on the properties of
multiplicative congruential generators with coprime moduli.

I am afraid that this doesn't address your question, but may
help a bit.  There is one reliable rule of thumb:

    If any paper, article or whatever confuses disjointness
    with independence, it should be disregarded as worthless.
    It may make some good points, but only an expert will be
    able to tell them from its false conclusions.


Nick Maclaren,
University of Cambridge Computer Laboratory,
New Museums Site, Pembroke Street, Cambridge CB2 3QG, England.
Email:  nmm1@cus.cam.ac.uk
Tel.:  +44 1223 334761    Fax:  +44 1223 334679



