4

在听说科学计算项目(碰巧是这里描述的随机牵引成像方法)后,我目前正在为一名调查员竞选需要 4 个月的时间在我们的 50 节点集群上,调查员要求我检查其他选项。该项目目前正在使用并行 python 将 4d 数组的块分配给不同的集群节点,并将处理后的块重新组合在一起。

我目前正在处理的工作可能过于粗粒度,(5 秒到 10 分钟,我不得不增加并行 python 中的超时默认值),我估计我可以通过重写它来加快 2-4 倍的过程为了更好地利用资源(拆分和重新组合数据花费的时间太长,也应该并行化)。大部分工作由 numpy 数组完成。

假设 2-4 次是不够的,我决定从我们的本地硬件中获取代码。对于像这样的高吞吐量计算,我的商业选择是什么?我需要如何修改代码?

4

2 回答 2

6

您可能对PiCloud感兴趣。我从未使用过它,但他们的报价显然包括Enthought Python Distribution,它涵盖了标准科学库。

很难说这是否适用于您的特定情况,但 Parallel Python 接口非常通用。所以希望不需要太多的改变。也许你甚至可以编写一个自定义的调度器类(实现与 PP 相同的接口)。实际上,这可能对很多人有用,所以也许你可以在 PP 论坛中获得一些支持。

于 2011-02-10T17:50:22.043 回答
2

想到的最明显的商业选择是 Amazon EC2 和 Rackspace Cloud。我都玩过,发现 Rackspace API 更容易使用。

好消息是,您可以以很少的投资(通常为 0.10 美元/小时左右)制作原型并使用他们的计算实例(您选择的操作系统的短期或长期虚拟机)。您可以按需创建它们,然后在完成后将它们释放回云端,并且只需为您使用的内容付费。例如,我看到了一个使用 6 个 Rackspace 实例部署 Django 的演示,这可能需要一个小时,而演讲者的成本不到 1 美元。

对于您的用例(不清楚您所说的“高吞吐量”究竟是什么意思),您将不得不查看您的预算和计算需求,以及您的总网络吞吐量(您也为此付费)。一些小规模的测试和一个简单的电子表格计算应该会告诉你它是否真的实用。

Rackspace Cloud 和 Amazon EC2 都有 Python API。无论您使用哪种,我都推荐基于 python 的 Fabric 来自动部署和配置您的实例。

于 2011-02-10T17:47:49.863 回答