RNG,R,mclapply和计算机集群


10

我在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复制。如何确保确实如此,是否有办法检查?


好问题。有一个在这个问题上的随机数和多核包
csgillespie

@CSgillepsie:>感谢您的指针,但是我不确定这是同一个问题:按照我理解您所指出的问题的方式,所有过程都是由mclapply产生的。这里有所不同:在每台计算机上,所有进程都是由mclapply生成的,但是计算机的情况并非如此。
user603 2011年

Answers:



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.