LoslegenKostenlos loslegen

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

Kurs anzeigen

Anleitung zur Übung

  • Erzeuge sequentielle Futures, indem du generate_cutoff_future() mithilfe von lapply() unter einem sequentiellen Plan auf rating_list anwendest.
  • 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)
Code bearbeiten und ausführen