Berpindah ke parApply
Untuk menjalankan kode secara paralel menggunakan paket parallel, alur kerja dasarnya terdiri dari tiga langkah.
- Buat klaster menggunakan
makeCluster(). - Lakukan pekerjaan komputasi.
- Hentikan klaster menggunakan
stopCluster().
Cara paling sederhana untuk membuat klaster adalah dengan memberikan sebuah angka ke makeCluster(). Ini membuat klaster dengan tipe bawaan, menjalankan kode pada sejumlah core tersebut.
Objek dd adalah data frame dengan 10 kolom dan 100 baris. Kode berikut menggunakan apply() untuk menghitung median kolom:
apply(dd, 2, median)
Untuk menjalankannya secara paralel, Anda mengganti apply() dengan parApply(). Argumen untuk fungsi ini sama, kecuali sekarang ia menerima argumen klaster sebelum argumen-argumen apply() yang biasa.
Latihan ini adalah bagian dari kursus
Menulis Kode R yang Efisien
Petunjuk latihan
- Gunakan fungsi
detectCores()untuk mencetak jumlah core yang tersedia ke konsol. - Buat klaster menggunakan
makeCluster(); tetapkan jumlah core yang digunakan sama dengan 2. Simpan hasilnya sebagaicl. - Tulis ulang fungsi
apply()di atas menjadiparApply(). Ingat, argumen pertama sekarang harus objek klaster,cl. - Hentikan klaster menggunakan
stopCluster().
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Determine the number of available cores
___
# Create a cluster via makeCluster
cl <- makeCluster(___)
# Parallelize this code
apply(dd, 2, median)
# Stop the cluster
stopCluster(cl)