> For the complete documentation index, see [llms.txt](https://baiyongan.gitbook.io/lsf-handbook/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://baiyongan.gitbook.io/lsf-handbook/administrator_fundations/cluster_overview/terms_and_concepts.md).

# 术语与概念

首次使用 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](https://www.ibm.com/support/knowledgecenter/SSWRJV_10.1.0/lsf_admin/hosttypes11.jpg)

### 主机类型

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 调度作业时，它将收集所有候选主机的负载索引值，并将它们与调度条件进行比较。 仅当所有负载值均在调度阈值之内时，作业才会调度到主机。
