Taux de croissance de la population avec mclapply()
En tant que programmeur·se statistique, vous faites beaucoup de bootstrap dans R. L’une de vos analyses courantes consiste à créer 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 un cluster PSOCK et parLapply() pour paralléliser ce processus et gagner en efficacité. Toutefois, cela reste trop lent pour les besoins de production. Votre responsable vous a donc demandé de comparer les performances des clusters 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 d’un pays donné de 2001 à 2021. La fonction de bootstrap, boot_dist(), est également disponible. Les packages parallel et microbenchmark ont été chargés.
Cet exercice fait partie du cours
Programmation parallèle en R
Instructions
- Utilisez la version FORK de
parLapply(). - Fournissez la liste des entrées.
- Fournissez la fonction à appliquer à chaque élément de l’entrée.
- Spécifiez quatre cœurs pour le cluster FORK.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
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)