ToB企服应用市场:ToB评测及商务社交产业平台
标题:
pbs用户手册1PBS 入门
[打印本页]
作者:
星球的眼睛
时间:
2025-2-12 09:52
标题:
pbs用户手册1PBS 入门
1 PBS 入门
PBS 将您从完成工作的繁琐过程中摆脱出来;您不须要将每项任务交给正确的机器,不须要来回复制输入和输出,也不须要等待特定的机器可用。你只需指定须要执行的任务要求,然后将任务交给 PBS 即可。PBS 会保留每个任务,直到有空位为止,然后负责将输入文件复制到执行目次,执行任务,并将输出返回给你。
PBS 会跟踪哪些硬件可用,以及所有等待和正在运行的任务。PBS 会将每个任务的要求与合适的硬件和时间段相匹配,并确保任务按照网站的策略运行。PBS 还能最大限度地提高使用率和吞吐量。
1.2 PBS任务和组件
PBS 是一个分布式工作负载管理系统(distributed workload management system)。PBS 管理和监控一台或多台计算机的计算工作量。PBS 有以下功能:
排队作业
PBS 收集要在一台或多台计算机上运行的作业(工作或任务)。用户向 PBS 提交作业,在 PBS 准备好运行作业之前,作业会被排队等候。
调度作业
PBS 根据作业要求的资源和站点管理员指定的策略,选择要运行的作业以及运行的时间和地点。PBS 允许管理员对作业进行优先排序,并以多种方式分配资源,以最大限度地提高效率和/或吞吐量。
监控作业
PBS 可跟踪系统资源、执行使用策略并报告使用情况。PBS 可跟踪作业完成情况,确保作业在系统中断的情况下仍能运行。
返回输出
PBS 会将作业输出返回到您指定的位置。
1.2.2 PBS 组件和流程
PBS 由一系列下令和系统守护进程/服务组成,如图所示:
作业提交到 PBS 服务器。调度步伐选择运行作业的时间和地点,服务器将作业发送到 MoM。PBS 下令与服务器通信。
服务器、调度步伐和通信守护进程在服务器主机上运行。执行作业的机器称为执行主机。每个执行主机都运行一个 MoM守护进程。服务器主机可运行 MoM 守护进程。一台服务器可管理任意数量的MoM守护进程。下令可从服务器主机、执行主机和客户端的主机运行。我们把我们把服务器、调度步伐、MoM 和通信守护进程的每个实例都称为PBS complex。
Commands
PBS 提供一组下令,可用于提交、监控、更改和删除作业。PBS 下令可安装在任何受支持的平台上,无论是否有其他 PBS 组件。有些 PBS 下令可以由任何 PBS 用户运行,有些则须要管理员或操作员权限。有些下令为管理员和操作员提供了扩展功能。
Job
PBS Job是一个任务,以 shell 脚本、cmd 批处理文件、Python 脚本等形式形貌要运行的下令和/或应用步伐。你把任务交给 PBS,它就变成了 PBS Job。
Server
PBS 服务器接收作业,保存等待执行的作业,在轮到执行时发送作业,并将作业发送给调度器。并通过监控综合系统的故障和在须要时重新运行作业来确保工作的完成。须要时重新运行作业,确保工作完成。即使下令会影响其他守护进程,它们也会与服务器通信。
Scheduler
调度步伐根据站点管理员指定的策略运行作业。调度步伐将每个作业的要求与可用资源相匹配,并根据策略确定作业的优先级和分配资源。
PBS有一个默认的调度器;如果要分别调度各个分区,可以添加任意数量的额外调度器,称为多分区调度器。每个 PBS 调度器都遵循自己的调度策略。每个调度步伐守护进程都执行由你定义的策略,该策略控制每个作业何时运行以及在哪些资源上运行。
MoM(Master Node Manager)
MoM代表面向机器的小型服务器(Machine-oriented Mini-server)。
MoM负责管理发送到执行主机的任务。每个执行主机上的作业由一个MoM 管理。MoM将文件分阶段输入,运行准备,启动每个作业,监控作业,将文件分阶段输出并将输出结果返回给作业提交者,运行每个作业,返回给作业提交者,运行,并在作业竣事后进行清算。MoM还可以运行钩子。
通信守护进程(Communication Daemon)
通信守护进程 pbs_comm 负责处理其他 PBS 守护进程之间的通信。
1.3 PBS 接口
PBS 提供下令行接口,Altair 提供基于 Web 的 PBS 前端,称为 Access,这是一个单独的产品。本文档介绍 PBS 下令行接口。有关 Access 的信息,请参阅 www.altair.com。
1.3.1 PBS 下令
PBS 提供一组下令,允许您提交、监控和管理您的作业。某些 PBS 下令可由任何 PBS 用户使用;某些下令只能由管理员使用,某些下令的行为取决于调用者的脚色。在本文档中,我们形貌了任何 PBS 用户都可以使用的下令。
下令操作mpiexec在 Linux 上的 PBS 下运行 MPI 步伐pbsdsh将任务分发到 PBS 下的 vnodepbsnodes查询 PBS 主机或 vnode 状态,将主机标志为空闲或离线,更改主机的解释或输出 vnode 信息pbs_attach将会话 ID 附加到 PBS 作业pbs_hostn报告主机名和网络地址pbs_login缓存加密的用户密码以进行身份验证pbs_mpihp使用 HP MPI 在 PBS 作业中运行 MPI 应用步伐pbs_mpirun使用 MPICH 在 PBS 下运行 MPI 步伐pbs_python用于从下令行调试钩子脚本的 Python 解释器pbs_ralter修改现有的预付款、常备或特定于作业的预留pbs_rdel删除 PBS 预付款、常备或特定于作业的预留pbs_release_nodes释放姐妹节点分配给 PBS 作业的主机或 vnodepbs_rstat表现 PBS 提前、常设或特定于作业的预留的状态pbs_rsub创建 PBS 提前、常设或特定于作业的预留pbs_tclsh已弃用。带有 TCL 包装的 PBS API 的 TCL shellpbs_tmrshTM启用的 rsh/ssh 更换品,供 MPI 实现使用pbs_wish已弃用。带有 TCL 包装的 PBS API 的 TK 窗口 shellqalter更改 PBS 作业qdel删除 PBS 作业qhold保存 PBS 批量作业qmgr管理员管理 PBS 的下令界面qmove将 PBS 作业从一个队列移到另一个队列qmsg将消息字符串写入一个或多个作业输出文件qorder交换两个 PBS 作业的队列位置qrls释放 PBS 作业的搁置qsig选择指定的 PBS 作业qsig向 PBS 作业发送信号qstat表现 PBS 作业、队列或服务器的状态qsub向 PBS 提交作业
1.4 设置情况
1.4.1 帐户的先决条件(略)
1.4.2 设置 Linux 情况
1.4.2.1 设置 PBS 下令的路径
PBS 下令位于 $PBS_EXEC/bin 指向的目次中。在安装 PBS 后,该路径可能会发生变化。因此请使用变量而不是绝对路径。$PBS_EXEC 的位置在 /etc/pbs.conf 中给出。
$ . /etc/pbs.conf
复制代码
或者将 PBS 下令的路径添加到 PATH 情况变量中:
export PATH=$PATH:$PBS_EXEC/bin/
复制代码
1.4.2.2 设置 PBS 手册的路径
export MANPATH=/usr/man:/usr/local/man:$PBS_EXEC/share/man/
复制代码
1.4.2.3 使作业的登录和注销文件表现正常
默认情况下,PBS 会在登录状态下运行作业,这意味着每个作业都会使用登录和注销文件。如果您的.cshrc、.login、.profile 或 .logout 文件包含试图设置终端特性或产生输出(如写入 stdout)的下令,作业可能无法运行。确保在 PBS 作业中运行文件时跳过这些文件中的任何此类下令。PBS 会在作业中设置 PBS_ENVIRONMENT 情况变量。测试 PBS_ENVIRONMENT 情况变量,只有在未设置该变量时才运行下令。例如,在 .login 文件中:
if ( ! $?PBS_ENVIRONMENT ) then
do terminal settings here
run command with output here
endif
复制代码
1.4.2.4 捕获正确的作业退出状态
PBS 作业运行时,作业 shell 会将作业中末了执行的下令的退出状态报告给 PBS,作为作业的退出状态。作业的退出状态对于作业依赖关系和作业链非常重要。在 Linux 下,如果执行主机上有 .logout,末了执行的下令可能不是作业中的末了一条下令。在这种情况下,末了执行的下令来自 .logout 而不是作业。为避免出现这种情况,可将作业的退出状态保存在 .logout 文件中,将其保存在文件顶部,然后在文件末端执行明确的退出操作,如下所示:
set EXITVAL = $status
previous contents of .logout here
exit $EXITVAL
复制代码
在 Windows 下,无需采取特别步骤来保留作业的退出状态。
1.4.2.5 避免在作业中运行后台进程
确保在 PBS 作业中调用登录文件时不会在后台运行进程。如果登录文件包含一个在 PBS 作业内部后台运行的下令,那么连续进程就会带来麻烦。
1.4.2.6 为作业提供 bash 函数
如果作业须要使用导出的 bash 函数,可以将这些函数放在执行主机上的 .profile 或 .login 文件中。也可以使用 qsub -V 或 qsub -v 在作业提交时转发函数。使用 -v 或 -V 时,请确保没有与情况变量同名的函数。
1.4.2.7 Linux 下的用户授权
服务器的 flatuid 属性决定了它是否假定相同的用户名代表相同的用户。如果为 True,则 则假定如果 User1 同时存在于提交主机和服务器主机上,则 User1 可以在该服务器上运行作业。如果 则服务器会调用 ruserok(),使用 /etc/hosts.equiv 或 .rhosts 授权 User1 以 运行。在这种情况下,使用 -u 选项指定的用户名必须在服务器主机上有一个 .rhosts 文件,其中列出了 也就是说,服务器上的 User1 必须有一个列有 User1 的 .rhosts 文件。
例 1-1:我们的用户在提交主机上是 UserA,但在服务器上是 userB。要以用户 A 的身份提交作业,并以用户 B 的身份 运行作业,UserB 必须在服务器主机上有一个列出 UserA 的 .rhosts 文件。请注意,如果通过 -u 选项列出了不同的名称,那么无论 flatuid 的值怎样,都会对它们进行检查。
不发起使用 hosts.equiv。
1.4.2.8 从 Linux 客户端提交 Linux 作业
如果 Linux 客户端主机的身份验证方法已设置为 pwd,请在提交 Linux 作业前将其设置为 munge。
export PBS_AUTH_METHOD=munge; qsub -lselect=1:arch=linux -- sleep 100
复制代码
1.4.3 设置Windows情况(略)
1.4.4 为提交主机设置时区
确保提交主机的情况变量 PBS_TZID 设置正确。将此情况变量设置为 PBS Professional 所知道的时区位置。您可以从 PBS 服务器主机获取相应的时区位置。
在 Linux 平台上,如果有 tzselect 下令,请使用该下令,或者从 /usr/share/zoneinfo/zone.tab 获取时区位置。
在所有其他平台上,请使用 $PBS_EXEC/lib/ical/zoneinfo/zones.tab 下的 libical 支持的 zoneinfo 位置列表。
PBS_TZID 的格式是时区位置,而不是时区 POSIX 缩写。PBS_TZID 的值举例如下:
America/Los_Angeles
America/Detroit
Europe/Berlin
Asia/Calcutta
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4