$ salloc -N 1 --cpus-per-task=4 -t 5:00 -p cpu
执行成功后,SLURM 会给你一个新的 Shell,注意此时用户所在节点仍为主节点,需要
使用
ssh
命令手动切换到计算节点。
[liuhy@admin playground]$ salloc -N 1 --cpus-per-task=4 -t 5:00 -p cpu
salloc: Granted job allocation 39
salloc: Waiting for resource configuration
salloc: Nodes comput1 are ready for job
[liuhy@admin playground]$ ssh comput1 # 这就是 salloc 分配的新 shell
Last login: Fri Jan 19 10:20:32 2018 from admin
[liuhy@comput1 ~]$
如上所示,执行
salloc
后,SLURM 会自动分配作业号并通知哪个节点是可用的。成功
获取资源后,你会获得一个新的 Shell(Line 5),此时用户可以直接切换到目标节点
comput1 执行运算任务。
交互式计算使用完毕后,先使用
exit
退出节点,再执行
exit
退出 SLURM 分配
的 Shell,可结束这次交互式任务。SLURM 会提示你交互式任务的资源已经被释放。
[liuhy@comput1 ~]$ exit # 这一步是退出 comput1
logout
Connection to comput1 closed.
[liuhy@admin playground]$ exit # 这一步是退出 salloc 分配的 shell
salloc: Relinquishing job allocation 39 # 退出的同时也释放了资源
用户会重新回到 admin 下进行操作。
如果在执行交互式任务时超出了申请的最大运行时间,SLURM 会在超时 30 秒后强制
回收已经申请的资源。
[liuhy@comput1 ~]$ salloc: Job 40 has exceeded its time limit and its allocation has been revoked.
启用 X11
交互式模式下可以启动 X11 Forwarding,这为用户的调试提供了更大的方便。为此,
首先确保你在登录 admin 的时候开启了 X11 Forwarding。然后在切换到计算节点的时候
指定
-Y
选项即可。
备注:SLURM 强制使用受信任的 X11 转发,因此 -X 选项不适用
$ ssh comput1 -Y
其中
comput1
需要替换成实际被分配的节点名。进入交互式计算模式后,可以试着
打开一些带有图形界面的程序进行测试,例如 firefox 或者 MATLAB 等。
以上方法适用于 Linux 系统。Mac 和 Windows 系统的使用方法还在编写中。
如果
salloc
命令无响应,可能是目前所剩计算资源小于申请的资源,需要检查
你的填写参数或等计算任务少的时候再试。
原则上 admin 节点只能进行登录,修改文件,编译程序等任务。严禁在 admin 节点上
直接运行需要大量运算的程序。管理员有权在不经过用户同意的情况下强行中止长时间运
行在 admin 的大型程序(占用较多 CPU 或者内存的程序)。