因此,我正在使用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 lhovey@xxxx.lanl.gov ssh -t -L 9999:localhost:9999 yy-vv ssh -L 9999:localhost:9999节点名 然后,将jupyter笔记本链接加载到浏览器中,并且当前在笔记本中。
我想做的是对大型图像阵列进行并行处理。当我在笔记本电脑上时,我只想将其链接到我已经获取的其他15个节点,因此不必从dask_jobqueue运行SLURMCluster命令并等待获取所有新节点。主要原因是我使用--qos = interactive可以更快地获得节点,但我无法(我认为)在dask中使用此选项
答案 0 :(得分:0)
dask-ssh
命令正是针对您的用例而创建的。请按照那里的说明进行操作。
或者,您可以将情况视为“裸机”,并自行决定哪个节点将托管调度程序-在该节点上执行dask-scheduler
-在另一个节点上执行dask-worker
节点,提供调度程序的地址。您需要在笔记本中的Client
中使用相同的调度程序地址。
请注意每个可执行文件正在使用的网络接口,例如在HPC环境中,您通常有多种选择。