Я провел тест, в котором распараллелил 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
}