Sociale wetenschappen financieren met futures
Je werkt voor een filantropische stichting. De stichting kent onderzoekssubsidies toe aan universiteiten met een onderzoeksbeoordeling voor de sociale wetenschappen die tot de beste één procent van hun land behoort. Daarom wordt elk jaar een afkapwaarde voor de onderzoeksbeoordeling berekend.
Je hebt een lijst, rating_list, in je werkruimte. Elk element bevat onderzoeksbeoordelingen voor universiteiten in een land. Je hebt ook generate_cutoff_future() beschikbaar. Deze functie maakt een future aan voor het berekenen van de afkapwaarde. Je manager is echter niet zo zeker van het voordeel van futures ten opzichte van andere parallelisatiemethoden. Jij moet laten zien dat futures zowel sequentiële als parallelle uitvoering mogelijk maken zonder wijzigingen in de daadwerkelijke code. Het pakket future is voor je geladen.
Deze oefening maakt deel uit van de cursus
Parallel programmeren in R
Oefeninstructies
- Genereer sequentiële futures door
generate_cutoff_future()metlapply()toe te passen oprating_listonder een sequentieel plan. - Haal de waarden op van de sequentiële futures.
- Genereer parallelle futures onder een parallel plan.
- Haal de waarden op van de parallelle futures.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
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)