使用多处理模块进行集群计算

发布于 2021-01-29 19:32:27

我对使用计算机集群运行Python程序感兴趣。过去我一直在使用Python
MPI接口,但是由于在编译/安装这些接口时遇到困难,我更喜欢使用内置模块(例如Python的多处理模块)的解决方案。

我真正想做的就是设置一个multiprocessing.Pool跨整个计算机集群的实例,并运行一个Pool.map(...)。这是可能/容易做到的事情吗?

如果这不可能,那么我至少希望能够Process从中央脚本在每个节点上为每个节点使用不同参数来启动实例。

关注者
0
被浏览
46
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    如果通过集群计算来表示分布式存储系统(多个节点而不是SMP),那么Python的多重处理可能不是合适的选择。它可以产生多个进程,但它们仍将绑定在单个节点内。

    您将需要一个框架来处理跨多个节点的进程,并为处理器之间的通信提供一种机制。(几乎是MPI所做的)。

    有关有助于集群计算的框架列表,请参见Python
    wiki
    上的“并行处理”页面。

    从列表中看ppjugpyrocelery似乎是明智的选择,尽管由于我对它们中的任何一个都没有经验(我主要使用MPI),所以我不能亲自担保。

    如果安装/使用的简便性很重要,那么我将从探索开始jug。它易于安装支持常见的批处理群集系统,并且文件记录良好



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看