Saya menjalankan simulasi pada R dan sekelompok komputer dan memiliki masalah berikut. Di setiap komputer X yang saya jalankan:
fxT2 <- function(i) runif(10)
nessay <- 100
c(mclapply(1:nessay, fxT2), recursive=TRUE)
Ada 32 komputer, masing-masing dengan 16 core. Namun, sekitar 2% dari angka acak identik. Strategi apa yang akan Anda adopsi untuk menghindari hal ini?
Saya dapat menghindari masalah ini untuk fxT2 dengan menetapkan latensi (yaitu menunda sebentar dalam waktu setiap pekerjaan dikirim ke masing-masing komputer X). Tapi sepertinya sangat ad-hoc ke fxt2.
Masalahnya adalah bahwa pada kenyataannya fxT2 adalah tugas panjang yang melibatkan angka acak semu. Pada akhir proses, saya berharap mendapatkan reproduksi X * nessay dari eksperimen statistik yang sama, bukan reproduksi nessay. Bagaimana memastikan bahwa ini memang benar dan apakah ada cara untuk memeriksa ini?
sumber
Jawaban:
The salju memiliki dukungan eksplisit untuk menginisialisasi jumlah tertentu Ping sungai dalam perhitungan cluster.
Itu dapat menggunakan salah satu dari dua implementasi RNG:
rsprng dan
pembeli
Kalau tidak, Anda harus melakukan koordinasi dengan tangan.
sumber
Anda perlu menggunakan RNG yang dirancang khusus untuk komputasi paralel. Lihat bagian "Komputasi paralel: Angka acak" pada Tampilan Tugas Komputasi Kinerja Tinggi .
sumber