Finansowanie nauk społecznych z użyciem futures
Pracujesz w fundacji filantropijnej. Fundacja przyznaje granty badawcze uczelniom, których ocena badań w dziedzinie nauk społecznych należy do najwyższego jednego procenta w danym kraju. Dlatego co roku wyznaczana jest wartość progowa dla tej oceny.
W swoim środowisku masz dostępną listę rating_list. Każdy jej element zawiera oceny badań dla uczelni z danego kraju. Dostępna jest też funkcja generate_cutoff_future(), która tworzy future do obliczenia wartości progowej. Twój menedżer nie jest jednak do końca przekonany co do zalet futures w porównaniu z innymi metodami zrównoleglania. Musisz pokazać, że futures umożliwiają zarówno sekwencyjne, jak i równoległe wykonanie – bez żadnych zmian w samym kodzie. Pakiet future jest już wczytany.
To ćwiczenie jest częścią kursu
Programowanie równoległe w R
Instrukcje do ćwiczenia
- Wygeneruj futures sekwencyjne, stosując
generate_cutoff_future()dorating_listza pomocąlapply()w ramach planu sekwencyjnego. - Wyodrębnij wartości sekwencyjnych futures.
- Wygeneruj futures równoległe w ramach planu równoległego.
- Wyodrębnij wartości równoległych futures.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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)