如何使用 dask 在 jupyter notebook 中 link 节点

How to link nodes in jupyter notebook with dask

所以我运行正在使用 Slurm 的 HPC 集群上。我已经获得了我需要的节点 (salloc --nodes=16 -t08:00:00 --qos=interactive)。有没有一种方法可以 运行 在我打开的 jupyter notebook 上进行 dask,并让所有这些节点 linked 而不必等待 dask_jobqueue.SLURMCluster() 获取所有新节点?

另外,有没有办法为 SLURMCluster() 例程添加“--qos=interactive)?

谢谢

更多信息: 我通过 ssh 访问 hpc 前端。 接下来,我通过以下方式获取机器上的节点: salloc --nodes=16 -t08:00:00 --qos=interactive 然后我开始记事本: jupyter notebook --no-browser --port=9999 接下来我通过 ssh 隧道进入笔记本: ssh -4 -t -L 9999:localhost:9999 lhovey@xxxx.lanl.gov ssh -t -L 9999:localhost:9999 yy-vv ssh -L 9999:localhost:9999 节点名 然后我将 jupyter notebook link 加载到我的浏览器中,目前在我的笔记本中。

我想做的是对大型图像阵列进行并行处理。当我在笔记本上时,我只想 link 它到我已经获得的其他 15 个节点,所以我不必 运行 来自 dask_jobqueue 的 SLURMCluster 命令并等待获得所有新节点。主要原因是我使用 --qos=interactive 可以更快地获得节点并且我无法(我认为)在 dask

中使用此选项

dask-ssh 命令专为您的用例而创建。请按照那里的说明进行操作。

或者,您可以将您的情况视为 "bare metal",并自行决定哪个节点将托管您的调度程序 - 在该节点上执行 dask-scheduler - 然后执行 dask-worker在其他节点上,给出调度程序的地址。相同的调度程序地址是您需要在笔记本中提供给 Client 的地址。

注意每个可执行文件使用的网络接口,因为在 HPC 环境中,您通常有多种选择。