【发布时间】:2018-10-29 00:20:21
【问题描述】:
我有一个程序,其中每个任务都是通过 subprocess.Popen 调用 C++ 外部程序。任务以图表形式排列,一切都通过 dask get 命令执行。
我有这个程序的单节点版本,可以很好地与dask.threaded 配合使用,我正在尝试将此版本扩展到分布式设置。我的目标是在 Slurm 集群上运行它,但我无法部署工作人员。当我运行以下命令时:
screen -d -m dask-scheduler --scheduler-file scheduler.json
screen -d -m srun dask-worker --scheduler-file scheduler.json
python3 myscript.py
每个节点只使用一个核心(每个节点有 20 个核心)。
我确实怀疑 GIL 存在一些问题,但脚本在 dask.threaded 上运行得很好,所以我不太确定发生了什么,希望能提供一些帮助。
【问题讨论】:
-
您找到解决方案了吗?我正在尝试使用 PBS 集群进行分发,但只能启动一项作业(具有多个节点)。 Dask 仅在一个节点上使用核心。我发布了here。
标签: python dask slurm dask-distributed