【问题标题】:How to set up cluster slave nodes (on Windows)如何设置集群从节点(在 Windows 上)
【发布时间】:2014-05-01 13:32:02
【问题描述】:

我需要在所有 Windows 的 15 台机器(每台 4 核)上运行数千个模型。我开始学习parallelsnowsnowfall 包并阅读了一堆介绍,但它们主要集中在大师的设置上。 关于如何在 Windows 上设置工作(从)节点的信息很少。信息往往相互矛盾:some say that SOCK cluster is practically the easiest way to go,其他人声称SOCK cluster setup is complicated on Windows (sshd setup) and the best way to go is MPI

那么,在 Windows 上安装从节点最简单的方法是什么? MPI、PVM、SOCK 还是 NWS?我的,可能是幼稚的想法是(按优先级列出):

  1. 使用从节点上的所有 4 个内核(必需)。
  2. 理想情况下,我只需要带有一些包的 R 和一个从属 R 脚本或 R 函数,它们将侦听某个端口并等待来自主控的任务。
  3. 理想情况下,可以从集群中动态添加/删除节点。
  4. 理想情况下,从站将连接到主站 - 因此我不必在主站配置中列出所有从站 IP。

只有 1 是 100% 需要的,2-4 是“会好的”。请求是不是太天真了?

很抱歉,我无法从可用的文档和教程中弄清楚这一点。如果您指出正确的来源,我将不胜感激。


* 请注意,这数千个模型中的每一个至少需要 7 分钟,因此不会产生很大的通信开销。

【问题讨论】:

  • R 将处理工人。您只需要使用现成的工具将所有函数和包导出到它们(在降雪时它是sfExportsfLibrary)。
  • @RomanLuštrik,“R 将处理工人” 很高兴知道,但问题是 如何 - 如何我设置它们?您所说的集群类型是什么?
  • 查看底部关于 MPI 与 SOCK 的一些示例代码和 cmets ics.uci.edu/~vqnguyen/talks/ParallelComputingSeminaR.pdf
  • 哦,抱歉,忘记包含了。我在SOCK 上使用雪。
  • 我认为您引用的两个答案并不矛盾。使用一台机器,SOCK 集群非常简单,因为在这种情况下不使用 ssh。除非您是 Windows ssh 专家,否则使用多台机器时,MPI 集群会更容易。

标签: r cluster-computing snow rparallel


【解决方案1】:

很遗憾,所有这些 API(如并行/降雪/降雪​​)使用起来很复杂,有很多文档但不是您需要的……我找到了一个非常简单的 API,可以直接使用我画的想法!!它是redis 和doRedis R package(如recommended here)。终于出现了very simple tutorial!稍微修改了一下,得到了这个:

worker 只需要 R、doRedis 包和这个脚本:

require(doRedis)    
redisWorker('jobs', '10.0.0.7') # IP of the server

主人需要redis server运行(Windows安装the experimental windows binaries),这个R代码:

require(doRedis)
registerDoRedis('jobs')
foreach(j=1:10,.combine=sum,.multicombine=TRUE) %dopar%
    ... # whatever you need to run
removeQueue('jobs')

添加/删除worker是完全动态的,不需要在master上指定IP,自动“负载平衡”,简单并且不需要大量的文档!此解决方案满足所有要求,甚至更多 - 如?registerDoRedis 所述:

doRedis 并行后端容忍工作进程之间的故障并自动重新提交失败的任务。

如果可能的话,我不知道将并行/降雪/降雪​​与 SOCKS/MPI/PVM/NWS 结合使用会有多复杂,但我想非常复杂。 ..

我发现的唯一使用redis的缺点

【讨论】:

  • doRedis 确实似乎是一个简单的解决方案,但是,我怀疑它是否支持从属设备上的多核。我试图结合 doRedis 和 doSNOW 但失败了。你知道如何让从属设备在多核上运行吗?
猜你喜欢
  • 2017-05-07
  • 1970-01-01
  • 2017-01-08
  • 2013-07-06
  • 1970-01-01
  • 1970-01-01
  • 2013-07-02
  • 1970-01-01
  • 2015-01-22
相关资源
最近更新 更多