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

时间:2012-11-25 10:47:04

标签: r parallel-processing amazon-ec2 snowfall

我一直在考虑在EC2上运行R,但我想知道并行/集群计算与此设置的关系是什么。我看了一下,但是我找不到这方面的教程。

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

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

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

任何帮助都会很棒。欢呼声。

1 个答案:

答案 0 :(得分:0)

如果您只需要一个从属实例,我发现最简单的方法就是在实例上并行运行它,而不是将您的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")