文章目录
- 引言
- 正文
- Slurm集群、节点、分区介绍
- Salloc申请节点并进入
- 查看已经申请的节点
- 终止作业
- 查看集群情况
- 退出节点
- 具体运行问题
- 无法联网问题
- 安装的包找不到
引言
- 实验室的服务器的操作指令,之前同学写的不够详细,或者说有点乱,这里做一个简单的整理,方便以后使用实验室的服务器。
- 同时这个博客并不是起到一个全面介绍的作用,主打的是一个快速开始,提交任务,直接能够跑。
- 省流:
- slurm是按照分区来组织节点,每一个节点是一个完整的计算机,所以需要制定节点和分区。
正文
Slurm集群、节点、分区介绍
-
省流,直接看图
- 申请节点需要指定分区
-
Slurm介绍:
- Slurm(Simple Linux Utility for Resource Management)是一个开源的、高度可扩展的集群管理和作业调度系统,用于在Linux集群环境中管理资源。它支持许多类型的计算,包括单任务、多任务、并行任务和管道任务,并且可以管理和调度资源使用,如CPU、内存和磁盘空间。
-
分区和节点:
- SLURM使用节点(nodes)来表示计算集群中的物理或虚拟机器,并将它们组织成一个或多个分区(partitions)。
-
分区:
- 分区(Node Partition)是指将计算集群中的节点划分为逻辑组的过程。每个分区可以包含一个或多个节点,并可以按照特定的规则或条件进行配置。这些规则可以基于节点的物理特性(例如CPU、内存、网络带宽)或节点所属的组织或用户。
-
节点列表:
- 与每个分区相关联的是节点列表(Node List)。节点列表是一个包含属于该分区的所有节点的清单。它指定了在特定分区中可用的计算资源。这样,用户可以根据其需求选择适合的分区和节点来提交任务。
-
节点:
- "节点"通常指的是集群中的一台独立的计算机。每个节点都有自己的处理器(CPU)、内存、存储设备,以及其他硬件资源,如图形处理器(GPU)。节点通过网络连接在一起,形成一个集群,可以一起处理大规模的计算任务。
Salloc申请节点并进入
-
salloc的功能介绍:申请计算节点,然后登录到申请到的计算机节点上运行指令。
-
常用参数,以这条指令salloc -p debug -N1 -n1 --gres=gpu:2 -q low -t 12:00:00为例子
- -p debug:这是指定要使用的分区(partition)。在这个例子中,你正在请求在 “debug” 分区中运行你的作业。
- -N1:这是指定要请求的节点数量。在这个例子中,你正在请求一个节点。
- -n1:这是指定每个节点上的任务数。在这个例子中,你正在每个节点上请求一个任务。
- –gres=gpu:2:这是指定要请求的通用资源(Generic Resources)。在这个例子中,你正在请求两个 GPU。
- -q low:这是指定作业的优先级。在这个例子中,你正在设置作业的优先级为 “low”。
- -t 12:00:00:这是指定作业的最大运行时间。在这个例子中,你正在设置作业的最大运行时间为 12 小时。
-
运行情况具体如下
-
进入对应的操作节点,注意,这里要输入节点序列
-
输入指令
ssh 节点名称
查看已经申请的节点
- 查看目前系统中已经申请的节点,会显示相关作业和节点的信息,包括作业ID、状态、所在分区和申请节点等,具体执行情况如下
- ST作业状态,相关参数说明
- 说明有三个节点是已经完成了任务,在等待分配,这里为了节省资源,需要将对应的人物进行终止就行。
终止作业
- 对于已经完成作业节点,需要取消或终止正在运行或排队的作业,释放资源或者终止作业执行
scancel <job_id>
- 执行效果,输入之前已经无用的三个作业。
查看集群情况
- sinfo查看当前数slurm中集群的节点分布情况
退出节点
- 直接输入exit即可,运行如下
具体运行问题
无法联网问题
- 无法安装环境,下载任何包总是显示网络问题,ping百度不通
- 注意,总共有两种状态,一种是总服务器,还有一种选择了对应的节点进行登陆。在节点是没有办法进行联网的,需要推出节点,到对应的总服务器才能进行环境安装。
安装的包找不到
- 明明已经安装了对应的包,在节点下已经激活了环境,但是还是没有办法找到对应的包。
- 这里已经安装了librosa,但是找不到对应的包
- 注意 : 这里仅仅是切换到了对应的节点上,但是对应节点只有显卡和对应的驱动,pytorch等框架,你需要自己装,然后还需要设置对应的环境。
- 输入如下的指令,把后面的东西替换成你对应的anaconda路径就行了
export LD_LIBRARY_PATH=/public/home/liuhong/hch/anaconda/lib:LD_LIBRARY_PATH
- 然后就可以找到对应的环境和包。