gpt4 book ai didi

r - Windows 上的多计算机 makePSOCKcluster : Building a step-by-step guide

转载 作者:行者123 更新时间:2023-12-03 19:30:05 24 4
gpt4 key购买 nike

我已经尝试使用多台计算机构建集群三天了,但失败了。所以现在我要试着吸引你们中的一些人来帮我解决我的问题。如果一切顺利,我希望我们可以生成一个分步指南,以用作将来执行此操作的引用,因为到目前为止,我还没有找到合适的引用来进行设置(也许这是一项太具体的任务?)

就我而言,让我们假设 Windows 7,将 PuTTY 作为 SSH 客户端,并且“localhost”将作为主服务器。

此外,让我们假设现在只有两台计算机在同一网络上。我想这个过程很容易概括,如果我可以让它在两台计算机上工作,我可以让它在三台计算机上工作。所以我们将处理 localhostremote-computer .

这是我到目前为止收集的内容(底部链接了引用资料)

  • localhost 上安装 PuTTY .
  • remote-computer 上安装 PuTTY
  • remote-computer 上安装 SSH 服务器
  • 给它分配一个端口来监听? (我不确定这一步)
  • localhost 上安装 R
  • remote-computer 上安装相同版本的 R
  • 将 R 添加到 localhost 上的 PATH 环境变量中和 remote-computer
  • localhost 运行下面的 R 代码

  • 代码:
    library(parallel)
    cl <- makePSOCKcluster(c(rep("localhost", 2),
    rep("remote-computer", 2)))

    到目前为止,我已经完成了步骤 1-3,不确定是否需要执行 4、完成 5-7,并且步骤 8 的代码只是无限期地挂起。

    当我检查我的 SSH 服务器日志时,我似乎没有从 localhost 访问 SSH 服务器。 .所以看起来我的第一个问题是正确配置SSH。有没有人成功地做到了这一点,你愿意分享你的专业知识吗?

    编辑
    哎呀:引用
    http://www.milanor.net/blog/wp-content/uploads/2013/10/03.FirstStepinParallelComputing.pdf

    R Parallel - connecting to remote cores

    https://stat.ethz.ch/pipermail/r-sig-hpc/2010-October/000780.html

    最佳答案

    充其量,这是部分答案。我仍然没有建立集群,但这里描述的步骤很好地记录了我是如何做到这一点的。

    配置:

  • 在“远程计算机”上安装 PuTTY
  • 在“远程计算机”上安装 SSH 服务器
  • 在“远程计算机”上安装 R(使用与“本地主机”上相同版本的 R)
  • 将 R 添加到路径
  • 在“本地主机”上安装 PuTTY
  • 在“本地主机”上安装 R
  • 将 R 添加到路径

  • 测试连接:第一阶段
  • 从命令行运行
  • C:\PuTTYPath\plink.exe -pw [password] [username]@[remote_ip_address] Rscript -e rnorm(100)
    (确认返回 100 个正态随机变量
  • 从命令行运行
  • C:\PuTTYPath\plink.exe -pw [password] [username]@[remoate_ip_address] RScript -e parallel:::.slaveRSOCK() MASTER=[local_ip_address] PORT=100501 OUT=/dev/null TIMEOUT=2592000 METHODS=TRUE XDR=TRUE
    (确认 session 已在 SSH 服务器登录到“远程计算机”上启动)

    测试连接:第二阶段
  • 从 R session ,运行
    system(paste0("C:/PuTTYPath/plink.exe -pw [password] ",
    "[username]@[remote_ip_address] ",
    "RScript -e rnorm(100)"))

    (确认返回 100 个正态随机变量)
  • 从 R session 中,运行
    system(paste0("C:/PuTTY/plink.exe ",
    "-pw [password] ",
    "[username]@[remote_ip_address] ",
    "RScript -e parallel:::.slaveRSOCK() ",
    "MASTER=[local_ip_address] ",
    "PORT=100501 ",
    "OUT=/dev/null ",
    "TIMEOUT=2592000 ",
    "METHODS=TRUE ",
    "XDR=TRUE"))

  • (确认 session 已启动并在 SSH 服务器上维护登录“远程计算机”

    建立集群
  • 从 R session ,运行
    library(snow)cl <- makeCluster(spec = c("localhost", "[remote_ip_address]"),
    rshcmd = "C:/PuTTY/plink.exe -pw [password]",
    host = "[local_ip_address]")

  • (应该在“远程计算机”上的 SSH 服务器日志上启动和维护 session 。
    理想情况下,该功能将在分配 'cl' 时完成)

    建立集群是我失败的地方。我跑 makeCluster并查看我的 SSH 服务器日志。它显示连接已建立,然后立即关闭。 makeCluster永远运行不完, cl没有分配,我被困在如何继续。我什至不确定此时这是 R 问题还是配置问题。

    编辑和解决方案:

    无缘无故,我尝试使用 snow 运行它包,如上面的“建立集群”部分所示。当我使用 snow包,集群搭建完毕,运行稳定。不知道为什么我不能让它与 parallel 一起使用包,但至少我有一些功能。

    关于r - Windows 上的多计算机 makePSOCKcluster : Building a step-by-step guide,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32571996/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com