Я пытаюсь настроить параллельные вычисления в R для большой симуляции, но я заметил, что во времени нет улучшения.Параллельные вычисления, принимающие такое же или более время
Я попытался простой пример:
времяlibrary(foreach)
library(doParallel)
stime<-system.time(for (i in 1:10000) rnorm(10000))[3]
print(stime)
10.823
cl<-makeCluster(2)
registerDoParallel(cores=2)
stime<-system.time(ls<-foreach(s = 1:10000) %dopar% rnorm(10000))[3]
stopCluster(cl)
print(stime)
29.526
Система является более вдвое больше, чем это было в первоначальном случае без параллельных вычислений.
Очевидно, что я делаю что-то неправильно, но я не могу понять, что это такое.
Накладные расходы связаны с параллельными вычислениями. Этот результат можно ожидать. – Frank
Вы имеете в виду, что для запуска кластеров требуется время? или что вы имеете в виду? – ghb
Да, но я измеряю только задачу, а не время, затрачиваемое на инициализацию кластеров. когда я должен ожидать получить большую выгоду? – ghb