views:

23

answers:

1

I need a deterministic random number generator that maintains some sort of distribution (e.g. uniform or normal) that works over a cluster.

Boost::Random fulfils most of these requirements. Is there any way I can use it in a cluster while maintaining the distribution?

If there was an efficent way to advance the the number generator this would be ideal, however I cant find such a function. Obviously I can call the function repeatedly in a loop, but I'll need to do this several thousand times(possibly a lot more) on each node.

Any recommendation on how I can achieve this?

+2  A: 

I may be missing something obvious here, but couldn't you just give each cluster's RNG a different (pseudo)randomly chosen seed? I think that would give you a uniform distribution over all clusters.

An alternative would be to have all random numbers dispensed from a single computer that acts as an RNG server, but that would probably be slow.

David Zaslavsky
I can't think of any common random distributions for which each node having its own RNG wouldn't work. It seems like the OP may just be overthinking the problem. Now, if they wanted something more strange like a Poisson Disc distribution, then all bits are off.
McBeth