8

バックエンドでいくつかのノードを使用して Windows HPC サーバーを実行しています。バックエンドから複数のノードを使用して Parallel R を実行したいと考えています。Parallel R は Windows で SNOW を使用している可能性があると思いますが、それについてはよくわかりません。私の質問は、バックエンド ノードにも R をインストールする必要があるかどうかです。ノードあたり 32 コアの 2 つのノードを使用するとします。

cl <- makeCluster(c(rep("COMP01",32),rep("COMP02",32)),type="SOCK")

今のところ、ハングアップしています。

他に何をする必要がありますか? バックエンド ノードが相互に通信できるようにするために、ある種の sshd が実行されている必要がありますか?

4

1 に答える 1

9

Windows クラスターでのセットアップsnowはかなり困難です。各マシンには R がsnowインストールされている必要がありますが、それは簡単な部分です。SOCK クラスターを開始するには、各ワーカー マシンで sshd デーモンを実行する必要がありますが、それでも問題が発生する可能性があるため、デバッグと Windows システム管理が得意でない限り、お勧めしません。

Windows クラスターでの最良のオプションは、MPI を使用することだと思います。私自身、Windows で MPI を使用した経験はありませんが、Windows 用の MPICH および DeinoMPI MPI ディストリビューションで成功した人の話を聞いたことがあります。RmpiMPI をクラスターにインストールしたら、各ワーカー マシンにソースからパッケージをインストールする必要もあります。次に、関数を使用してクラスター オブジェクトを作成しますmakeMPIcluster。大変な作業ですが、Windows の ssh/sshd の問題により、SOCK クラスターを使用するよりも、最終的にはうまくいく可能性が高いと思います。

Windows クラスターで並列ジョブを 1 回か 2 回実行したい場合は、手動モードを試してみてください。これにより、ssh なしで SOCK クラスターを作成できます。

workers <- c(rep("COMP01",32), rep("COMP02",32))
cl <- makeSOCKluster(workers, manual=TRUE)

このmakeSOCKcluster関数は、各ワーカーを起動するように促し、それぞれに使用するコマンドを表示します。指定したマシンでコマンド ウィンドウを手動で開き、指定したコマンドを実行する必要があります。特にワーカーが多い場合は非常に面倒ですが、少なくとも複雑でもトリッキーでもありません。また、オプションと組み合わせてデバッグする場合にも非常に役立ちoutfile=''ます。

于 2013-07-09T14:48:11.883 に答える