文章目录
- 前言
- 一、PBS及Torque是什么?
- 二、Ubuntu22.04上Torque的安装和配置步骤
- 1. 更新系统软件包
- 2. 安装必要的软件包
- 3. 下载和安装Torque
- 4. 配置Torque
- 5. 设置环境变量
- 6. 配置和启动Torque服务
- 7. 配置计算节点
- 8. 创建队列的信息,名称 batch001
- 9. 提交测试任务
- 三、设置PBS Torque开机自动启动
- 1. 编辑rc-local.service文件
- 2. 创建并保存rc.local文件
- 3.赋予rc.local可执行权限
- 4.为rc-local.service添加软链接
- 5.使rc-local.service生效并启动
- 四、PBS Torque的使用
- 1.创建作业
- 2.提交作业
- 3.监控作业
- 4.删除作业
- 总结
- 参考资料
前言
PBS Torque作为一种开源的作业调度和资源管理系统,广泛用于高性能计算环境中。它提供了一个集中式的作业调度器,可以有效地管理计算集群中的作业,并将它们分配给可用的资源。
Torque目前最新版本为7.0.1,本文将介绍Linux Ubuntu 22.04上PBS Torque 6.1.3的安装、配置及主要使用方法。
一、PBS及Torque是什么?
PBS(Portable Batch System)最初由NASA的Ames研究中心开发,主要为了提供一个能满足异构计算网络需要的软件包,用于灵活的批处理,特别是满足高性能计算的需要,如集群系统、超级计算机和大规模并行系统。PBS的主要特点有:代码开放,免费获取;支持批处理、交互式作业和串行、多种并行作业,如MPI、 PVM、HPF、MPL;PBS是功能最为齐全, 历史最悠久, 支持最广泛的本地集群调度器之一。
PBS的目前包括openPBS, PBS Pro和Torque三个主要分支. 其中OpenPBS是最早的PBS系统, 目前已经没有太多后续开发, PBS pro是PBS的商业版本, 功能最为丰富. Torque是Clustering公司接过了OpenPBS, 并给与后续支持的一个开源版本。
PBS Torque作为一种开源的作业调度和资源管理系统,广泛用于高性能计算环境中。它提供了一个集中式的作业调度器,可以有效地管理计算集群中的作业,并将它们分配给可用的资源。
PBS Torque的主要特点包括:
- 高度可伸缩性:它可以支持从几台机器到上千台机器的集群规模,并可以动态地扩展和收缩。这使得它非常适合于大规模的高性能计算环境。
- 灵活的作业调度:PBS Torque根据作业的优先级和资源需求,自动调度和分配作业给可用的计算节点。它提供了各种调度策略和调度器插件,以满足不同的需求。
- 多用户支持:PBS Torque可以同时管理多个用户的作业,并为每个用户提供独立的计算资源。它还可以实施配额和限制,以确保公平分配计算资源。
- 弹性资源管理:PBS Torque可以管理多种类型的计算资源,包括CPU、内存、存储和网络带宽等。它可以根据作业的需求动态分配和管理这些资源。
- 作业监控和管理:PBS Torque提供了详细的作业监控和管理功能,包括作业状态查询、错误日志分析和资源利用统计等。这些功能有助于用户了解作业的执行情况和集群的利用率。
总的来说,PBS Torque是一个功能强大且灵活的作业调度和资源管理系统,可以有效地管理大规模的高性能计算环境。它已经被广泛应用于学术界和工业界,成为许多超级计算机和集群系统的首选作业调度器。
Torque目前最新版本为7.0.1,本文将介绍Linux Ubuntu 22.04下PBS Torque 6.1.3的安装、配置及主要使用方法。
二、Ubuntu22.04上Torque的安装和配置步骤
在Ubuntu上安装Torque可以按照以下步骤进行:
1. 更新系统软件包
sudo apt update
sudo apt upgrade
2. 安装必要的软件包
sudo apt install build-essential libssl-dev libxml2-dev libboost-all-dev libz-dev liblzma-dev libevent-dev libsqlite3-dev libmysqld-dev mysql-client mysql-server libmunge-dev libmunge2
3. 下载和安装Torque
首先,从Torque项目的官方网站下载Torque源代码包。可以使用如下命令下载最新版本:
wget http://wpfilebase.s3.amazonaws.com/torque/torque-6.1.3.tar.gz
接下来,解压下载的源代码包:
tar -xvzf torque-6.1.3.tar.gz
cd torque-6.1.3
然后,配置和编译Torque:
./configure --disable-gui --prefix=$HOME/app/torque-6.1.3 --disable-gcc-warnings
make -j8 CFLAGS='-fpermissive'
configure由于gcc warning中断,可加入–disable-gcc-warnings
最后,使用以下命令进行安装,其中需要使用root权限,创建/var/spool/torque文件夹:
sudo make install
4. 配置Torque
首先,创建必要的目录:
sudo mkdir -p /var/spool/torque/mom_priv
sudo mkdir -p /var/spool/torque/server_priv
然后,使用以下命令生成Torque配置文件及添加启动项:
sudo cp contrib/init.d/pbs_mom /etc/init.d/pbs_mom
sudo cp contrib/init.d/pbs_server /etc/init.d/pbs_server
sudo cp contrib/init.d/trqauthd /etc/init.d/trqauthd
sudo cp contrib/init.d/pbs_sched /etc/init.d/pbs_schedsudo cp contrib/systemd/pbs_mom.service /etc/systemd/system/
sudo cp contrib/systemd/pbs_server.service /etc/systemd/system/
sudo cp contrib/systemd/trqauthd.service /etc/systemd/system/
sudo cp contrib/systemd/pbs_sched.service /etc/systemd/system/sudo chmod +x /etc/init.d/pbs_*
sudo chmod +x /etc/init.d/trqauthd
sudo chmod +x /etc/systemd/system/pbs_*
sudo chmod +x /etc/systemd/system/trqauthd.servicesudo update-rc.d pbs_mom defaults
sudo update-rc.d pbs_server defaults
sudo update-rc.d pbs_sched defaults
sudo update-rc.d trqauthd defaults
接下来,编辑/etc/hosts
文件,添加主机名和IP地址的映射:(对于计算节点nodes同样需要设置)
sudo vim /etc/hosts
在文件中添加类似以下内容,只需要添加第二行对应的信息:ip_address可由ifconfig查看,hostname命令查看hostname
127.0.0.1 localhost
<ip_address> <hostname>
5. 设置环境变量
切换到root,打开profile:
su root
vim /etc/profile
添加以下内容:
export PATH=$HOME/app/torque-6.1.3/bin:$PATH
export PATH=$HOME/app/torque-6.1.3/sbin:$PATH
export LD_LIBRARY_PATH=$HOME/app/torque-6.1.3/lib:$LD_LIBRARY_PATH
生效
source /etc/profile
6. 配置和启动Torque服务
首先,编辑/var/spool/torque/mom_priv/config文件,添加以下内容:
pbsserver <主节点主机名>
然后,编辑/var/spool/torque/server_priv/nodes文件,添加各个节点的主机名和CPU数量,例如:
<node1> np=<CPU数量> gpus=<GPU数量>
<node2> np=<CPU数量> gpus=<GPU数量>
...
接下来,编辑/var/spool/torque/server_name文件,添加主节点主机名。
<主节点主机名>
最后,启动Torque服务:
sudo service pbs_mom start
sudo service pbs_server start
sudo service pbs_sched start
sudo service trqauthd start
7. 配置计算节点
pbs_mom.service 拷贝到所有子节 点上相同的位置:node1, node2,并在所有子节点上执行:
scp contrib/systemd/pbs_mom.service node1:/usr/lib/systemd/system/
chmod 754 /usr/lib/systemd/system/pbs_mom.service
systemctl enable pbs_mom.service
systemctl start pbs_mom.service
重启服务
sudo su
for i in trqauthd pbs_server pbs_sched pbs_mom ; do service $i restart; done
exit
检查PBS,显示类似如下信息。
ps -e | grep pbs
以上如果没有错误提示,Torque已经在Ubuntu上安装好了并配置好了。接下来可以使用Torque命令行工具来管理和监控作业。
8. 创建队列的信息,名称 batch001
su root
qmgr -c 'create queue batch001'
qmgr -c 'set queue batch001 queue_type= execution'
qmgr -c 'set queue batch001 started= true'
qmgr -c 'set queue batch001 enabled= true'
qmgr -c 'set queue batch001 resources_default.nodes= 1'
qmgr -c "set queue batch001 resources_max.ncpus=12" #12为队列最大允许的cpu核数
qmgr -c "set queue batch001 resources_default.walltime = 1000:00:00" #1000为队列默认时长
qmgr -c 'set server default_queue= batch001'
qmgr -c 'set server scheduling=true'
qmgr -c "set server query_other_jobs =True"
输入qnodes, 查看节点信息。
9. 提交测试任务
echo sleep 60 | qsub
输入qstat -a命令可以查看任务详情。
三、设置PBS Torque开机自动启动
1. 编辑rc-local.service文件
sudo vim /lib/systemd/system/rc-local.service
打开rc-local.service文件之后在最后添加如下代码
[Install]
WantedBy=multi-user.target
Alias=rc-local.service
2. 创建并保存rc.local文件
sudo vim /etc/rc.local
打开rc.local文件之后添加如下代码
#!/bin/bash
systemctl start pbs_server.service
systemctl start pbs_sched.service
systemctl start pbs_mom.service
systemctl start trqauthd
3.赋予rc.local可执行权限
sudo chmod +x /etc/rc.local
4.为rc-local.service添加软链接
sudo ln -s /lib/systemd/system/rc-local.service /etc/systemd/system/
5.使rc-local.service生效并启动
sudo systemctl enable rc-local
sudo systemctl start rc-local.service #启动服务
# sudo systemctl stop rc-local.service #暂停服务
# sudo systemctl status rc-local.service #查看状态
# sudo systemctl daemon-reload # 重新加载自启服务
四、PBS Torque的使用
1.创建作业
使用PBS Torque提交作业之前,需要创建一个作业脚本。作业脚本是一个包含作业信息的文本文件,用于告诉PBS Torque如何运行作业。作业脚本通常使用PBS的命令行工具qsub
提交。
以下是一个示例作业脚本:
#!/bin/bash
#PBS -N MyJob
#PBS -l nodes=1:ppn=4
#PBS -l walltime=1:00:00mpirun -np 4 echo "Hello, PBS Torque"
在上面的示例中,作业名称是MyJob
,使用了1个节点和4个进程,并设置了最长运行时间为1小时。使用mpirun
命令运行作业中的程序。
2.提交作业
将作业脚本保存为job.sh
文件,并使用qsub
命令提交作业:
qsub job.sh
作业将被提交到PBS Torque队列中,等待调度和执行。
3.监控作业
可以使用qstat
命令来查看作业的状态和进度。例如,使用以下命令查看所有作业的状态:
qstat -a
4.删除作业
如果需要删除已经提交的作业,可以使用qdel
命令并指定作业的ID:
qdel job_id
总结
以上是PBS Torque 6.1.3在Ubuntu22.04上的安装、基本配置和使用方法。
根据具体需求,可以参考PBS Torque的官方文档和用户手册,进一步学习PBS Torque的高级功能和配置选项以获取更详细的信息。
参考资料
- https://blog.csdn.net/qq_29684215/article/details/116603489
- https://blog.csdn.net/r1141207831/article/details/125262556