Параллельная обработка в R - почему большее количество ядер требует больше времени? - PullRequest
0 голосов
/ 05 августа 2020

Я провел тест, в котором распараллелил 1000 заданий на N ядер, используя mclapply в R (код ниже). Я получил странный результат, где до определенного момента (~ 40 ядер) большее количество ядер ускоряет процесс, но с этого момента на самом деле требуется больше времени с большим количеством ядер. Что мне здесь не хватает?

Спасибо, Ницан

Количество ядер (ось x) как функция времени (ось y)

Вот код, который я использовал, где myfunction - это некая модель обучения с подкреплением

for (i in 1:12){
mycores[i]=96-8*(i-1)
print(mycores)
start_time <- Sys.time()

df<-
lapply(1:3,     function(X){
lapply(1:10,    function(Y){
mclapply(1:1000,function(Z){
myfunction(X,Y,Z),
mc.cores=mycores[i])})})

mytime[i]= Sys.time() - start_time
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...