gpt4 book ai didi

r - 是否可以在 R 中启动多个 EC2 实例?

转载 作者:行者123 更新时间:2023-12-04 08:53:20 25 4
gpt4 key购买 nike

这更像是一个初学者的问题。假设我有以下代码:

library("multicore")
library("iterators")
library("foreach")
library("doMC")

registerDoMC(16)

foreach(i in 1:M) %dopar% {
##do stuff
}

如果可用,此代码将在 16 个内核上运行。现在,如果我理解正确,使用 Amazon EC2,在一个实例上,我只依赖于实例的几个核心。因此,如果我想在 16 个内核上运行模拟,我需要使用多个实例,这意味着据我所知启动新的 R 进程。但是我需要在 R 之外编写额外的代码来收集结果。

所以我的问题是,是否有一个 R 包,它允许从 R 中启动 EC2 实例,自动在这些实例之间分配负载,并在启动的初始 R 中收集结果?

最佳答案

准确地说,EC2 上的最大实例类型目前是 8 个核心,因此任何人,甚至是 R 的用户,都需要多个实例才能在 8 个以上的核心上同时运行。

如果您想使用更多实例,那么您有两种部署 R 的选项:“常规”R 调用或 MapReduce 调用。在前一种情况下,您必须设置代码来启动实例、分配任务(例如 foreach 中的独立迭代)、返回结果等。这是可行的,但您不太可能喜欢它。在这种情况下,您可以使用类似 rmr 的内容。或 RHipe管理 MapReduce 网格,或者您可以使用 snow和许多其他 HPC 工具来创建一个简单的网格。使用 snow可能使保持代码完整更容易,但您必须学习如何将这些东西联系在一起。

在后一种情况下,您可以在 Amazon 提供的基础设施上进行构建,例如 Elastic MapReduce (EMR) 和使其更简单的包,例如 JD 的 segue .我推荐 segue作为一个很好的起点,正如其他人所做的那样,因为它具有更温和的学习曲线。开发人员也在 SO,因此您可以在中断时轻松地向他提问。

关于r - 是否可以在 R 中启动多个 EC2 实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8063417/

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