代码之家  ›  专栏  ›  技术社区  ›  Bryan Ward

python并行处理库

  •  5
  • Bryan Ward  · 技术社区  · 15 年前

    巨蟒似乎有 many different packages available 在基于SMP的系统上或集群间协助并行处理。我感兴趣的是构建一个客户机-服务器系统,其中服务器维护一个作业队列,客户机(本地或远程)连接并运行作业,直到队列为空。上面列出的包中,推荐哪一个,为什么?

    编辑:特别是,我编写了一个模拟器,它接受一些输入并处理一些事情。我需要从模拟中收集足够的样本来估计用户指定的置信区间内的平均值。为了加快速度,我希望能够在许多不同的系统上运行模拟,每个系统都会在某个时间间隔向服务器报告所收集的样本。然后,服务器计算置信区间并确定客户机进程是否需要继续。在收集了足够的样本之后,服务器将终止所有客户机模拟,根据以前的结果重新配置模拟,并重复这些过程。

    由于需要在客户机和服务器进程之间进行交互,我怀疑批处理调度是否是一个可行的解决方案。对不起,我应该先说清楚。

    4 回复  |  直到 13 年前
        1
  •  2
  •   Sam Doshi    15 年前

    与某人相处 ParallelPython . 似乎很容易使用,应该提供您想要的作业和队列接口。

        2
  •  1
  •   alecf    15 年前

    现在在map/reduce框架hadoop周围还有两个不同的python包装器:

    http://code.google.com/p/happy/

    http://wiki.github.com/klbostee/dumbo

    map/reduce是一种很好的开发模式,有许多解决常见问题的方法。

    如果您还没有集群,Hadoop本身就很好,因为它有完整的作业调度、跨集群的数据自动分布(即HDF)等。

        3
  •  0
  •   janneb    15 年前

    考虑到您将您的问题标记为“科学计算”,并提到一个集群,如果目标是开发并行应用程序(从标题中可以猜到),那么某种MPI包装器似乎是显而易见的选择。然后,问题中的文本再次建议您要开发一个批处理调度程序。所以我不知道你在问什么问题。

        4
  •  0
  •   Noah    15 年前

    最简单的方法可能只是在完成时将中间样本输出到单独的文件(或数据库),并让一个进程偶尔轮询这些输出文件,以查看它们是否足够,或者是否需要提交更多的作业。