RNG, R, mclapply 및 컴퓨터 클러스터 2 %는 동일합니다. 이것을 피하기

R과 컴퓨터 클러스터에서 시뮬레이션을 실행 중이며 다음과 같은 문제가 있습니다. 각 X 컴퓨터에서 다음을 실행합니다.

fxT2 <- function(i) runif(10)
nessay <- 100
c(mclapply(1:nessay, fxT2), recursive=TRUE)

각각 16 개의 코어가있는 32 대의 컴퓨터가 있습니다. 그러나 난수의 약 2 %는 동일합니다. 이것을 피하기 위해 어떤 전략을 채택 하시겠습니까?

지연 시간을 설정하여 (즉, 각 작업이 각 X 컴퓨터로 전송되는 시간을 1 초 지연) fxT2에서이 문제를 피할 수있었습니다. 그러나 그것은 fxt2에 매우 임시적인 것 같습니다.

문제는 실제로 fxT2는 의사 난수와 관련된 긴 작업이라는 것입니다. 프로세스가 끝날 무렵, 나는 재생산이 아닌 동일한 통계 실험의 X * nessay 재생산을 기대합니다 . 이것이 사실인지 확인하는 방법이며 이것을 확인할 수있는 방법이 있습니까?



답변

눈이 RNG 지정된 수는 클러스터 계산에 스트림 초기화에 명시 적으로 지원한다.

두 가지 RNG 구현 중 하나를 사용할 수 있습니다.

그렇지 않으면 손으로 조정을 수행해야합니다.


답변

병렬 컴퓨팅을 위해 특별히 설계된 RNG를 사용해야합니다. 고성능 컴퓨팅 작업보기 의 “병렬 컴퓨팅 : 난수”섹션을 참조하십시오 .