Python计算集群

8 投票
7 回答
19188 浏览
提问于 2025-04-15 15:15

有没有可能通过写一个telnet服务器来创建一个Python集群,然后通过telnet来发送命令和接收输出呢?有没有人有更好的想法来搭建一个Python计算集群?
另外,如果有人知道的话,最好是针对Python 3.x的。

7 个回答

5

看看这些资源

http://www.parallelpython.com/

http://pyro.sourceforge.net/

我用过这两个,它们都非常适合分布式计算。
想要更详细的选项列表,可以查看 http://wiki.python.org/moin/ParallelProcessing

如果你想在远程机器上自动执行一些操作,ssh是比telnet更好的选择,具体可以参考http://pydsh.sourceforge.net/

15

你可以在这里看到大部分适用于Python 3的第三方包。与集群计算相关的有mpi4py。大多数其他分布式计算工具,比如pyro,目前仍然只支持Python 2。不过,MPI是集群分布式计算的一个主要标准,值得关注(我自己还没有用Python 3试过mpi4py,但听说它的实现还不错)。

另一个主要的选择是Python自带的multiprocessing模块。如果你不想和遵循MPI标准但可能不是用Python编写的现有节点进行交互,这个模块也能很好地扩展。

自己重新开发一个工具其实没有太大必要(正如Atwood所说,不要重复造轮子,除非你只是想更好地理解轮子!)——使用那些已经经过测试、调试和优化的成熟解决方案,省心又省力!

17

Python的维基网站上有一个非常全面的列表,里面列出了很多关于Python集群计算的库和工具。如果你对并行处理感兴趣,可以特别看看Parallel Python

补充:最近有一个新的库,我觉得在集群方面特别好用:execnet。这个库小巧简单,而且看起来比标准的multiprocessing模块更少出现错误。

撰写回答