2010-07-27 4 views
0

мне нужна детерминированный генератор случайных чисел, который поддерживает некоторый вид распределения (например, равномерные или нормального), которая работает над кластером.распределенных случайные на кластере

подталкивания :: Random удовлетворяет большинству этих требований. Есть ли способ использовать его в кластере при сохранении дистрибутива?

Если бы был эффективный способ продвижения генератора чисел, это было бы идеально, однако я не мог найти такую ​​функцию. Очевидно, что я могу многократно вызывать функцию в цикле, но мне нужно сделать это несколько тысяч раз (возможно, намного больше) на каждом узле.

Любые рекомендации о том, как я могу добиться этого?

ответ

2

Возможно, мне не хватает чего-то очевидного, но разве вы не могли бы дать RNG каждого кластера другое (псевдо) случайно выбранное семя? Я думаю, что это даст вам равномерное распределение по всем кластерам.

Альтернативой будет предоставление всех случайных чисел, выданных с одного компьютера, который действует как сервер RNG, но это, вероятно, будет медленным.

+1

Я не могу думать о каких-либо общих случайных распределений, для которых каждый узел имеет свой собственный ГСЧ не будет работать. Похоже, что ОП может просто переоценить проблему. Теперь, если они хотят чего-то более странного, как дистрибутив Пуассона, тогда все биты отключены. – McBeth

+0

Вам не хватает чего-то очевидного. Предположим, что у вас есть две машины в вашем кластере, и одним ударом, обе машины начинают с одного и того же семени. Ваш объединенный RNG теперь не столь случайный. Теперь предположим, что семена отключены на один или три - ошибки все еще существуют, но это не так очевидно, если вы не заметите, что числа, сгенерированные первой машиной, происходят в той же последовательности, что и у второй машины, сдвинутой на один или три. – kfmfe04

+0

@ kfmfe04: Я не пропустил это. Случайность влечет за собой возможность повторять последовательности каждый раз в то время. Плюс, если вы знаете семена, тогда образец предсказуем, что имеет тот же эффект, являются ли два семени одинаковыми или нет. –

0

В зависимости от того, насколько прочной вам нужен ПГСЧ быть, вам, возможно, придется осторожно здесь; есть определенные проблемы при использовании нескольких PRNG.

В частности, есть эксперты в области статистики, которые специализируются на исследовании параллельных алгоритмов для PRNG.

Чтобы начать думать о некоторых из этих проблем, вы можете посмотреть на бумагу, такую ​​как this.

Как и все проблемы, я рекомендую, чтобы вы стреляли, чтобы получить это правильно, во-первых, а затем быстро запустить его.