使用doSNOW和R中的多个服务器执行并行计算

时间:2014-11-17 19:30:13

标签: r rparallel

我正在尝试使用doSNOW和foreach包进行多服务器(而不是多核)计算。 我有2台Windows服务器,我想在这两台Windows机器上启动并行计算。

我有以下代码:

library(foreach)
library(doSNOW)

winOptionsServer1 <-
  list(host="Server1",
       rscript="C:/Program Files/R/R-3.1.2/bin/Rscript.exe",
       snowlib="C:/Program Files/R/R-3.1.2/library")

winOptionsServer2 <-
  list(host="Server2",
       rscript="C:/Program Files/R/R-3.1.2/bin/Rscript.exe",
       snowlib="C:/Program Files/R/R-3.1.2/library")


cl <- makeCluster(c(rep(winOptionsServer1, 2), rep(winOptionsServer1, 2)), type="SOCK")

调用makeCluster后,我的机器会进行somrthing,但实际上从未完成调用。当我在RStudio中点击Stop时,我收到以下错误消息:

running command 'ssh -l mypc Server1 C:/PROGRA~1/R/R-31~1.2/bin/Rscript.exe "C:/Program Files/R/R-3.1.2/library/snow/RSOCKnode.R" MASTER=MY-PC PORT=11764 OUT=/dev/null SNOWLIB=C:/Program Files/R/R-3.1.2/library' had status 127 

这是否意味着我必须在这些远程服务器上配置某些东西?我究竟应该配置什么? SSH?我该怎么办?也许我应该在我的远程机器上打开一些端口?哪些?

有没有人有一个完整的例子,说明在两台或更多台机器上运行R需要做的步骤。

P.S。 doSnow在多核运行时效果很好,没问题。运行多服务器时遇到问题

0 个答案:

没有答案