LSF - 集群概览

article/2025/10/26 0:57:37

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中创建错误日志。


http://chatgpt.dhexx.cn/article/rl5ePgr4.shtml

相关文章

LSF集群搭建笔记

LSF-linux_amd64集群搭建记录 修改节点ip地址为静态ip安装并开启ssh服务修改主机名修改/etc/hosts文件(为了方便所有机器都要改)设置集群间ssh免密钥通信(如果想root间无需密码登陆需要设置了所有机器可以root登陆&#xff0c;并改root密码为固定密码&#xff0c;默认root密码每…

LSF集群基本概念介绍

集群的基本概念-作业 作业是集群中最重要的一个概念&#xff0c;用户通过提交作业申请集群计算资源&#xff0c;完成计算任务作业状态 • PEND &#xff08;待定&#xff09;- - 作业在队列中等待调度与分派 • RUN &#xff08;运行&#xff09;- - 作业已经被分派到节点机上…

LSF client安装

在master01节点添加&#xff1a; [rootmaster01 conf]# pwd /share01/app/lsf/conf [rootmaster01 conf]# ls cshrc.lsf lsf.cluster.nju_cluster1 lsf.shared perl.lsf ego lsf.conf lsf.shared.old profile.lsf lsbatch lsf.entitlement…

LSF Reordering

可通过[! ]重新排序作业调度主机。 假设&#xff1a; 主机resh1110h220 假设如上两个作业处于pending状态&#xff0c;在同一个调度周期内被调度器考虑&#xff0c;首先调度job1。 在调度周期的早期&#xff0c;通过获取集群中的所有主机或任何(-m)请求的主机列表中列出的主机…

LSF安装部署

前言 目前&#xff0c;市面上主流的HPC调度器分为LSF、SGE、Slurm、SGE四大类型&#xff0c;不同行业根据自身场景和不同调度器对应用支持力度的不同&#xff0c;往往会有不同的偏好&#xff0c;在芯片设计公司中最常用的是LSF LSF&#xff08;Load Sharing Facility&#xf…

关于LSF的高级用法

1、通过脚本查询Job的利用率和所占的Core数&#xff0c;从而管理低利用率的Job。 •通过脚本查询JOB的利用率和所占的CORE数&#xff0c;从而管理低利用率的JOB。 •低CPU利用率的JOB要特别小心&#xff0c;最可能存在2个原因&#xff1a;JOB缺少LICENSE导致等待&#xff1b;存…

LSF_术语及概念

术语及概念 作业状态&#xff1a; PEND&#xff1a;在队列中等待调度和分派。RUN&#xff1a;分配给指定主机并运行。DONE&#xff1a;返回值为0&#xff0c;正常结束。PSUSP&#xff1a;在调度和分派时暂停。&#xff08;具体暂停条件待考究&#xff09;USUSP&#xff1a;由…

LSF - 基础 - 管理

LSF - 基础 - 管理 在LSF环境下工作 启动、停止与重新配置LSF 使用 LSF 管理命令 lsadmin 和 badmin 来启动和停止 LSF 守护进程&#xff0c;并重新配置集群属性。 两个 LSF 管理命令&#xff08;lsadmin 和 badmin&#xff09; 这两个命令只有LSF管理员或root能运行。 要…

【学习OpenCV4】案例1:Windows OpenCV C++语言开发环境搭建

本文的案例内容源自于图书**《学习OpenCV 4&#xff1a;基于Python的算法实战》**&#xff0c;该书是国内第一本完整介绍OpenCV4的图书&#xff0c;第一章有在各个平台搭建环境的介绍&#xff0c;后面每个章节都有对模块的导读、模块经典算法的案例介绍以及进阶阅读&#xff0c…

【学习OpenCV4】OpenCV4入门介绍

本文内容大部分来自图书《学习OpenCV 4&#xff1a;基于Python的算法实战》&#xff0c;该书是国内第一本完整介绍OpenCV4的图书&#xff0c;第一章有在各个平台搭建环境的介绍&#xff0c;后面每个章节都有对模块的导读、模块经典算法的案例介绍以及进阶阅读&#xff0c;适合图…

学习OpenCV(1)概述

目录 基础知识 OpenCV的起源与目标 练习 基础知识 什么是OpenCV OpenCV是一个开源的计算机视觉库。OpenCV设计用于进行高效的计算&#xff0c;十分强调实时应用的开发。 什么是计算机视觉 计算机视觉这种技术可以将静止图像或视频数据转换为一种决策或新的表示。所有这种…

学习OpenCV3:Cmake+MinGW编译OpenCV

1. 准备 1.1 下载OpenCV源码 OpenCV下载地址1&#xff1a;https://opencv.org/releases/ OpenCV下载地址2&#xff1a;https://github.com/opencv/opencv/releases OpenCV下载地址3&#xff1a;https://github.com/opencv/opencv 提示&#xff1a;下载地址1和下载地址2可以直…

【学习OpenCV4】键盘鼠标操作总结

本文分享内容来自图书《学习OpenCV 4&#xff1a;基于Python的算法实战》&#xff0c;该书内容如下&#xff1a; 第1章 OpenCV快速入门&#xff1b; 第2章 图像读写模块imgcodecs&#xff1b; 第3章 核心库模块core&#xff1b; 第4章 图像处理模块imgproc&#xff08;一&…

【学习OpenCV4】OpenCV4与opencv-contrib模块介绍

本文分享内容来自图书《学习OpenCV 4&#xff1a;基于Python的算法实战》&#xff0c;该书刚刚上市&#xff0c;是国内第一本系统讲解OpenCV4各个模块的图书&#xff0c;配套案例深入浅出的讲解。第一章有在各个平台搭建环境的介绍&#xff0c;后面每个章节都有对模块的导读、模…

学习OpenCV

因为一些项目需要&#xff0c;最近在学习OpenCv&#xff0c;以下是一些学习OpenCv这本书的一些简介&#xff0c;教程下载地址&#xff1a;《学习OpenCv》 《学习OpenCV》&#xff1a;计算机视觉是在图像处理的基础上发展起来的新兴学科。OpenCV是一个开源的计算机视觉库&#x…

学习opencv.js(1)图像入门

目标&#xff1a;了解如何阅读图像以及如何在网络中显示它。 读取图像&#xff1a;OpenCV.js 将图像保存为cv.Mat类型。我们使用 HTML 画布元素将cv.Mat传输到网络或反向传输。ImageData 接口可以表示或设置画布元素区域的底层像素数据。 1.从画布创建一个 ImageData对象 le…

学习OpenCV3:MinGW编译OpenCV到vs_version.rc.obj处出错

1. 错误描述 [ 65% ] Building RC object modules/world/CMakeFiles/opencv_world.dir/vs_version.rc.obj gcc: error: long: No such file or directory C:\Mingw-w64\mingw32\bin\windres.exe: preprocessing failed. mingw32-make[2]: *** [modules\world\CMakeFiles\opencv…

【从零学习OpenCV 4】opencv_contrib扩展模块的安装

本文首发于“小白学视觉”微信公众号&#xff0c;欢迎关注公众号 本文作者为小白&#xff0c;版权归人民邮电出版社所有&#xff0c;禁止转载&#xff0c;侵权必究&#xff01; 经过几个月的努力&#xff0c;小白终于完成了市面上第一本OpenCV 4入门书籍《OpenCV 4开发详解》。…

如何学习opencv源码

如何学习opencv源码 当你在使用opencv时&#xff0c;看到一个函数有没有想去了解他的源码&#xff0c;而又无从下手?这里我将带你脱离这种尴尬的境遇&#xff01; 面对这个问题&#xff0c;我自己也查找过许多的资料&#xff0c;网上有这样一种做法&#xff0c;步骤如下&…