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 を呼び出した後、私のマシンは何らかの処理を行いますが、実際には呼び出しを完了しません。RStudio で [停止] をクリックすると、次のエラー メッセージが表示されます。
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? そして、どうすればいいですか?リモートマシンでいくつかのポートを開く必要がありますか?どれ?
2台以上のマシンでRを実行するために必要な手順の完全な例を誰かが持っていますか.
PS doSnow は、マルチコアの実行で非常にうまく機能します。問題はありません。マルチサーバーの実行に問題があります