Linux搭建Slurm和pbs单机版

news/2025/1/18 19:54:12/文章来源:https://www.cnblogs.com/testing-/p/18661016

Slurm

Slurm 是高性能计算集群的出色工作调度工具。此外,当你需要同时运行多个程序并将它们排成队列,同时确保计算机或服务器不超载时,它也是本地台式机或单台服务器上的重要工具。此外,在与其他用户共享服务器或需要通宵或连续数周运行多个工作时,它也非常有用!在这里,我将向你展示如何在使用 ubuntu单台机器上快速设置 slurm。你将不再需要为运行多个程序而编写杂乱无章的脚本,以避免超出硬件限制或与同事争论谁的程序先运行。

让我们先用 apt 安装,对于基本的单机设置,只需要控制守护程序 slurmctld 和计算节点守护程序 slurmd 这两个软件包:

$ sudo apt update -y
$ sudo apt install slurmd slurmctld -y

接下来,我们需要创建 slurm.conf 文件,配置 slurm 队列的设置方式。这里我们使用一个非常简单的文件:(请根据你的机器规格调整 COMPUTE NODES 部分,例如,如果你有 10 个内核 CPU=10,内存为 32000MB RealMemory=32000 .

# slurm.conf file generated by configurator.html.
# Put this file on all nodes of your cluster.
# See the slurm.conf man page for more information.
#
ClusterName=localcluster
SlurmctldHost=localhost
MpiDefault=none
ProctrackType=proctrack/linuxproc
ReturnToService=2
SlurmctldPidFile=/var/run/slurmctld.pid
SlurmctldPort=6817
SlurmdPidFile=/var/run/slurmd.pid
SlurmdPort=6818
SlurmdSpoolDir=/var/lib/slurm-llnl/slurmd
SlurmUser=slurm
StateSaveLocation=/var/lib/slurm-llnl/slurmctld
SwitchType=switch/none
TaskPlugin=task/none
#
# TIMERS
InactiveLimit=0
KillWait=30
MinJobAge=300
SlurmctldTimeout=120
SlurmdTimeout=300
Waittime=0
# SCHEDULING
SchedulerType=sched/backfill
SelectType=select/cons_tres
SelectTypeParameters=CR_Core
#
#AccountingStoragePort=
AccountingStorageType=accounting_storage/none
JobCompType=jobcomp/none
JobAcctGatherFrequency=30
JobAcctGatherType=jobacct_gather/none
SlurmctldDebug=info
SlurmctldLogFile=/var/log/slurm-llnl/slurmctld.log
SlurmdDebug=info
SlurmdLogFile=/var/log/slurm-llnl/slurmd.log
#
# COMPUTE NODES
NodeName=localhost CPUs=1 RealMemory=500 State=UNKNOWN
PartitionName=LocalQ Nodes=ALL Default=YES MaxTime=INFINITE State=UP
# chmod 755 /etc/slurm-llnl/

现在让我们用 systemd 启动 slurm:

$ sudo systemctl start slurmctld
$ sudo systemctl start slurmd

最后,将机器设置为空闲状态,以便开始排队等待作业:

$ sudo scontrol update nodename=localhost state=idle
$ sinfo
partition avail timelimit nodes state nodelist
LocalQ* up infinite 1 idle localhost

如果成功,您就看到了上面的内容,很好,您已经启动并运行了 slurm。您现在有了一个名为 LocalQ 的队列(或 slurm 行话中的 “分区”),可以向其提交工作。如果遇到任何问题,可以查看 /var/log/slurm-llnl/slurmd.log 和 /var/log/slurm-llnl/slurmctld.log 中的日志进行调试。

现在,您已经有了一个正常运行的 slurm 队列,如果需要更改配置,只需编辑 slurm.conf,然后通过 systemd 重启 slurmctld 和 slurmd 即可。关于如何使用 slurm 的更多信息,网上有很多文章。只需谷歌搜索 “如何向 slurm 提交作业”,或访问 slurm 网站。

参考资料

  • 软件测试精品书籍文档下载持续更新 https://github.com/china-testing/python-testing-examples 请点赞,谢谢!
  • 本文涉及的python测试开发库 谢谢点赞! https://github.com/china-testing/python_cn_resouce
  • python精品书籍下载 https://github.com/china-testing/python_cn_resouce/blob/main/python_good_books.md
  • Linux精品书籍下载 https://www.cnblogs.com/testing-/p/17438558.html
  • https://github.com/Artlands/Install-Slurm
  • https://drtailor.medium.com/how-to-setup-slurm-on-ubuntu-20-04-for-single-node-work-scheduling-6cc909574365
  • https://drtailor.medium.com/how-to-quickly-set-up-openpbs-on-ubuntu-20-04-for-single-node-workload-scheduling-704140d074e8
  • https://slurm.schedmd.com/documentation.html
  • https://github.com/openpbs/openpbs/blob/master/INSTALL
  • https://medium.com/@satishdotpatel/setup-slurm-web-for-slurm-hpc-clusters-13a9873094a1

OpenPBS

OpenPBS 是高性能计算集群的工作调度工具。此外,当你需要同时运行多个程序并将它们排成队列,同时确保计算机或服务器不超载时,它也是本地桌面或单台服务器上的重要工具。此外,在与其他用户共享服务器或需要通宵或连续数周运行多个工作时,它也非常有用!在这里,我将向你展示如何在使用 ubuntu 20.04单台机器上快速设置 OpenPBS 。你将不再需要为运行多个程序而编写复杂的脚本,以避免超出硬件限制或与同事争论谁的程序先运行。

  • 安装 postgresql
$ sudo apt install gcc make libtool libhwloc-dev libx11-dev \libxt-dev libedit-dev libical-dev ncurses-dev perl \postgresql-server-dev-all postgresql-contrib python3-dev tcl-dev tk-dev swig \libexpat-dev libssl-dev libxext-dev libxft-dev autoconf \automake g++
$ sudo apt install expat libedit2 postgresql python3 postgresql-contrib sendmail-bin \sudo tcl tk libical3 postgresql-server-dev-all
  • 下载 OpenPBS:

打开:https://www.openpbs.org/Download.aspx#download

点击:openpbs_23.06.06.ubuntu_20.04.zip

  • 安装OpenPBS
$ unzip openpbs_23.06.06.ubuntu_20.04.zip
$ cd openpbs_23.06.06.ubuntu_20.04
$ sudo apt install ./openpbs-server_23.06.06-1_amd64.deb ./openpbs-devel_23.06.06-1_amd64.deb ./ openpbs-debuginfo_23.06.06-1_amd64.deb
$ sudo /opt/pbs/libexec/pbs_postinstall
# 现在应将 PBS_START_MOM 的值从 0 改为 1
$ sudo vi /etc/pbs.conf 
PBS_EXEC=/opt/pbs
PBS_SERVER=noteboo
PBS_START_SERVER=1
PBS_START_SCHED=1
PBS_START_COMM=1
PBS_START_MOM=1
PBS_HOME=/var/spool/pbs
PBS_CORE_LIMIT=unlimited
PBS_SCP=/usr/bin/scp
$ sudo vi /etc/hosts
172.16.36.204   noteboo localhost
$ sudo chmod 4755 /opt/pbs/sbin/pbs_iff /opt/pbs/sbin/pbs_rcp
$ sudo systemctl start pbs.service
  • 验证
    现在,让我们使用 pbsnode -a 命令确认一切正常,本地计算机已注册到 PBS:
$ . /etc/profile.d/pbs.sh
$ qstat -B
Server             Max   Tot   Que   Run   Hld   Wat   Trn   Ext Status
---------------- ----- ----- ----- ----- ----- ----- ----- ----- -----------
noteboo              0     0     0     0     0     0     0     0 Active
$ pbsnodes -a
notebooMom = noteboontype = PBSstate = freepcpus = 16resources_available.arch = linuxresources_available.host = notebooresources_available.mem = 16052476kbresources_available.ncpus = 16resources_available.vnode = notebooresources_assigned.accelerator_memory = 0kbresources_assigned.hbmem = 0kbresources_assigned.mem = 0kbresources_assigned.naccelerators = 0resources_assigned.ncpus = 0resources_assigned.vmem = 0kbresv_enable = Truesharing = default_sharedlicense = llast_state_change_time = Sat Jan 18 14:16:17 2025last_used_time = Sat Jan 18 14:21:57 2025$ echo "sleep 60" | qsub
2.noteboo
$ qstat -anoteboo:Req'd  Req'd   Elap
Job ID          Username Queue    Jobname    SessID NDS TSK Memory Time  S Time
--------------- -------- -------- ---------- ------ --- --- ------ ----- - -----
2.noteboo       andrew   workq    STDIN      162200   1   1    --    --  R 00:00

现在您的服务器上已经有了一个正常运行的 OpenPBS 队列系统。如果您想通过 PBS 脚本提交作业,只需在谷歌上搜索 PBS 提交脚本示例,就会出现大量指南/示例。可在OpenPBS主页,了解更多信息 https://www.openpbs.org。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java游戏源码:天天酷跑+大学生学习源码

学习java朋友们,福利来了,今天小编给大家带来了一款天天酷跑源码。注意:此源码仅供学习使用!!视频演示 https://githubs.xyz/show/209.mp4 源码搭建和讲解 代码采用原生java类库编写, 利用java swing作为界面框架,完整源码获取地址: gitee.com/hadluo/java_game01.git 启…

2024春秋杯冬季赛day2writeup_cyi

2024春秋杯冬季赛day2 misc wp 解题过程 misc Weevils Whisper 操作内容: 筛选http流,一开始就把马上传了搜索可知这是weevely的webshell 这篇讲的很详细了 https://xz.aliyun.com/t/11246?time__1311=Cq0xRD0Q0QD%3DdGNeeeqk75YitmczLbD#toc-5 拿了这篇的解密脚本 https:/…

长期更新IntelliJ IDEA安装永久破解教程

IntelliJ IDEA版本亲测IntelliJ IDEA 2024.3.2 ✔ IntelliJ IDEA 2024.3.1 ✔ IntelliJ IDEA 2024.2.* ✔ 介绍 JetBrains是一家专注于创建智能开发工具的前沿软件公司, 旗下常用的软件有IntelliJ IDEA、PhpStorm、PyCharm、Rider、RubyMine、RustRover、WebStorm、Goland、CLi…

5k之力!!!

卡了不知道多少页...(

长期更新IDEA安装永久破解教程

IntelliJ IDEA版本亲测Version 2024.3.2 ✔ Version 2024.3.1 ✔ Version 2024.2.* ✔ 介绍 JetBrains是一家专注于创建智能开发工具的前沿软件公司, 旗下常用的软件有IntelliJ IDEA、PhpStorm、PyCharm、Rider、RubyMine、RustRover、WebStorm、Goland、CLion等。 IntelliJ ID…

windows hyper-v 虚拟机 虚拟磁盘链无法访问 父级虚拟硬盘的标识符和差异磁盘的标识符不匹配 解决方法

参考链接:修复链断裂的虚拟磁盘 - 知乎 报错信息:试了很多方法没有找到合适的方案, 上图中的编辑按钮是灰色,解决方法,点击浏览,随便选一个可选项,选中后,编辑按钮就可用了 然后点击浏览,再把原来的虚拟硬盘重新选回来,这时候,你会发现编辑已经可用了,这个是有点气…

hadoop--mapreduce--Slider

https://incubator.apache.org/projects/slider.html

python 的版本、依赖包、虚拟环境管理

如何对 python 进行版本,依赖包的管理我并不是 python 开发者,但突然对这个话题感兴趣,所以就和 AI 聊了起来,以下是一些聊天笔记。 注意,这里可能有部分内容是过时或者错误的,以官方文档或者实际效果为准。在电脑上安装 python 之后,就可以直接在控制台执行 python 脚本…

How Far Are We to GPT-4V? Closing the Gap to Commercial Multimodal Models with Open-Source Suites

InternVL1.5: 更强的视觉编码器,动态处理高分辨率图像,高质量的双语数据集。主要内容 对标商业模型,提出InternVL1.5。更强的视觉编码器(InternViT-6B),动态处理高分辨率图像(将图像分成448*448的tails,最高支持4K分辨率),高质量的双语数据集(显著提高了OCR和中文相…

在ByteTrack中使用DanceTrack数据集

从github下载DanceTrack项目(不包含数据集,数据集需要单独下载) git clone https://github.com/DanceTrack/DanceTrack.git修改convert_dance_to_coco.py中数据集的位置,然后运行,将数据集格式转化为coco格式将DanceTrack中ByteTrack中的相关文件拷贝到ByteTrack项目中 Danc…

EdgeRunner

WSL2配置代理 - Sherioc - 博客园 EdgeRunner论文解读环境配置显示报错是FlashAttention需要CUDA 11.7及以上版本。 之前FriNet是CUDA 11.1,重新装了CUDA 11.8(并且已经改好设置),但是还是构建失败。 2025/1/18,又能构建了……(very slow)代码 首先注意到了License 1、l…

1月15日证书来啦!工信部人才交流中心PostgreSQL中级/高级认证

恭喜在2024年11月参加工信部人才交流中心PostgreSQL管理员PG中级和PG高级认证考试的各位同学,之前已经能够查到电子版的证书,现在纸质版证书也到啦! 部分学员电子证书:部分学员纸质证书:............ 为什么选择工信人才PostgreSQL认证: 发证机构:工信部人才交流中心属于…