所以我正在使用Slurm在HPC群集上运行。我已经获得了所需的节点(salloc --nodes = 16 -t08:00:00 --qos = interactive)。是否有一种方法可以在我打开的jupyter笔记本上运行dask,并链接所有这些节点,而不必等待dask_jobqueue.SLURMCluster()来获取所有新节点?
还可以为SLURMCluster()例程添加“ --qos = interactive)吗?
谢谢
更多信息:我通过ssh访问hpc前端。接下来,我使用以下命令获取计算机上的节点:salloc --nodes = 16 -t08:00:00 --qos =交互式然后我启动一个笔记本:jupyter笔记本--no-browser --port = 9999接下来,我将ssh隧道导入笔记本:ssh -4 -t -L 9999:localhost:9999 [email protected] ssh -t -L 9999:localhost:9999 yy-vv ssh -L 9999:localhost:9999节点名然后,我将jupyter笔记本链接加载到浏览器中,并且当前在笔记本中。
我想做的是在大型图像阵列上进行并行处理。当我在笔记本电脑上时,我只想将其链接到我已经获取的其他15个节点,因此不必从dask_jobqueue运行SLURMCluster命令并等待获取所有新节点。主要原因是我使用--qos = interactive可以更快地获得节点,但我无法(我认为)在dask中使用此选项
dask-ssh
命令正是针对您的用例创建的。请按照那里的说明进行操作。
或者,您可以将情况视为“裸机”,并自行决定要由哪个节点托管您的调度程序-在该节点上执行dask-ssh
-在其他节点上执行dask-scheduler
,给出调度程序的地址。您需要在笔记本中的dask-worker
中使用相同的调度程序地址。
请注意每个可执行文件正在使用的网络接口,如在HPC环境中,您通常有多种选择。