Я пытаюсь использовать 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" в терминале.
Пожалуйста, помогите мне понять, что я делаю неправильно.Может быть, нужна какая-то конфигурация, но я не вижу в Интернете какого-либо материала, который бы описывал шаги для такого новичка, как я.
Спасибо