【问题标题】:How should I configure Amazon EC2 to perform parallelizable data-intensive calculations?我应该如何配置 Amazon EC2 以执行可并行化的数据密集型计算?
【发布时间】:2011-03-29 17:16:01
【问题描述】:

我有一个高度可并行化的计算密集型项目:基本上,我有一个函数需要在一个大表 (Postgresql) 中的每个观察值上运行。该函数本身是一个存储的 python 过程。

Amazon EC2 似乎非常适合该项目。

我的问题是:我应该制作一个已经包含数据库的自定义图像 (AMI) 吗?这似乎具有最小化数据传输和简化并行化的优点:每个图像都可以获得一些分配的索引块来计算,例如,图像 1 得到 1:100,图像 2 得到 101:200 等。实例(大多数操作指南建议)似乎对我的应用程序没有意义,但我对此很陌生,所以我不相信我的直觉是正确的。

【问题讨论】:

    标签: python postgresql amazon-ec2


    【解决方案1】:

    您肯定希望将数据和服务器实例分开,以便在您完成实例后保留数据更改。您最好的选择是从具有您要使用的操作系统和数据库平台的基本映像开始,对其进行自定义以满足您的需求,然后安装一个或多个包含您的数据的 EBS 卷。完成自定义后,您可能还想创建自己的服务器实例,除非您所做的事情相当简单。

    一些有用的链接:

    http://docs.amazonwebservices.com/AmazonEC2/gsg/2006-10-01/creating-an-image.html http://developer.amazonwebservices.com/connect/entry.jspa?categoryID=100&externalID=1663

    (您说的是 postgres,但本 mysql 教程涵盖了您要记住的相同基本概念)

    【讨论】:

    • 谢谢。如果我的数据绝对不会改变,这个建议还会成立吗?
    • 如果您的数据绝对不会改变,您可以将其包含在您自己的图像中,但我不确定性能是否相同。这可能更容易开始,如果需要,您始终可以迁移到已安装的 EBS 卷。
    • 谢谢 - 我昨天玩了 EC2,你很确定。对,回复:将所有内容放入 EBS 卷中。仅供将来找到此主题的搜索者参考-我发现此分步操作很有帮助:deadprogrammersociety.blogspot.com/2009/08/…
    【解决方案2】:

    如果您已经在 Python 中实现了该函数,最简单的方法可能是查看PiCloud,它为您提供了一个非常简单的界面,可以在 EC2 上运行 Python 函数,为您处理几乎所有其他事情.它在经济上是否合理将取决于每个函数调用必须发送多少数据与运行计算需要多长时间。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-12-07
      • 2017-03-08
      • 2015-11-22
      • 1970-01-01
      • 2019-02-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多