在 Windows 集群上设置snow
是相当困难的。每台机器都需要安装 R 并snow
安装,但这是容易的部分。要启动 SOCK 集群,您需要在每台工作机器上运行一个 sshd 守护程序,但您仍然会遇到麻烦,因此除非您擅长调试和 Windows 系统管理,否则我不推荐它。
我认为您在 Windows 集群上的最佳选择是使用 MPI。我自己对 Windows 上的 MPI 没有任何经验,但我听说有人在 Windows 的 MPICH 和 DeinoMPI MPI 发行版上取得了成功。在集群上安装 MPI 后,您还需要Rmpi
在每台工作机器上从源代码安装包。然后,您将使用该makeMPIcluster
函数创建集群对象。这是很多工作,但我认为由于 Windows 上 ssh/sshd 的问题,它最终比尝试使用 SOCK 集群更有可能工作。
如果您迫切希望在 Windows 集群上运行一次或两次并行作业,您可以尝试使用手动模式。它允许您在没有 ssh 的情况下创建 SOCK 集群:
workers <- c(rep("COMP01",32), rep("COMP02",32))
cl <- makeSOCKluster(workers, manual=TRUE)
该makeSOCKcluster
功能将提示您启动每个工作人员,并显示用于每个工作人员的命令。您必须在指定机器上手动打开命令窗口并执行指定命令。这可能非常乏味,特别是对于许多工人来说,但至少它并不复杂或棘手。outfile=''
与该选项结合使用时,它对于调试也非常有用。