slurm与pbs对比

[liupei@cg 2zk]$ cat sub.slurm 
#!/bin/bash
#SBATCH -J gf1cnn				#作业名是 gf1cnn
#SBATCH -p v3_ib				#提交到 v3_ib 分区
#SBATCH -N 1					#使用一个节点
#SBATCH -n 1					#cpu数
#SBATCH --cpus-per-task 24		#每个进程占用24个cpu核心
#SBATCH --gres=gpu:1			#申请1块gpu
#SBATCH -o gf1cnn.out 		#将屏幕输出结果保存到当前文件夹的 gf1cnn.out 

source activate cnn			#切换python环境
./run_bass.sh 13			#执行我的 ./run_bass.sh 程序 

slurm并行超算

查看模块

# 载入远程复制 module
module load papp_cloud/2.6.18/2.6.18-cjj
# 载入预装的 python module
module load anaconda/3-Python3.6.5-fgl
# 查看可用 module
module avail 或 module avail anaconda 
# 查看分区 
sinfo 

并行的slurm脚本

#!/bin/bash
#SBATCH -p v3_ib
#SBATCH -N 1
#SBATCH -n 1
#SBATCH -c 24
    
#srun matlab <testCascade.m
matlab -nodisplay < matlab_parfor.m

参考文献:CHICAGO

作业操作

说明 SLURM PBS
提交作业脚本 sbatch run.slurm qsub run.pbs
查看作业状态 squeue qstat
追踪作业 scontrol show job 1234
取消作业 scancel 1234 qdel 1234

作业/节点详细信息查询-scontrol

  1. 查看分区信息
    scontrol show partition 节点名称
    scontrol show partition debug
  2. 查看节点信息
    scontrol show node 节点名称
    scontrol show node comput1
  3. 查看作业信息
    scontrol show job 作业ID
    scontrol show job 15
  4. 删除作业
    scancel 作业ID
    scancel 15

参考文献

pbs系统命令

北京大学的 HPC 教程,REF

pbs常用命令

qsub a.pbs    # 提交作业a
qstat -an     # 列出队列中所有作业及其分配的节点
qstat -q      # 查看所有队列
qstat -Q	  # 列出队列的一些限制信息
qstat -Qf bdog # 列粗指定队列的所有信息
pestat        # 查看当前所有节点的占用状态
            # excl 所有cpu已被占用
        # busy cpu已接近满负荷运行
        # free 部分或全部cpu空闲
        # offl 管理员手动指定离线状态

查看当前所有任务的运行状态

qstat         # 可以查看当前所有任务的运行状态
ch_cumtlp3@mgr:~> qstat 
Job ID        Name       User     Time Use  S  Queue
----------  --------  --------- -------------------
375817.mgr  600470   ch_cumtlp3  155:47:3  R    l     

作业 375817 在节点 mgr 上运行,作业名称 600470

pbs脚本配置

-N name:作业名,限15 个字符,首字符为字母,无空格
-o path:重定向标准输出到path
-l resource_list:定义资源列表。
   nodes=N:ppn=M:请求N个结点,每个结点M个处理器。 
   mem  =N[K|M|G][B|W]:请求N大小的内存。
   cput =N:请求N秒CPU时间;N也可以是hh:mm:ss形式。
-m mail_options:给用户发信;a(作业abort), b(作业开始运行发信);e(作业结束时发信)。若无此选项,默认为a。
-M user_list:定义发给哪些用户,有关此作业的mail

pbs作业例子

#!/bin/sh
#PBS -N rfrk  
#PBS -j oe   # out put file
#PBS -l nodes=1:ppn=32
#PBS -q l
#PBS -m be
#PBS -M cumtlp@qq.com 
cd $PBS_O_WORKDIR   

/public3/home/ch_cumtlp3/installed/app/matlab/r2019b/bin/matlab -nodesktop -nosplash -nojvm \
-r "addpath('pcode');main('roi_pixel','rfrk',{'r',{[50,10,500]}}); exit;"

/public3/apps/matlab-2016b/bin/matlab -nosplash -nodesktop -nojvm \
-r "addpath('../../code/'); pbs_mlc(1:4,0.7); exit;"

pbs运行脚本

qsub test.pbs:提交作业
pbsnodes -l free:以行的行式列出空闲的节点
qstat -q:查看所有队列状态
qstat:查看作业运行状态
状态说明: E:退出; Q:排队;H:挂起; R:运行; C:结束
qstat -an:列出队列中所有作业及其分配的节点   
qstat -an 93:显示作业运行在哪些节点上
qdel 93:删除自己的作业	

ip配置hky

使用以下IP地址:

IP地址:  10.10.10.11
子网掩码:255.255.255.0
默认网关:10.10.10.254

使用以下 DNS 服务器地址:

首选DNS服务器:202.100.199.8
备用DNS服务器:202.100.192.68

static静态IP配置

  1. 修改网卡配置

cat /etc/sysconfig/network-scripts/ifcfg-ens31f0

TYPE=Ethernet
BOOTPROTO=static
NAME=ens31f0
NM_CONTROLLED=no
IPV6INIT=no
DEVICE=ens31f0
ONBOOT=yes
IPADDR=10.10.10.3
NETMASK=255.255.0.0
GATEWAY=10.10.10.254

注意:不同机子的 NAME, IPADDR 不一样

  1. 修改网关

cat /etc/sysconfig/network

# Created by anaconda
  1. 修改 DNS 配置

cat /etc/resolv.conf

nameserver 202.100.199.8
nameserver 202.100.192.68
  1. 重启网络

service network restart

参考来源:cloud.tencent.com