繁体   English   中英

Python多处理在亚马逊云实例之间进行

[英]Python multiprocessing BETWEEN Amazon cloud instances

我想在几个Amazon EC2实例上运行一个长期运行的python分析过程。 代码已经使用python multiprocessing模块运行,可以利用单台机器上的所有内核。

分析完全是parellel,每个实例不需要与任何其他实例进行通信。 所有的工作都是“基于文件的”,每个进程都可以在每个文件上进行单独工作......所以我计划在所有节点上安装相同的S3卷。

我想知道是否有人知道任何教程(或有任何建议)来设置多处理环境,所以我可以同时在任意数量的计算实例上运行它。

文档为您提供了在多台计算机上运行多处理的良好设置。 使用s3是跨ec2实例共享文件的好方法,但是通过多处理,您可以共享队列并传递数据。

如果你可以使用hadoop进行并行任务,这是一种非常好的方法来提取跨机器的并行性,但如果你需要大量的IPC,那么用多处理构建你自己的解决方案并不是那么糟糕。

只需确保将您的机器放在相同的安全组中:-)

我会用dumbo 它是Hadoop的python包装器,与Amazon Elastic MapReduce兼容。 在代码周围写一个小包装来与dumbo集成。 请注意,您可能需要一个没有缩减步骤的仅地图作业。

我最近一直在深入研究IPython,看起来它支持开箱即用的多个主机的并行处理:

http://ipython.org/ipython-doc/stable/html/parallel/index.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM