dask / dask/distributed

Hang on dask.array Program with 2 Nodes

Open
#3,157 34 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
1.7k
Forks
778
Avg merge
2h 50m
Merged PRs (30d)
3

Description

I have a very simple implementation of linear regression (attached, see below) using the dask.array interface that was working a few months ago with Dask 1.14 but I've since upgraded and now it is hanging with Dask 2.6 when I run it on two nodes. If I run on just a single node it works fine. If I go back to Dask 1.14 it also works. I always see the program run at least a few iterations (usually 4-6) before hanging. I flush all stdout calls so I know precisely how far I've made it before things hang.

I'm running on two NVIDIA DGX boxes each of which are connected by both ethernet and Infiniband (it's unclear to me which network is being used for UDP/TCP communication). Both nodes are running Ubuntu 18.04 LTS and have a shared IBM GPFS file system. I'm using python 3.6 from anaconda. I setup my Dask cluster from inside my slurm job as follows:

scontrol show hostname > hostfile.txt
dash-ssh --hostfile hostfile.txt --nthreads 8 --nprocs 1 &

where hostfile.txt contains the network names of the two nodes. I run my program as follows:

python hang_linreg.py -s 1 -i 100 -f 32 -n 100 --cluster $SLURMD_NODENAME:8786 --profile linreg_hang.html

Given that this still works with an older version of Dask, but hangs with the most recent version I'm inclined to believe that the issue is with Dask itself. Please let me know if there is additional information that I can provide to help with debugging.

[hang_linreg.txt](https://github.com/dask/distributed/files/3747644/hang_linreg.txt)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.