CommencerCommencer gratuitement

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

Afficher le cours

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)
Modifier et exécuter le code