Финансирование социальных наук с помощью фьючерсов
Вы работаете в благотворительном фонде. Фонд выдаёт исследовательские гранты университетам, чей рейтинг в области социальных наук входит в верхний один процент по стране. Поэтому каждый год рассчитывается пороговое значение рейтинга.
В рабочем пространстве у вас есть список rating_list. Каждый его элемент содержит рейтинги исследований университетов отдельной страны. Также доступна функция generate_cutoff_future(), которая создаёт фьючерс для вычисления порогового значения. Однако ваш руководитель сомневается в преимуществах фьючерсов перед другими методами параллелизации. Вам нужно продемонстрировать, что фьючерсы позволяют переключаться между последовательным и параллельным выполнением без изменения основного кода. Пакет future уже загружен.
Это упражнение является частью курса
Параллельное программирование на R
Инструкции к упражнению
- Создайте последовательные фьючерсы, применив
generate_cutoff_future()кrating_listс помощьюlapply()в рамках последовательного плана. - Извлеките значения последовательных фьючерсов.
- Создайте параллельные фьючерсы в рамках параллельного плана.
- Извлеките значения параллельных фьючерсов.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
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)