НачатьНачать бесплатно

Финансирование социальных наук с помощью фьючерсов

Вы работаете в благотворительном фонде. Фонд выдаёт исследовательские гранты университетам, чей рейтинг в области социальных наук входит в верхний один процент по стране. Поэтому каждый год рассчитывается пороговое значение рейтинга.

В рабочем пространстве у вас есть список 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)
Редактировать и запускать код