ошибка: объект .doSnowGlobals не найден?

Я пытаюсь распараллелить код на 4 узлах (type = "SOCK"). Вот мой код

library(itertools)
library(foreach)
library(doParallel)
library(parallel)

workers <- ip address of 4 nodes
cl = makePSOCKcluster(workers, master="ip address of master")
registerDoParallel(cl)

z <- read.csv("ProcessedData.csv", header=TRUE, as.is=TRUE)
z <- as.matrix(z)


system.time({
  chunks <- getDoParWorkers()
  b <- foreach (these = isplitIndices(nrow(z),
                                      chunks=chunks),
                .combine = c) %dopar% {
                  a <- rep(0, length(these))
                  for (i in 1:length(these)) {
                    a[i] <- mean(z[these[i],])
                  }
                  a
                }
})

Я получаю эту ошибку:

4 узла выдавали ошибки; Первая ошибка: объект .doSnowGlobals не найден.

Этот код работает нормально, если я использую doMC, т.е. использую ядра той же машины. Но когда я пытаюсь использовать другие компьютеры для параллельных вычислений, я получаю вышеуказанную ошибку. Когда я изменяю его для регистрации DoSNOW, ошибка сохраняется.

Работает ли снег и DoSNOW в кластере? Я мог бы создавать узлы на локальном хосте, используя снег, но не на кластере. Кто-нибудь там использует снег?

Ответы на вопрос(4)

Ваш ответ на вопрос