我应该如何配置Amazon EC2以执行可并行化的数据密集型计算?

时间:2010-08-13 23:32:01

标签: python postgresql amazon-ec2

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

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

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

2 个答案:

答案 0 :(得分: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教程涵盖了你想要记住的相同基本概念)

答案 1 :(得分:1)

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