RNG, R, mclapply dan cluster komputer


10

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?


Pertanyaan bagus. Lihatlah pertanyaan ini pada nomor acak dan paket multicore
csgillespie

@CSgillepsie:> terima kasih untuk pointernya, tapi saya tidak yakin itu masalah yang sama: cara saya memahami pertanyaan yang Anda tunjuk, semua proses dihasilkan oleh mclapply. Ini sedikit berbeda: pada masing-masing mesin, semua proses dihasilkan oleh mclapply, tetapi ini tidak berlaku untuk semua mesin.
user603

Jawaban:


6

The salju memiliki dukungan eksplisit untuk menginisialisasi jumlah tertentu Ping sungai dalam perhitungan cluster.

Itu dapat menggunakan salah satu dari dua implementasi RNG:

Kalau tidak, Anda harus melakukan koordinasi dengan tangan.


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.