LSF - 集群概览

LSF - 集群概览

LSF - 术语与概念

Job状态

  • PEND 在队列中等待调度和调度的。
  • RUN 发送到主机并运行。
  • DONE 正常结束与零退出值。
  • EXIT 以非零退出值结束。
  • PSUSP 当作业挂起时挂起。
  • USUSP 被用户挂起。
  • SSUSP 被LSF系统挂起。
  • POST_DONE 后处理完成,没有错误。
  • POST_ERR 后处理完成与错误。
  • UNKWN mbatchd守护进程与运行作业的主机上的sbatchd守护进程失去了联系。
  • WAIT 对于提交到块作业队列的作业,指等待运行的块作业的成员。
  • ZOMBI 如果一个不可重发作业被杀死或一个不可重发作业被重新排队时,执行主机不可达,则该作业成为ZOMBI。

主机

LSF主机是集群中的单个计算机。

每个主机可能有多个处理器。多处理器主机用于运行并行作业。具有单个进程队列的多处理器主机被认为是单个机器。装满处理器的盒子(每个处理器都有自己的进程队列)被视为一组独立的机器。

需要注意的是,一个集群下的主机名,需要独一无二。

Job

LSF作业是在LSF系统中运行的一个工作单元。

作业是通过使用bsub命令提交给LSF执行的命令。LSF根据配置的策略对作业进行调度、控制和跟踪。

工作可以是复杂的问题,模拟场景,广泛的计算,任何需要计算能力的东西。

Job files

当作业被提交到队列时,LSF将其保存在作业文件中,直到条件适合它运行为止。然后,作业文件用于运行作业。

在UNIX上,作业文件是在执行时运行的Bourne shell脚本(默认是sh,也可指定其它shell,它会在sh下启动其它shell)。

在Windows上,作业文件是在执行时处理的批处理文件。

Interactive batch job

交互式批处理作业允许您与应用程序交互,同时仍然利用LSF调度策略和容错能力。

所有输入和输出都通过用于输入作业提交命令的终端。

当您提交交互式作业时,会在作业等待调度时显示一条消息。在交互作业完成或终止之前,不能提交新作业。

Interactive task

交互式任务是一个没有提交到批处理队列并由LSF调度的命令,但它会立即被分派。

LSF定位任务所需的资源,并在拥有所需资源且负载较轻的候选主机中选择最佳主机。每个命令可以是单个进程,也可以是一组协作进程。

任务运行时不使用LSF的批处理特性,但仍然具有资源需求和根据负载选择运行任务的最佳主机的优势。

Local task 本地任务

本地任务是对远程运行没有意义的应用程序或命令。

例如,UNIX上的ls命令。

Remote task 远程任务

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

Host types and host models

LSF中主机的特征是主机类型和主机型号。

下面的示例是X86_64类型的主机,主机型号为Opteron240、Opteron840、Intel_EM64T等。
在这里插入图片描述

Host type

LSF主机类型是操作系统和主机CPU架构的结合。

在同一计算机体系结构上运行同一操作系统的所有计算机都是同一类型的。这些主机彼此是二进制兼容的。

每种主机类型通常需要一组不同的LSF二进制文件。

Host model

LSF主机模型是计算机的主机类型,它决定了在负载和布局计算中应用的CPU速度比例因子。

在分配作业时要考虑CPU因素。

Resources

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

Resource usage

LSF系统使用内置和配置的资源来跟踪资源的可用性和使用情况。任务是根据单个主机上的可用资源调度的。

通过LSF系统提交的作业在运行时将对其使用的资源进行监视。此信息用于执行资源限制和负载阈值以及公平共享调度。

LSF收集的信息包括:

  • 作业中所有进程消耗的总CPU时间
  • 一个作业中当前运行的所有进程的总常驻内存使用量(以KB为单位)
  • 一个作业中当前运行的所有进程的虚拟内存使用总量(KB)
  • 作业中当前活动的进程组ID
  • 作业中当前处于活动状态的进程

在UNIX和Linux上,通过PIM收集Job级资源使用情况。

Load indices

负载指数衡量集群中主机上的动态、非共享资源的可用性。在LIM内建的负荷指数以固定的时间间隔更新。

External load indices

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

Static resources

表示不随时间变化的主机信息的内置资源,例如用户进程可用的最大RAM或机器中处理器的数量。大多数静态资源是由LIM在启动时确定的。

静态资源可用于为基于二进制体系结构、相对CPU速度和系统配置的特定作业选择适当的主机。

Load thresholds

LSF管理员可以配置两种类型的负载阈值,以在队列中调度作业。每个负载阈值指定一个负载索引值:

  • loadSched负载阈值决定了调度待处理任务时的负载条件。如果主机的负载超过任何定义的loadSched,则无法在该主机上启动作业。该阈值也被用作恢复挂起作业的条件。
  • loadStop负载阈值决定运行的作业何时可以被挂起。

要在主机上调度作业,该主机上的负载级别必须同时满足为该主机配置的阈值和向其分派作业的队列设置的阈值。

负载指数的值可能随着负载的增加或减少,这取决于特定的负载指数的含义。因此,当您将主机负载条件与阈值进行比较时,您需要根据负载索引使用大于(>)或小于(<)。

Runtime resource usage limits

在作业运行时限制资源的使用。消耗超过指定资源量的作业将被通知。

Hard and soft limits

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

Resource allocation limits

限制在启动不同类别作业的作业调度期间必须可用的资源数量,以及限制适用于哪些资源使用者。如果所有资源都已消耗,则在释放某些资源之前不能再启动任何作业。

Resource requirements (bsub -R)

