Параллельные вычисления на двух серверах R с использованием batchtools / BatchJobs - PullRequest
3 голосов
/ 10 мая 2019

Я пытаюсь использовать batchtools / BatchJobs для параллельных вычислений на двух Unix-серверах R.Я совершенно новичок в этом и поэтому следовал нескольким статьям и деталям пакета, чтобы сделать это.Я добавил несколько ссылок ниже: batchtools , BatchJobs

До сих пор я не очень понял, как использовать batchtools для нескольких машин.С другой стороны, с BatchJobs у меня лучше прогресс.

Сначала я установил ssh-соединение с терминала и выполнил следующие строки:

reg = makeRegistry("TestExp")
reg$cluster.functions = makeClusterFunctionsSSH(worker = makeSSHWorker(nodename="sla19438"))  #By BatchJobs

#Test Function 
piApprox = function(n) {
  nums = matrix(runif(2 * n), ncol = 2)
  d = sqrt(nums[, 1]^2 + nums[, 2]^2)
  4 * mean(d <= 1)
}

set.seed(42)
piApprox(1000)
BatchJobs::batchMap(reg = reg, fun = piApprox, n = rep(1e7, 10))
getJobTable()
BatchJobs::submitJobs(reg = reg, resources = list(walltime = 3600, memory = 1024))
getStatus(reg = reg)
loadResult(reg = reg, id = 5)               
mean(sapply(1:10, loadResult, reg = reg))

Это работает и дает мне результаты, ноЯ не вижу никаких признаков выполнения заданий на другом компьютере (sla19438), когда я запускаю "top" в терминале.

Пожалуйста, помогите мне понять, что я делаю неправильно.Может быть, нужна какая-то конфигурация, но я не вижу в Интернете какого-либо материала, который бы описывал шаги для такого новичка, как я.

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...