Wskaźniki wzrostu populacji z mclapply()
Jako programista statystyczny często stosujesz w R technikę bootstrapowania. Jedną z rutynowych analiz jest wyznaczanie rozkładu bootstrapowego dla średniego wskaźnika wzrostu populacji różnych krajów w danym przedziale czasowym.
Aktualny kod produkcyjny korzysta z klastra PSOCK i funkcji parLapply() do zrównoleglenia tego procesu. Jednak jego wydajność nadal nie spełnia wymagań produkcyjnych. Twój przełożony poprosił cię o porównanie wydajności klastrów PSOCK i FORK.
W twoim środowisku pracy dostępna jest lista gr_list. Każdy jej element zawiera wskaźniki wzrostu populacji dla danego kraju w latach 2001–2021. Dostępna jest również funkcja bootstrapująca boot_dist(). Pakiety parallel i microbenchmark są już załadowane.
To ćwiczenie jest częścią kursu
Programowanie równoległe w R
Instrukcje do ćwiczenia
- Użyj wersji
parLapply()opartej na klastrze FORK. - Podaj listę danych wejściowych.
- Podaj funkcję, która ma zostać zastosowana do każdego elementu listy.
- Określ cztery rdzenie dla klastra FORK.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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)