RNG, R, mclapply và cụm máy tính


10

Tôi đang chạy một mô phỏng trên R và một cụm máy tính và gặp vấn đề sau. Trên mỗi máy tính X tôi chạy:

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

Có 32 máy tính, mỗi máy có 16 lõi. Tuy nhiên, khoảng 2% số ngẫu nhiên là giống hệt nhau. Những chiến lược nào bạn sẽ áp dụng để tránh điều này?

Tôi đã có thể tránh vấn đề này cho fxT2 bằng cách đặt độ trễ (nghĩa là trì hoãn trong một giây thời gian mà mỗi công việc được gửi đến từng máy tính X). Nhưng nó có vẻ rất đặc biệt đối với fxt2.

Vấn đề là trong thực tế fxT2 là một nhiệm vụ dài liên quan đến các số ngẫu nhiên giả. Khi kết thúc quá trình, tôi hy vọng sẽ có được sao chép X * nessay của cùng một thử nghiệm thống kê, chứ không phải sao chép nessay. Làm thế nào để đảm bảo rằng đây thực sự là trường hợp và có cách nào để kiểm tra điều này?.


Câu hỏi hay. Hãy xem câu hỏi này về các số ngẫu nhiên và gói đa lõi
csgillespie 17/211

@CSgillepsie:> cảm ơn con trỏ, nhưng tôi không chắc đó là vấn đề tương tự: cách tôi hiểu câu hỏi mà bạn đã chỉ ra, tất cả các quy trình được sinh ra bởi mclapply. Ở đây có một chút khác biệt: trên mỗi máy, tất cả các quy trình được sinh ra bởi mclapply, nhưng đây không phải là trường hợp trên các máy.
user603

Câu trả lời:


6

Các tuyết đã hỗ trợ rõ ràng để khởi số lượng nhất định của RNG suối trong tính toán cluster.

Nó có thể sử dụng một trong hai triển khai RNG:

Nếu không, bạn phải làm việc phối hợp bằng tay.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.