gpt4 book ai didi

R Parallel - 连接到远程核心

转载 作者:行者123 更新时间:2023-12-03 02:41:46 25 4
gpt4 key购买 nike

在 Windows 7 上使用 R 2.14.1

使用 R 中的并行包,我试图利用网络上可用的本地计算机之外的内核,其中我连接到的所有远程主机都是相同的 Windows 计算机。

命令的基本形式就是建立连接。

library(parallel)
#assume 8 cores per machine
cl<-makePSOCKcluster(c(rep("localhost", 8), rep("otherhost", 8)))

当然,尝试调试这些东西可能非常棘手,但这就是我的情况。

如果我指定如下所示的 manual = TRUE 标志

cl<-makePSOCKcluster(c(rep("localhost", 8), rep("otherhost", 8)), manual=TRUE)

连接到远程主机并运行并行进程没有问题。这些计算机的设置与我正在使用的计算机相同。然而,当未设置此手动标志时,连接命令将挂起。

这似乎向我表明,由于手动标志绕过 ssh 来连接到主机,因此当手动 = FALSE 时,ssh 就是问题。

目前无法保证远程计算机上有 ssh。问题是,鉴于我拥有远程主机的所有相关 Windows 登录信息,并且我无法更改远程计算机上的设置,我将如何使用 R 中的并行包连接到远程计算机上的内核 指定manual = true?

或者,如果必须安装 ssh 才能发生这种情况,我们假设所有计算机上都有 ssh。如何在不绕过 ssh 的情况下连接到远程计算机上的核心?

如果您需要更多信息,请告诉我,非常感谢您的宝贵时间。

更新 1

14年8月26日

感谢 Steve Weston 的见解。我将提供更新,其中包含我用来让系统启动并运行时所使用的确切工具和设置。

如果您有任何其他关于通过 makePSOCKcluster 从 Windows 计算机远程连接到 Windows 计算机的最佳路线(手动标志设置为 FALSE)的最佳路线的信息,请随时发表评论或发帖。

最佳答案

使用 manual=FALSE 创建 PSOCK 集群时,在远程计算机上启动工作线程的唯一方法是使用“ssh”、“rsh”或与命令行兼容的内容,例如来自 PuTTY 的“plink”。原因是 makePSOCKcluster 使用“system”函数启动远程工作人员来执行以下形式的命令:

ssh -l user otherhost '/usr/lib/R/bin/Rscript' -e 'parallel:::.slaveRSOCK()' MASTER=myhost PORT=10187 OUT=/dev/null TIMEOUT=2592000 METHODS=TRUE XDR=TRUE

您可以通过查看并行包中的 SnowSOCK.R 文件中 newPSOCKnode 函数的源代码来确认这一点。

为此,ssh 兼容命令必须在本地计算机上可用,并且相应的 ssh 守护进程必须在每台远程计算机上运行,​​否则 makePSOCKcluster 将挂起。我发现在 Windows 上安装一个好的、工作的 ssh 守护进程是困难的部分。

不幸的是,manual=TRUE 通常是在多台 Windows 计算机上创建 PSOCK 集群的最简单方法。

关于R Parallel - 连接到远程核心,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25508400/

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