bsub -R选项指定作业的资源需求。资源需求限制作业可以在哪个主机上运行。符合资源要求的主机称为候选主机。LSF调度作业时,会收集所有候选主机的负载索引值,并将其与调度条件进行比较。只有当所有负载值都在调度阈值范围内时,作业才会被分派到主机。

集群特征

在安装后找到集群的名称、集群管理员以及定义主机的位置。

集群名称和管理员

您的集群是根据 lsfinstall -f install.config 命令指定的安装选项和您在 install.config 文件中选择的选项安装的。 您在安装时指定的集群名称是 LSF_CONFDIR/lsf.cluster.cluster_name 文件名称的一部分。

/usr/share/lsf/lsf_10/conf/lsf.cluster.lsf_10

集群管理员列在 LSF_CONFDIR/lsf.cluster.cluster_name 文件的 ClusterAdmins 部分。

LSF hosts

  • 安装在集群中的主机类型列在 LSF_CONFDIR/lsf.cluster.cluster_name 文件的 Hosts 部分中。
  • LSF 管理主机是在 LSF_CONFDIR/lsf.cluster.cluster_name 文件的 Hosts 部分中配置的第一台主机。
  • 在您的集群中定义的 LSF 服务器主机在 LSF_CONFDIR/lsf.cluster.cluster_name 文件的主机部分的服务器列中用 1 表示。
  • 在 LSF_CONFDIR/lsf.cluster.cluster_name 文件中 Hosts 部分的 server 列中,您的集群中定义的 LSF 仅客户端主机用 0 表示。

文件系统、目录和文件

LSF 是为所有主机共享文件系统的网络而设计的,并且所有主机上的文件都具有相同的名称。

LSF 支持在批处理作业运行之前将用户数据复制到执行主机,以及在作业运行后将结果复制回。

在不共享文件系统的网络中,此支持可用于授予远程作业访问本地数据的权限。

支持的文件系统

UNIX
在 UNIX 系统上,LSF 支持以下共享文件系统:

网络文件系统 (NFS)
    NFS 文件系统可以使用 automount 命令永久安装或按需安装。
安德鲁文件系统 (AFS)
    在 9.1.2 与一些已发布的配置参数集成的参数下按需支持。支持访问 AFS 的顺序和并行用户作业、AFS 上的 JOB_SPOOL_DIR 以及 AFS 上的作业输出和错误文件。
分布式文件系统 (DCE/DFS)
    按需支持。

Windows
在 Windows 上,可以在来自 Windows 服务器机器的主机之间共享包含 LSF 文件的目录。

非共享目录和文件

LSF 用于具有共享文件空间的网络。当共享文件空间不可用时,LSF 可以在作业运行前将需要的文件复制到执行主机,并在作业完成后将结果文件复制回提交主机。

某些网络不在主机之间共享文件。 LSF 仍然可以在这些网络上使用,但容错能力有所降低。

[示例目录结构](https://www.ibm.com/docs/en/spectrum-lsf/10.1.0?topic=files-example-directory-structures)
链接介绍了 UNIX 和 Linux 或 Microsoft Windows 上新安装的典型目录结构。根据您安装的产品和选择的平台,您的目录结构可能会有所不同。

重要目录和配置文件

LSF配置通过几个配置文件进行管理,您可以使用这些配置文件修改集群的行为。

四个重要的LSF配置文件

以下是您最常使用的四个最重要的文件:

  • LSF_CONFDIR/lsf.conf
  • LSF_CONFDIR/lsf.cluster.clustername
  • LSF_CONFDIR/lsf.shared
  • LSB_CONFDIR/ cluster_name /configdir/lsb.queues
    这些文件是在产品安装期间根据您在install.config文件中指定的选项创建的。安装后,您可以更改这些文件中的配置参数以满足您站点的需要。

谁拥有这些文件

除了LSF_CONFDIR/lsf.conf归 root 所有,所有这些文件都归主要 LSF 管理员所有,并且所有集群用户都可以读取。

配置文件

LSF 中最重要的文件。它包含配置目录、日志目录、库和其他全局配置信息的路径。lsf.conf文件的位置由 LSF_ENVDIR 变量定义。如果LSF找不到这个文件,它就不能正常启动。
默认情况下,LSF检查由LSF_ENVDIR参数定义的目录以 查找lsf.conf 文件的位置。如果lsf.conf文件不在LSF_ENVDIR 中,LSF会在/etc 目录中寻找它。

lsf.cluster.clustername

定义集群中所有主机的主机名、型号和类型。它还定义了LSF管理员的用户名,以及一个集群的不同共享资源的位置。

lsf.shared.clustername

这个文件就像一个字典,定义了集群使用的所有关键字。您可以添加自己的关键字来指定资源或主机类型的名称。

lsb.queues

定义一个集群的工作负载队列及其参数。

LSF目录

以下目录归主要LSF管理员所有,所有集群用户都可以读取:
在这里插入图片描述
以下目录归 root 所有,所有集群用户都可以读取:
在这里插入图片描述
其他配置目录可以在LSF_CONFDIR/lsf.conf 文件中指定。

LSF集群配置文件

在这里插入图片描述

LSF批处理工作负载系统配置文件

在这里插入图片描述

LSF批处理日志文件

在这里插入图片描述

守护进程日志文件

在这里插入图片描述
谁拥有谁应该写入 LSF_LOGDIR

确保主LSF管理员拥有LSF日志目录(LSF_LOGDIR参数),并且 root 可以写入此目录。如果LSF服务器无法写入LSF_LOGDIR参数,则会在/tmp中创建错误日志。

猜你喜欢

转载自blog.csdn.net/thesre/article/details/118667189