Taux de croissance de la population avec mclapply()
En tant que programmeur ou programmeuse en statistique, vous faites beaucoup de bootstrap dans R. L'une de vos analyses courantes consiste à obtenir par bootstrap une distribution de la moyenne du taux de croissance de la population pour différents pays sur une période donnée.
Le code actuellement en production utilise une grappe PSOCK et parLapply() pour paralléliser ce traitement afin d'exécuter le tout efficacement. Cependant, c'est encore trop lent pour les besoins de production. Votre supérieur vous a demandé de comparer la performance des grappes PSOCK et FORK.
gr_list a été chargé dans votre espace de travail. Chaque élément de gr_list contient les taux de croissance de la population pour un pays donné de 2001 à 2021. La fonction de bootstrap boot_dist() est aussi disponible. Les paquets parallel et microbenchmark ont été chargés.
Cette activité fait partie du cours
Programmation parallèle en R
Instructions de l’exercice
- Utilisez la version FORK de
parLapply(). - Fournissez la liste des intrants.
- Fournissez la fonction à appliquer à chaque élément de l'intrant.
- Spécifiez quatre cœurs pour la grappe FORK.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
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)