Finanziare le scienze sociali con i futures
Lavori per una fondazione filantropica. La fondazione assegna finanziamenti alla ricerca alle università con una valutazione nella ricerca nelle scienze sociali tra il primo percentile del loro paese. Per questo, ogni anno si calcola un valore di soglia (cutoff) per la valutazione della ricerca.
Nel tuo workspace hai una lista, rating_list. Ogni elemento contiene le valutazioni della ricerca per le università di un paese. Hai anche a disposizione generate_cutoff_future(). Questa funzione crea un future per il calcolo del valore di soglia. Tuttavia, il tuo responsabile non è convinto del vantaggio dei futures rispetto ad altri metodi di parallelizzazione. Devi dimostrare che i futures permettono esecuzione sequenziale e parallela senza modificare il codice vero e proprio. Il pacchetto future è già stato caricato per te.
Questo esercizio fa parte del corso
Programmazione parallela in R
Istruzioni dell'esercizio
- Genera dei futures sequenziali applicando
generate_cutoff_future()arating_listusandolapply()sotto un piano sequenziale. - Estrai i valori dei futures sequenziali.
- Genera dei futures paralleli sotto un piano parallelo.
- Estrai i valori dei futures paralleli.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
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)