Financer les sciences sociales avec des futures
Vous travaillez pour une fondation philanthropique. La fondation accorde des subventions de recherche aux universités dont la cote de recherche en sciences sociales figure parmi le premier centile de leur pays. Ainsi, chaque année, on calcule une valeur seuil pour la cote de recherche.
Vous avez une liste, rating_list, dans votre espace de travail. Chaque élément contient les cotes de recherche des universités d'un pays. Vous avez aussi accès à generate_cutoff_future(). Cette fonction crée un future pour le calcul de la valeur seuil. Cependant, votre gestionnaire n'est pas convaincu de l'avantage des futures par rapport aux autres méthodes de parallélisation. Vous devez démontrer que les futures permettent une exécution séquentielle et parallèle sans modifier le code proprement dit. Le paquet future a été chargé pour vous.
Cette activité fait partie du cours
Programmation parallèle en R
Instructions de l’exercice
- Générez des futures séquentiels en appliquant
generate_cutoff_future()àrating_listaveclapply()sous un plan séquentiel. - Extraire les valeurs des futures séquentiels.
- Générez des futures parallèles sous un plan parallèle.
- Extraire les valeurs des futures parallèles.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
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)