mclapply() ile nüfus artış oranları
Bir İstatistiksel Programcı olarak R'de sıkça bootstrap yapıyorsun. Rutin analizlerinden biri, belirli bir zaman aralığında farklı ülkeler için ortalama nüfus artış oranının dağılımını bootstrap ile elde etmek.
Üretimdeki mevcut kod, bu süreci verimli yürütmek için PSOCK kümesi ve parLapply() kullanarak paralelleştiriyor. Ancak bu hâlâ üretim ihtiyaçları için yavaş kalıyor. Patronun senden PSOCK ve FORK kümelerinin performansını karşılaştırmanı istedi.
gr_list çalışma alanına yüklendi. gr_listin her bir elemanı, 2001'den 2021'e bir ülkenin nüfus artış oranlarını içeriyor. Bootstrap fonksiyonu boot_dist() de hazır. parallel ve microbenchmark paketleri yüklendi.
Bu egzersiz, kursun bir parçasıdır
R'da Paralel Programlama
Egzersiz talimatları
parLapply()'ın FORK sürümünü kullan.- Girdi listesini ver.
- Girdinin her bir elemanına uygulanacak fonksiyonu belirt.
- FORK kümesi için dört çekirdek belirt.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
microbenchmark(
"PSOCK" = {
cl <- makeCluster(4)
parLapply(cl, gr_list, boot_dist)
stopCluster(cl)
},
# Use the FORK version of parLapply()
"FORK" = ___(
# Supply input
___,
# Supply function to apply
___,
# Specify number of cores
___ = ___),
times = 1)