如何将进程从本地 R 直接传递到 Amazon EC-2 实例?

Posted

技术标签:

【中文标题】如何将进程从本地 R 直接传递到 Amazon EC-2 实例?【英文标题】:How can I directly pass a process from local R to an Amazon EC-2 Instance? 【发布时间】:2012-11-13 01:41:37 【问题描述】:

我一直在研究在 EC2 上运行 R,但我想知道并行/集群计算与此设置有何不同。我环顾四周,但我无法找到这方面的教程。

基本上我想做的是让 R (Rstudio) 在我的笔记本电脑上运行,并完成大部分工作,但是当我有一个大操作要运行时,将它显式传递给 AWS 从属实例完成所有繁重的工作。

据我所知,雪/降雪套餐似乎是答案......但我不确定如何。

我正在使用http://bioconductor.org/help/bioconductor-cloud-ami/(ssh)上的教程来运行 R。本教程确实提到了并行/集群,但似乎是在不同的 AWS 实例之间。

任何帮助都会很棒。干杯。

【问题讨论】:

【参考方案1】:

如果您只需要一个从属实例,我发现最简单的方法是在该实例上并行运行它,而不是使用您的 PC 作为主实例。

您可以在 PC 上编写脚本并将其推送到运行 R 的多核服务器,然后使用所有内核并行运行它。

例如将此上传到 4 核 AWS 实例:

library(snowfall)
sfInit(parallel=TRUE,cpus=4,slaveOutfile="log.txt")

vars = c(1:100)

#send variables to all processors
sfExportAll()

#Run this in parallel
results = sfLapply(vars, exp)

#Stop parallel processing
sfStop()

#save results
save(results, file = "results.RData")

【讨论】:

以上是关于如何将进程从本地 R 直接传递到 Amazon EC-2 实例?的主要内容,如果未能解决你的问题,请参考以下文章