LSF Handbook
搜索文档…
术语与概念
首次使用 LSF 之前,应先阅读 LSF Foundations Guide,以基本了解作业负载管理和作业提交,以及 Administrator Foundations Guide,以概述集群管理和操作。

作业状态

IBM Spectrum LSF 作业有几种状态。
  • PEND
    在队列中等待调度和分配。
  • RUN
    分派给主机并运行。
  • DONE
    正常完成,退出状态码为 0。
  • EXIT
    以非 0 退出值结束。
  • PSUSP
    作业等待时挂起。
  • USUSP
    被用户暂停。
  • SSUSP
    被 LSF 系统暂停。
  • POST_DONE
    后处理完成,没有错误。
  • POST_ERR
    后处理完成,但有错误。
  • UNKWN
    mbatchd 守护程序,与作业运行所在主机上的 sbatchd 守护程序失去联系。
  • WAIT
    对于提交到块作业队列的作业,是等待运行的块作业成员。
  • ZOMBI
    如果杀死不可重新运行的作业,或将可重新运行的作业重新排队时,如果执行主机不可访问,则该作业将变为ZOMBI。

主机节点

LSF 主机是集群中的单个计算机。
每个主机可能有多个处理器。 多处理器主机用于运行并行作业。 具有单个进程队列的多处理器主机被视为一台计算机。 装满处理器的盒子,每个处理器都有自己的处理队列,被视为一组单独的计算机。
Tip
主机的名称应唯一。 它们不能与集群名称或为集群定义的任何队列相同。

作业

LSF 作业是在 LSF 系统中运行的工作单元。
作业是使用 bsub 命令提交给 LSF 以便执行的命令。 LSF 根据配置的策略计划,控制和跟踪作业。
作业可能是复杂的问题,模拟方案,大量的计算,以及任何需要计算能力的事物。

作业文件

将作业提交到队列后,LSF 会将其保存在作业文件中,直到适合运行条件为止。 然后,使用作业文件运行作业。
在 UNIX 上,作业文件是在执行时运行的 Bourne Shell 脚本。
在 Windows 上,作业文件是在执行时处理的批处理文件。

交互式批处理作业

交互式批处理作业,是一个批处理作业,它使您可以与应用程序进行交互,并且仍然利用 LSF 调度策略和容错能力。
所有输入和输出都是通过用于键入作业提交命令的终端进行的。
提交交互式作业时,在作业等待调度时会显示一条消息。 在交互式作业完成或终止之前,无法提交新作业。

交互式任务

交互式任务是没有提交给批处理队列,并由 LSF 调度但立即分派的命令。
LSF 查找任务所需的资源,并在具有所需资源且负载较轻的候选主机中选择最佳主机。 每个命令可以是单个进程,也可以是一组协作进程。
在不使用 LSF 的批处理功能的情况下运行任务,但仍具有资源需求和根据负载选择最佳主机来运行任务的优势。

本地任务

本地任务是没有意义的应用程序或命令,不能远程运行。
例如,UNIX上的 ls 命令。

远程任务

远程任务,是可以在集群中的另一台计算机上运行的应用程序或命令。

主机类型与主机型号

LSF中的主机,由主机类型和主机模型表征。
以下示例是类型为 X86_64 的主机,其主机型号为 Opteron240,Opteron840,Intel_EM64T 等。
img

主机类型

LSF 主机类型,是操作系统和主机 CPU 体系结构的组合。
在相同计算机体系结构上,运行相同操作系统的所有计算机都属于同一类型。 这些主机彼此二进制兼容。
每种主机类型,通常需要一组不同的 LSF 二进制文件。

主机型号

LSF 主机模型是计算机的主机类型,它确定在负载和放置计算中应用的 CPU 速度缩放因子。
调度作业时,要考虑 CPU 因素。

资源

LSF 资源是 LSF 系统资源中的对象,LSF 使用这些对象,来跟踪作业要求并根据它们在各个主机上的可用性来调度作业。

资源使用

LSF 系统使用内置的和配置的资源,来跟踪资源的可用性和使用情况。 根据各个主机上可用的资源,来调度作业。
通过 LSF 系统提交的作业,在运行时将受到使用的资源的监视。 此信息用于强制执行资源限制,和负载阈值以及公平分配策略。
LSF收集以下类型的信息:
  • 作业中,所有进程消耗的总 CPU 时间
  • 作业中,所有当前正在运行的进程的总常驻内存使用量(KB 为单位)
  • 作业中,所有当前正在运行的进程的总虚拟内存使用量(KB 为单位)
  • 作业中,当前活动的进程组 ID
  • 作业中,当前活跃的进程
在 UNIX 和 Linux 上,通过 PIM 收集作业级资源使用情况。

负载指数

负载指数,衡量集群中主机上动态非共享资源的可用性。 内置在 LIM 中的负载指数,会按固定的时间间隔进行更新。

外部负载指数

由 LSF 管理员定义和配置,并由外部负载信息管理器(ELIM)程序收集。 当收到新值时,ELIM 也会更新 LIM。

静态资源

表示不会随时间变化的主机信息的内置资源,例如,可用于用户进程的最大 RAM 或计算机中的处理器数量。 大多数静态资源由 LIM 在启动时确定。
静态资源,可用于根据二进制体系结构,相对 CPU 速度和系统配置,为特定作业选择适当的主机。

负载阈值

您的 LSF 管理员,可以配置两种类型的负载阈值来调度队列中的作业。 每个负载阈值指定一个负载索引值:
  • loadSched 负载阈值,确定用于调度待处理作业的负载条件。 如果主机的负载超出任何定义的 loadSched,则无法在主机上启动作业。 此阈值还用作恢复挂起作业的条件。
  • loadStop 负载阈值,确定何时可以暂停正在运行的作业。
要在主机上调度作业,该主机上的负载级别,必须同时满足为该主机配置的阈值,和要从中调度作业的队列的阈值。
负载索引的值,可能随负载而增加或减少,具体取决于特定负载索引的含义。 因此,将主机负载条件与阈值进行比较时,需要根据负载指数使用大于(>)或小于(<)的值。

运行时资源使用限制

在作业运行时限制资源的使用。 发出消耗超过指定资源量的作业的信号。

硬性限制和软性限制

在队列级别指定的资源限制是硬限制,而在作业提交中指定的资源限制是软限制。 有关硬限制和软限制的信息,请参见 setrlimit 手册页。

资源分配限制

限制在作业调度期间是必须启动的,用于启动不同类别的作业的资源量,以及限制适用于哪些资源使用者。 如果消耗了所有资源,则在释放某些资源之前,无法启动更多作业。

资源需求 (bsub -R)

bsub -R 选项指定作业的资源要求。 资源要求限制了可以在其上运行作业的主机。 符合资源要求的主机,是候选主机。 当 LSF 调度作业时,它将收集所有候选主机的负载索引值,并将它们与调度条件进行比较。 仅当所有负载值均在调度阈值之内时,作业才会调度到主机。