Ubuntu22.04上作业调度管理软件PBS Torque的安装、配置及主要使用方法

文章目录

  • 前言
  • 一、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的主要特点包括:

  1. 高度可伸缩性:它可以支持从几台机器到上千台机器的集群规模,并可以动态地扩展和收缩。这使得它非常适合于大规模的高性能计算环境。
  2. 灵活的作业调度:PBS Torque根据作业的优先级和资源需求,自动调度和分配作业给可用的计算节点。它提供了各种调度策略和调度器插件,以满足不同的需求。
  3. 多用户支持:PBS Torque可以同时管理多个用户的作业,并为每个用户提供独立的计算资源。它还可以实施配额和限制,以确保公平分配计算资源。
  4. 弹性资源管理:PBS Torque可以管理多种类型的计算资源,包括CPU、内存、存储和网络带宽等。它可以根据作业的需求动态分配和管理这些资源。
  5. 作业监控和管理: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_sched

sudo 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.service

sudo 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:00

mpirun -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的高级功能和配置选项以获取更详细的信息。

参考资料

  1. https://blog.csdn.net/qq_29684215/article/details/116603489
  2. https://blog.csdn.net/r1141207831/article/details/125262556

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/394148.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

在ubuntu中制作ubuntu的U盘启动盘

概要&#xff1a; 本篇演示在ubuntu22.04中制作ubuntu22.04的U盘启动盘 一、下载ubuntu22.04的iso文件 访问ubuntu官网https://ubuntu.com自行下载ubuntu官网 二、制作U盘启动盘 打开系统自带软件Startup Disk Creator 软件会自动检测iso文件和U盘 点击Make Startup Disk…

五、全局scss变量定义及使用

定义 variable.scss 存放全局变量 // base color $blue:#324157; $light-blue:#3A71A8; $red:#C03639; $pink: #E65D6E; $green: #30B08F; $tiffany: #4AB7BD; $yellow:#FEC171; $panGreen: #30B08F;// 默认菜单主题风格 $base-menu-color:#bfcbd9; $base-menu-color-active:#f…

【HarmonyOS】鸿蒙开发之Text组件——第3.2章

