ПочатиПочніть безкоштовно

Фінансування соціальних наук за допомогою futures

Ви працюєте у благодійному фонді. Фонд надає гранти на дослідження університетам із рейтингом досліджень у галузі соціальних наук, що входить до верхнього одного відсотка в їхній країні. Тому щороку обчислюється порогове значення рейтингу.

У вашому робочому середовищі є список rating_list. Кожен елемент містить рейтинги досліджень університетів певної країни. Також доступна функція generate_cutoff_future(). Вона створює future для обчислення порогового значення. Однак ваш(а) менеджер(ка) не зовсім певен(а) щодо переваг futures над іншими методами паралелізації. Вам потрібно продемонструвати, що futures дають змогу виконувати обчислення як послідовно, так і паралельно без змін у самому коді. Пакет future уже завантажено для вас.

Ця вправа є частиною курсу

Паралельне програмування в R

Переглянути курс

Інструкції до вправи

  • Згенеруйте послідовні futures, застосувавши generate_cutoff_future() до rating_list за допомогою lapply() у межах послідовного плану.
  • Добудьте значення з послідовних futures.
  • Згенеруйте паралельні futures у межах паралельного плану.
  • Добудьте значення з паралельних futures.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

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)
Редагувати та запускати код