Míry populačního růstu pomocí mclapply()
Jako statistický programátor/ka pracuješ v R hodně s bootstrappingem. Jednou z rutinních analýz je bootstrap rozdělení pro průměrnou míru populačního růstu různých zemí za dané časové období.
Aktuální produkční kód používá PSOCK cluster a parLapply() k paralelizaci tohoto procesu. I tak ale výkon nestačí produkčním potřebám. Šéf tě požádal, abys porovnal/a výkon PSOCK a FORK clusterů.
V pracovním prostředí máš načtený gr_list. Každý prvek gr_list obsahuje míry populačního růstu pro danou zemi v letech 2001 až 2021. K dispozici je také bootstrapovací funkce boot_dist(). Balíčky parallel a microbenchmark jsou načteny.
Toto cvičení je součástí kurzu
Paralelní programování v R
Pokyny k cvičení
- Použij FORK variantu
parLapply(). - Zadej seznam vstupů.
- Zadej funkci, která se má aplikovat na každý prvek vstupu.
- Nastav čtyři jádra pro FORK cluster.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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)