LSF 术语和概念
了解 IBM LSF 基本术语和概念。
作业状态
IBM® Spectrum LSF 作业具有多个状态。
PEND
正在队列中等待调度和分派。
RUN
已分派到主机并正在运行。
DONE
正常完成,退出值为零。
EXIT
已完成,具有非零退出值。
PSUSP
作业处于暂挂状态时已暂挂。
USUSP
由用户暂挂。
SSUSP
由 LSF 系统暂挂。
POST_DONE
后处理已完成,没有错误。
POST_ERR
后处理已完成,但有错误。
UNKWN
mbatchd
守护程序与运行作业的主机上的 sbatchd 守护程序失去联系。
WAIT
对于提交到区块作业队列的作业,这是正在等待运行的区块作业的成员。
ZOMBI
如果作业由于执行主机不可访问而在其状态为 UNKWN
时被终止,或者如果由于执行主机不可用而重新运行的作业被重新排队,那么该作业处于 ZOMBI
状态。在下列情况下,作业可以处于 ZOMBI
状态:
- 处于
UNKWN
状态的作业会收到终止信号, LSF 会将该作业更改为ZOMBI
状态。 例如,运行 bkill 命令以终止处于UNKWN
状态的作业,在执行主机不可用时重新排队可运行的作业,或者在 lsb.params 文件中设置 REMOVE_HUNG_JOBS_FOR 参数时mbatchd
守护程序终止UNKWN
作业。 - 强制从 LSF 中移除作业 (即,对正在运行的作业运行 bkill -r 命令 ) ,
mbatchd
守护程序将首先将作业状态更改为ZOMBI
状态,并向作业的执行主机的sbatchd
守护程序发送信号。 在sbatchd
成功终止作业进程后,它会将回复发送回mbatchd
; 然后,mbatchd
可以将作业的状态从ZOMBI
更改为EXIT
。 在典型情况下,此过程不会花费很长时间。
主机
LSF 主机是集群中的单个计算机。
每个主机可能有多个处理器。 多处理器主机用于运行并行作业。 具有单个进程队列的多处理器主机被视为单台机器。 一个充满处理器 (每个处理器都有自己的进程队列) 的框将被视为一组单独的机器。
提示:
主机的名称应该是唯一的。 它们不能与集群名称或为集群定义的任何队列相同。
作业
LSF 作业是在 LSF 系统中运行的工作单元。
作业是通过使用 bsub
命令提交到 LSF 以执行的命令。 LSF 根据配置的策略调度,控制和跟踪作业。
作业可能是复杂的问题,模拟场景,广泛的计算,任何需要计算能力的事物。
作业文件
将作业提交到队列时, LSF 会将其保留在作业文件中,直到运行该作业的条件合适为止。 然后,使用作业文件来运行作业。
在 UNIX 上,作业文件是在执行时运行的 Bourne shell 脚本。
在 Windows 上,作业文件是在执行时处理的批处理文件。
交互式批处理作业
交互式批处理作业是一个批处理作业,它允许您与应用程序进行交互,并且仍可利用 LSF 调度策略和容错。
所有输入和输出都通过用于输入作业提交命令的终端。
提交交互式作业时,将在作业等待调度时显示一条消息。 在交互式作业完成或终止之前,无法提交新作业。
交互式任务
交互式任务是未提交到批处理队列并由 LSF调度,但立即分派的命令。
LSF 查找任务所需的资源,并在具有所需资源且负载很轻的候选主机中选择最佳主机。 每个命令可以是单个进程,也可以是一组协作进程。
在不使用 LSF 的批处理功能的情况下运行任务,但仍具有资源需求和选择最佳主机以根据负载运行任务的优势。
本地任务
本地任务是无法远程运行的应用程序或命令。
例如, UNIX 上的 ls 命令。
远程任务
远程任务是可以在集群中的另一台机器上运行的应用程序或命令。
主机类型和主机模型
LSF 中的主机以主机类型和主机模型为特征。
以下示例是类型为 X86_64的主机,主机型号为 Opteron240, Opteron840, Intel_EM64T等。
主机类型
LSF 主机类型是操作系统和主机 CPU 体系结构的组合。
在同一计算机体系结构上运行同一操作系统的所有计算机都具有相同类型。 这些主机相互二进制兼容。
每种主机类型通常需要一组不同的 LSF 二进制文件。
主机模型
LSF 主机模型是计算机的主机类型,用于确定在负载和放置计算中应用的 CPU 速度缩放因子。
分派作业时将考虑 CPU 因子。
资源
LSF 资源是 LSF 系统资源中的对象, LSF 使用跟踪作业需求并根据作业在各个主机上的可用性来调度作业。
资源使用情况
LSF 系统使用内置和配置的资源来跟踪资源可用性和使用情况。 根据各个主机上的可用资源来调度作业。
通过 LSF 系统提交的作业将具有它们在运行时使用的受监视资源。 此信息用于实施资源限制和负载阈值以及公平共享调度。
LSF 收集以下类型的信息:
- 作业中所有进程所耗用的总 CPU 时间
- 作业中当前正在运行的所有进程的驻留内存总使用量 (以 KB 计)
- 作业中当前正在运行的所有进程的虚拟内存总使用率 (以 KB 为单位)
- 作业中当前处于活动状态的进程组标识
- 作业中当前处于活动状态的进程
在 UNIX 和 Linux上,通过 PIM 收集作业级别资源使用情况。
负载指标
负载指标用于度量集群中主机上动态非共享资源的可用性。 将按固定时间间隔更新 LIM 中内置的负载指标。
外部负载指数
由 LSF 管理员定义和配置,并由外部装入信息管理器 (ELIM
) 程序收集。 当接收到新值时, ELIM
还会更新 LIM。
静态资源
表示不会随时间变化的主机信息的内置资源,例如可供用户进程使用的最大 RAM 或机器中的处理器数。 大多数静态资源由 LIM
在启动时确定。
静态资源可用于为基于二进制体系结构,相对 CPU 速度和系统配置的特定作业选择适当的主机。
装入阈值
LSF 管理员可以配置两种类型的装入阈值来调度队列中的作业。 每个装入阈值指定一个装入索引值:
loadSched
装入阈值确定用于分派暂挂作业的装入条件。 如果主机的负载超出任何已定义的loadSched
,那么无法在主机上启动作业。 此阈值也用作恢复暂挂作业的条件。loadStop
装入阈值确定何时可以暂挂正在运行的作业。
要在主机上调度作业,该主机上的负载级别必须同时满足为该主机配置的阈值和从中分派作业的队列的阈值。
负载指数的值可能随负载增加或减少,具体取决于特定负载指数的含义。 Therefore, when you compare the host load conditions with the threshold values, you need to use either greater than (>) or less than (<), depending on the load index.
运行时资源使用限制
限制在作业运行时使用资源。 将向使用超过指定资源量的作业发出信号。
硬和软限制
在队列级别指定的资源限制是硬限制,而在作业提交中指定的限制是软限制。
资源分配限制
限制在作业调度期间必须为要启动的不同作业类提供的资源量,以及限制应用于哪些资源使用者。 如果使用了所有资源,那么在释放某些资源之前,无法再启动更多作业。
资源需求 (bsub -R 命令选项)
bsub -R 选项指定作业的资源需求。 资源需求会限制作业可以在哪个主机上运行。 与资源需求匹配的主机是候选主机。 当 LSF 调度作业时,它会收集所有候选主机的负载指标值,并将它们与调度条件进行比较。 仅当所有装入值都在调度阈值内时,才会将作业分派给主机。