Sozialwissenschaften mit Futures fördern
Du arbeitest für eine philanthropische Stiftung. Die Stiftung vergibt Forschungsstipendien an Universitäten, deren Bewertung in den Sozialwissenschaften zu den besten ein Prozent ihres Landes gehört. Dafür wird jedes Jahr ein Grenzwert (Cutoff) für die Forschungsbewertung berechnet.
In deinem Workspace liegt eine Liste rating_list. Jedes Element enthält die Forschungsbewertungen der Universitäten eines Landes. Außerdem steht dir generate_cutoff_future() zur Verfügung. Diese Funktion erstellt eine Future für die Berechnung des Grenzwerts. Deine Führungskraft ist jedoch nicht überzeugt, ob Futures anderen Parallelisierungsmethoden überlegen sind. Du sollst zeigen, dass Futures sequentielle und parallele Ausführung ermöglichen, ohne den eigentlichen Code ändern zu müssen. Das Paket future wurde bereits für dich geladen.
Diese Übung ist Teil des Kurses
Paralleles Programmieren in R
Anleitung zur Übung
- Erzeuge sequentielle Futures, indem du
generate_cutoff_future()mithilfe vonlapply()unter einem sequentiellen Plan aufrating_listanwendest. - Extrahiere die Werte der sequentiellen Futures.
- Erzeuge parallele Futures unter einem parallelen Plan.
- Extrahiere die Werte der parallelen Futures.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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)