小编mik*_*ing的帖子

用于短期任务的Amazon EC2按需工作者

我正在寻找构建一个Web应用程序,它需要在R中按需运行资源密集型MCMC(马尔可夫链蒙特卡罗)计算,以便为用户生成一些概率图.

约束:

  1. 显然,我不希望在与Web应用程序前端相同的服务器上运行资源密集型计算,因此需要将这些任务交给工作者实例.

  2. 这些计算需要运行大量的CPU,并且我希望将延迟保持在尽可能低的水平(希望是秒,而不是几分钟),所以我宁愿在更强大的硬件上运行计算.

  3. 我不能以~66¢/ hr x 24小时/天运行强大的EC2实例,因此可能需要按需或点请求实例.

以下是我提出的选项:

  1. 每天24小时运行廉价,经济实惠的工作实例,在Amazon SWF(或SQS)管理的时间内执行一项任务.

    缺点:

    • 高延迟 - 更便宜的硬件,更长的等待时间.



  2. 每个任务生成一个更强大的工作者实例(每当作业添加到队列时旋转)并在完成时终止实例.

    缺点:

    • 昂贵/浪费 - 我每次都要在服务器上支付一个小时的费用,而且我的计算只需要几秒钟

    • 启动开销 - 按需启动新的EC2实例会引入不可忽略的延迟(抵消使用更强大的硬件的整个目的)吗?



  3. 与#2类似,但具有低出价的EC2现场请求.

    缺点:

    • 启动开销 - 见#2

    • inconsistancy? - 我之前从未使用过现场请求,所以我不知道这样的解决方案有多么不稳定或动手......我是否必须不断调整我的出价以确保我仍能在高峰时段完成任务?此外,我想我必须密切监视我的过程,以确保它们不会在计算中间被中断.



  4. 某种混合溶液中,我积极监测仡硬件工人实例及其负载并智能地旋转起来,并终止情况下的时间来维持的成本和可用性的最佳平衡

    缺点:

    • 复杂而昂贵的设置 - 除非有一个好的托管服务来处理这样的事情,否则我必须自己设置所有这些基础设施......

我希望有一些服务,我可以在一分钟到一分钟而不是每小时支付高度可用的按需硬件.

所以我的问题如下:

  • 你会如何推荐解决这个问题?

  • 是否有一个好的EC2实例管理解决方案可以位于Amazon SWF之上并帮助我实现负载平衡并终止闲置工作人员?

  • 现货请求出价是否可以解决我的问题,还是更适合那些不一定需要立即完成的任务?

r amazon-ec2 amazon-emr amazon-swf

18
推荐指数
2
解决办法
2323
查看次数

InnoDB中的MySQL Atomic UPDATE与MyISAM相比

无论引擎如何(例如InnoDB或MyISAM),这种"比较和交换"语句是否始终是原子的?:

UPDATE tbl_name SET locked=1 WHERE id=ID AND locked <> 1;
Run Code Online (Sandbox Code Playgroud)

我问这个是因为我打算使用这个语句进行与事务和非事务数据库表兼容的伪行级锁定.

这是MyISAM推荐的方法,但我不确定这是否适用于InnoDB,因为文档建议使用事务.

mysql myisam innodb atomic compare-and-swap

6
推荐指数
1
解决办法
1949
查看次数