CommencerCommencer gratuitement

Financer les sciences sociales avec des futures

Vous travaillez pour une fondation philanthropique. La fondation attribue des subventions de recherche aux universités dont l’indice de recherche en sciences sociales figure parmi le top 1 % de leur pays. Chaque année, une valeur seuil pour cet indice est donc calculée.

Vous avez une liste, rating_list, dans votre espace de travail. Chaque élément contient les indices de recherche des universités d’un pays. Vous avez également accès à generate_cutoff_future(). Cette fonction crée un future pour le calcul de la valeur seuil. Cependant, votre responsable n’est pas convaincu de l’avantage des futures par rapport à d’autres méthodes de parallélisation. Vous devez lui montrer que les futures permettent une exécution séquentielle comme parallèle sans modifier le code métier. Le package future a été chargé pour vous.

Cet exercice fait partie du cours

Programmation parallèle en R

Afficher le cours

Instructions

  • Générez des futures séquentiels en appliquant generate_cutoff_future() à rating_list avec lapply() sous un plan séquentiel.
  • Extrayez les valeurs des futures séquentiels.
  • Générez des futures parallèles sous un plan parallèle.
  • Extrayez les valeurs des futures parallèles.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

plan(sequential)
# Create futures under sequential plan
seq_futures <- ___(___, ___)
# Extract values of sequential futures
seq_values <- ___(___)

plan(multisession, workers = 4)
# Create futures under multisession plan
par_futures <- ___(___, ___)
# Extract values of parallel futures
par_values <- ___(___)
               
plan(sequential)

cbind(seq_values, par_values)
Modifier et exécuter le code