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
Instructions
- Générez des futures séquentiels en appliquant
generate_cutoff_future()àrating_listaveclapply()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)