R
RNG、R、mclapply 和計算機集群
我正在 R 和一組計算機上運行模擬,並遇到以下問題。在我運行的每台 X 計算機上:
fxT2 <- function(i) runif(10) nessay <- 100 c(mclapply(1:nessay, fxT2), recursive=TRUE)
有 32 台計算機,每台計算機有 16 個內核。然而,大約 2% 的隨機數是相同的。你會採取什麼策略來避免這種情況?
我已經能夠通過設置延遲(即將每個作業發送到每台 X 計算機的時間延遲一秒)來避免 fxT2 的這個問題。但它似乎對 fxt2 非常特別。
問題在於,實際上 fxT2 是一項涉及偽隨機數的長期任務。在該過程結束時,我希望獲得相同統計實驗的 X*nessay 再現,而不是nessay 再現。如何確保確實如此,有沒有辦法檢查?
Snow明確支持在集群計算中初始化給定數量的 RNG 流。
它可以採用兩種 RNG 實現之一:
否則,您必須手動進行協調。