Как я могу сгенерировать независимые псевдослучайные числа в кластере, например, для моделирования Монте-Карло? У меня может быть много вычислительных узлов (например, 100), и мне нужно генерировать миллионы чисел на каждом узле. Мне нужна гарантия, что последовательность PRN на одном узле не будет перекрывать последовательность PRN на другом узле.
- Я мог бы сгенерировать все PRN на корневом узле, а затем отправить их на другие узлы. Но это было бы слишком медленно.
- Я мог бы перепрыгнуть на известное расстояние в последовательности на каждом узле. Но существует ли такой алгоритм для Мерсенна-Твистера или для любого другого хорошего ГПСЧ, который может быть выполнен с разумным количеством времени и памяти?
- Я мог бы использовать разные генераторы на каждом узле. Но возможно ли это с хорошими генераторами, такими как Mersenne-Twister? Как это могло быть сделано?
- Или другое?
задан Charles Brunet 16 June 2011 в 04:20
поделиться