R Amazon EC2短期任务随需应变工作人员
我希望构建一个web应用程序,它需要在R中按需运行资源密集型MCMC()计算,以便为用户生成一些概率图 限制条件:R Amazon EC2短期任务随需应变工作人员,r,amazon-ec2,amazon-emr,amazon-swf,R,Amazon Ec2,Amazon Emr,Amazon Swf,我希望构建一个web应用程序,它需要在R中按需运行资源密集型MCMC()计算,以便为用户生成一些概率图 限制条件: 显然,我不想在与web应用程序前端相同的服务器上运行资源密集型计算,因此这些任务需要交给工作者实例 这些计算需要大量CPU才能运行,我希望延迟尽可能低(希望是几秒钟,而不是几分钟),因此我更喜欢在更强大的硬件上运行计算 我负担不起以~66美分/小时x 24小时/天的速度运行健壮的EC2实例,因此,按需或现场请求实例可能是必需的 以下是我提出的选项: 每天24小时运行一个便宜、价格合
缺点:
- 高延迟-硬件更便宜,等待时间更长。
缺点:
- 昂贵/浪费-我将在服务器上支付一小时的费用
每次仅使用秒进行计算
- 启动开销-将启动一个新的EC2实例
按需引入不可忽略的延迟(抵消
使用beefier硬件的全部目的)?
缺点:
- 启动开销-请参见#2
- 矛盾?-我以前从未处理过现场请求,
因此,我不知道这样一个解决方案有多不稳定或如何实际操作
会是。。。我是否必须不断调整我的出价以使
确定我还能在高峰时间完成任务吗?我想也是
我必须密切监视我的进程,以确保它们不会被破坏
中间计算中断。
缺点:
- 复杂且昂贵的设置-除非有良好的管理
要处理这样的事情,我必须设置所有
所有这些基础设施都是我自己建造的…
因此,我的问题如下:
- 你建议如何解决这个问题
- 有没有一个好的EC2实例管理解决方案可以位于AmazonSWF之上,帮助我实现负载平衡并终止空闲工作人员
- 现场请求投标能解决我的问题吗?还是更适合于不需要立即完成的任务
警告:Lambda目前只支持JavaScript、Java和Python,所以我不确定如何让R工作。您可能需要在其中一个运行时中托管R。如果可以用Python实现MCMC,您可以使用Google App Engine。应用引擎计费主要基于应用程序实际使用的资源,而不是EC2的实例租用。。。它处理大部分繁重的工作,我的同事都是数学方面的人,而不是程序员,所以维护它的责任就落在我身上了。还有,它的目标是成为一个JVM R解释器。最终,您应该能够使用它在Java应用程序引擎上运行R,但我不知道它目前有多稳定。您是否可以提前准备它们?而不是随需应变?(即,一组选项的计划发布时间)?不幸的是,不是。应用程序的工作方式是,用户将在马尔可夫链中输入其最新计算的所有数据,提交表单,并期望结果。我总是可以给他们留言说15分钟后回来,但我希望能有更直接的消息。我想我可以分析一下一天中服务提供的时间