Random Number Generation. Was Re: Beowulf Questions

Randall Jouett rules at bellsouth.net
Sat Jan 4 20:31:13 PST 2003

Hi Donald (folks),

On Sat, 2003-01-04 at 11:29, Donald Becker wrote:
> On Sat, 4 Jan 2003, Florent.Calvayrac wrote:
> > > This is trivial.  Once you get a good a serial pseudo-random number
> > > generator, you can use a cluster to generate more.
> > 
> > Sorry to disagree here, but you forget that you can not be sure
> > that the initial seed on one of the machines will not
> > be generated by another one...so you can end up with
> > completely correlated series. Check "scalable parallel number
> > generator" (sprng), working well for us, using different
> > recurrence formulas on different machines.
> I was assuming a sophisticated RNG.  With such, the likelyhood of
> identical seeds is very low, exactly the same as correlation within the
> number stream.  Anyone that needs a cluster to generate random numbers
> will be far beyond using a LFSR with a small seed.

Exactly along the lines I was thinking about, except that I
didn't mention this in my original posting. I already write volumes
in my postings (diatribes?:^), so I tend to let others read between the
lines, when applicable.

> I'll even put forth a hand-waving argument that multiple machines will
> be working from a much richer entropy pool, and thus generate better
> quality numbers.

Yep, and let's not forget that a semi-decent sized, hardware-encryption
based cluster could be set aside to generate the initial seeds, and then
the seeds could propagate over the entire network, further reducing the
chance that an identical seed will rear its ugly head. Well, for a
certain amount of time, anyway.

To take things even further, another cluster could be used that would
try guess the random sequences being generated (pattern matching), and
if it found something, it could report back to the entropy cluster and
tell it to change things up and get with the program :^). (Sorry, but I
had to say it :^)

Taking this method a step further still, MPI latency might even able to
be used (delta time between the compute nodes and the head) to generate
seeds, too, although I'm not really sure how random something
like this would be. OTOH, with thousands and thousands of nodes
participating in the network, maybe a tactic like this could be
useful. (Shrug.)

BTW, this is all off of the top of my head, and I haven't really thought
about this very deeply, but it does seem to make a certain bit of sense
to my way of thinking. OTOH, maybe I'm weird or something, and what the
hello do I know :^). (Shrug.)

Best Regards,


Randall Jouett
Amateur Radio: AB5NI

More information about the Beowulf mailing list