我如何在集群上生成独立的伪随机数,例如用于Monte Carlo模拟?我可以有许多计算节点(例如100个),并且我需要在每个节点上生成数百万个数字。我需要保证一个节点上的PRN序列不会与另一个节点上的PRN序列重叠。
- 我可以在根节点生成所有PRN,然后将它们发送到其他节点。但这会非常慢。
- 我可以在每个节点上跳转到序列中的已知距离。但是对于Mersenne-Twister或任何其他好的PRNG,是否存在这样的算法,可以在合理的时间和内存量内完成?
- 我可以在每个节点上使用不同的生成器。但是对于像Mersenne-Twister这样的好生成器是否可能?如何完成?
- 还有其他想法吗?