text组件属性介绍 textAlign有三种属性start(默认),end,center Column(){//默认文字大小16Text("迪加奥特曼").width(200)Text().margin({top:10,bottom:10})Text("泰罗奥特曼").width(200).fontSize(26).fontColor(Color.Red).textAlign(TextAlign.End)…

ElasticSearch之Mapping

写在前面 本文看下es的mapping的设置。es支持两种mapping&#xff0c;一种式dynamic mapping&#xff0c;另外一种是显式的mapping设置。分别来看下。 在正式开始之前我们需要先看下es提供的字段数据类型: 1&#xff1a;dynamic mapping 我们在使用关系型数据库的时候必须…

图数据库 之 Neo4j - 应用场景1(6)

Neo4j是一种图数据库&#xff0c;它专注于处理关系数据密集型的问题。由于其图结构的特性&#xff0c;Neo4j能够高效地存储、查询和分析连接数据。 以下是一些常见的Neo4j应用场景&#xff1a; 社交网络分析&#xff1a;通过建模和分析人际关系&#xff0c;可以揭示社交网络中…

Linux-系统资源管理的命令

目录 查看CPU&#xff1a;more /proc/meminfo 查看内存数据&#xff1a;free -m / free -h 查看系统版本&#xff1a;more /etc/issue 查看操作系统的类型&#xff1a;uname -a 查看主机名称&#xff1a;hostname 查看磁盘空间&#xff1a;df -h 查看某个目录空间…

防御保护---防火墙综合实验

拓扑图 实验要求 办公区的设备可以通过电信链路和移动链路上网分公司设备可以通过总公司的移动链路和电信链路访问到DMZ区域的HTTP服务器分公司内部的客户端可以通过公网地址访问到内部的服务器FW1和FW2组成主备模式双击热备办公区上网用户限制流量不超过60M&#xff0c;其中销…

海外媒体发稿:8个提升影响力的日韩地区媒体发稿推广策略-华媒舍

在今天的数字化时代&#xff0c;媒体发稿推广成为企业和个人增加影响力的重要方式。特别是在日韩地区&#xff0c;这个拥有庞大媒体市场和活跃社交媒体用户的地区&#xff0c;正确的推广策略将对影响力的提升起到关键作用。我们将介绍8个提升影响力的日韩地区媒体发稿推广策略。…

从零开始学逆向:理解ret2syscall

1.题目信息 链接&#xff1a;https://pan.baidu.com/s/19ymHlZZmVGsJHFmmlwww0w 提取码&#xff1a;r4el 首先checksec 看一下保护机制 2.原理 ret2syscall 即控制程序执行系统调用来获取 shell 什么是系统调用&#xff1f; 操作系统提供给用户的编程接口是提供访问操作系统…

辽宁博学优晨教育科技有限公司视频剪辑培训专业之选

随着数字时代的到来&#xff0c;视频剪辑技术已成为各行各业不可或缺的一项技能。为了满足市场需求&#xff0c;辽宁博学优晨教育科技有限公司&#xff08;以下简称“博学优晨”&#xff09;推出了专业的视频剪辑培训课程&#xff0c;旨在为广大学员提供系统、高效的学习机会。…

基于 Amazon EC2 和 Amazon Systems Manager Session Manager 的堡垒机的设计和自动化实现

1. 背景 在很多企业的技术实现中&#xff0c;由于数据安全和合规性要求&#xff0c;大部分的应用服务都部署在私有云环境或专用网络中。为了满足开发人员和运维团队从本地数据中心安全访问云上资源的需求&#xff0c;采用堡垒机作为一种有效的解决方案变得尤为重要。 堡垒机的…

win家庭中文版支持远程桌面

win11家庭版不支持远程桌面&#xff0c;需要下载RDP Wrap补丁 链接&#xff1a;https://pan.baidu.com/s/1Q1MgoBB0v7_rAnR89snT_g 提取码&#xff1a;navi 一、安装RDP Wrap 1、解压RDPWrap-v1.6.2.zip&#xff0c;以管理员身份运行install.bat 2、双击RDPConf.exe&#xff…

考研证件照可以自己用手机拍吗?考研证件照p过可以通过审核吗?考研证件照有什么要求

一、考研证件照可以自己用手机拍吗 现在的智能手机相机技术先进&#xff0c;大多都配备了高像素摄像头&#xff0c;使得自拍照片的质量有了大幅提升。相较于传统的证件照拍摄&#xff0c;使用手机自拍考研证件照理论上是可行的。然而&#xff0c;考研证件照需要满足一定的规定…

鸿蒙应用模型开发-更新SDK后报错解决

更新SDK后提示 “ohos.application.Ability”/“ohos.application.AbilityStage”等模块找不到或者无相关类型声明 问题现象 更新SDK后报错“Cannot find module ‘ohos.application.AbilityStage’ or its corresponding type declarations”&#xff0c;“Cannot find modu…

Rust-知多少?

文章目录 前言1.使用下划线开头忽略未使用的变量2. 变量解构3.常量4.变量遮蔽&#xff08;shadowing&#xff09;5. 类似println!("{}", x); 为啥加感叹号6.单元类型总结 前言 Rust 学习系列&#xff0c;记录一些rust使用小技巧 1.使用下划线开头忽略未使用的变量 …

【STM32 物联网】AT指令与TCP,发送与接收数据

文章目录 前言一、连接TCP服务器1.1 配置Wifi模式1.2 连接路由器1.3 查询ESP8266设备IP地址1.4 连接TCP服务器 二、向服务器接收数据和发送数据2.1 发送数据2.2 接收数据 总结 前言 随着物联网&#xff08;IoT&#xff09;技术的迅速发展&#xff0c;越来越多的设备和系统开始…

java的泛型【详解】

定义类、接口、方法时&#xff0c;同时声明了一个或者多个类型变量&#xff08;如&#xff1a;<E>&#xff09; &#xff0c;称为泛型类、泛型接口&#xff0c;泛型方法、它们统称为泛型。 作用&#xff1a;泛型提供了在编译阶段约束所能操作的数据类型&#xff0c;并自…

Mac M1芯片编译openjdk报错问题解决

使用命令&#xff1a; sudo sh configure --with-target-bits64 用mac m1芯片编译openjdk一直报错&#xff1a; configure: The tested number of bits in the target (64) differs from the number of bits expected to be found in the target (32) configure: error: Cann…

C++ 调用js 脚本

需求&#xff1a; 使用Qt/C 调用js 脚本。Qt 调用lua 脚本性能应该是最快的&#xff0c;但是需要引入第三方库&#xff0c;虽然也不是特别麻烦&#xff0c;但是调用js脚本&#xff0c;确实内置的功能&#xff08;C 调用lua 脚本-CSDN博客&#xff09; 步骤&#xff1a; 1&…

零基础搭建 Kubernetes 集群

零基础搭建 Kubernetes 集群 1、简介 在数字化时代&#xff0c;容器技术已经变成了软件开发和部署的标准&#xff0c;而在众多容器管理工具中&#xff0c;Kubernetes&#xff08;简称为 K8s&#xff09;凭借其高效的资源管理、弹性伸缩和自我修复的能力&#xff0c;成为了行业…