gpt4 book ai didi

python - IPython 并行计算与用于集群计算的 pyzmq

转载 作者:行者123 更新时间:2023-11-28 19:21:01 24 4
gpt4 key购买 nike

我目前正在研究一些用 C 编写的模拟代码,这些代码在不同的远程机器上运行。当 C 部分完成后,我想通过使用 python 模拟 api 和某种作业队列系统扩展它来简化我的工作,它应该执行以下操作:

1.指定一组应该执行模拟的参数,并将它们放入主机上的队列中

2.由 worker 在远程机器上进行模拟

3.返回结果给上位机

我查看了完成此任务的不同框架,我的第一选择归结为 IPython.parallel。我查看了文档,从我测试的内容来看,它似乎非常容易使用。我的方法是使用负载平衡 View ,如

中所述

http://ipython.org/ipython-doc/dev/parallel/parallel_task.html#creating-a-loadbalancedview-instance

但我没有看到的是:

  • 会发生什么,即如果 ipcontroller 崩溃,我的作业队列是否消失了?
  • 如果远程机器崩溃了怎么办?有某种错误处理吗?

由于我运行的模拟时间相对较长(1-2 周),所以我不希望我的模拟在系统的某些部分崩溃时失败。那么在 IPython.parallel 中是否有某种方法可以处理这个问题?

我的第二种方法是使用 pyzmq 并从头开始实现作业系统。在这种情况下,什么是最好的 zmq 模式?

最后但同样重要的是,对于这种情况是否有更好的框架?

最佳答案

隐藏在幕后的是关于如何将工作包流与(并行化的)数字处理管道一起安排的更复杂的观点。

作为许多 CPU-core-week(s) 的工作包,

作为超过几十万个 CPU 核心小时数的作业的总和,原则是相似的并且遵循常识。

主要特点

    所有 相关资源的计算性能的
  • 可扩展性(理想情况下是线性)
  • 轻松任务提交角色
  • 容错能力 已提交任务(最好具有自动 self 修复)
  • 可行访问/使用足够资源池的 TCO 成本(前期成本、经常性成本、适应成本、$peed 成本)<

解决方法

  • 基于分布式大规模并行调度程序的自愈计算引擎的自制架构

  • 重新使用可用的基于网格的计算资源

根据自己解决需要在大量参数 SetVectorSPACE 上重复运行数值密集型优化问题(无法分解为任何普通的 GPU 并行化方案)的经验,已验证选择第二种方法更有效富有成效,而不是试图耗费数十人*年的时间来重新发明轮子。

在学术环境中,人们可能会更容易地获得可接受的资源池访问权限以处理工作包,而商业实体可能会根据其可接受的预算阈值获得相同的资源池。


enter image description here

关于python - IPython 并行计算与用于集群计算的 pyzmq,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24976689/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com