IBM的Spectrum LSF运行方式

IBM的Spectrum LSF software是每个芯片工程师或多或少都会接触到的一套软件系统,LSF是Load Sharing Facility的缩写,顾名思义,这套软件是用于管理资源负载的,使资源最大化被各个用户所使用。

LSF主要功能有3点:1. 管理硬件和软件资源;2. 调度和运行jobs;3. 监控jobs的状态。我们从LSF资源和LSF软件讲下。

1. LSF资源

LSF的资源有硬件资源和软件资源,硬件资源有计算机、磁盘、内存等。软件资源有license等。

硬件资源中定义了Cluster(集群)的概念,Cluster是将一组computer(host)打包成一个整体,它们共享算力和资源。Cluster的host可以简化为3类:management host、execution(compute) host和Submission(client) host,三者安装了LSF的完整或部分软件。Management host充当集群的总体协调器、队列管理、作业派发,一般不跑普通用户计算任务。Execution host用于执行任务。Submission host用于提交任务。

User通常在Submission host上提交jobs,Management host根据jobs的类型和资源需求来选择合适的Execution host去执行jobs。根据需求,这些execution host可以使用共享的NFS memory或者使用自己local的memory去执行任务。如果使用local memory,那么execution host和submission host之间需要互相copy的文件会比较多,但是执行jobs的速度可能更快,因为它不需要和其它host去争抢NFS 磁盘的IO读写资源。

用户提交jobs到LSF的常用命令就是bsub,在提交bsub可以指定一系列需求,比如服务器类型、OS类型、memory大小、CPU个数、EDA license数目和host空闲程度等。这么多复杂的需求,就是靠LSF软件系统去维护,它需要定期监控各个软硬件资源的使用情况,然后从jobs队列(queue)中挑出符合的job丢给execution host去执行,并把执行结果返回给user(不管成功与否),而且还要根据user查询类型反馈系统的状态信息。

2. LSF软件

集群中的每台host的角色不一样,因此运行的LSF进程类型和数量也不一样。主要的LSF进程有以下几种。
Daemon Role

mbatchd Job requests and dispatch

mbschd Job scheduling

sbatchd Job execution

res Job execution

lim Host information

pim Job process information

elim Dynamic load indexes

mbatchd (Management batch daemon **)**是运行在management host上的,它负责系统中jobs的整体状态。接收jobs提交和信息查询请求。管理queue中保存的jobs。将jobs分派到由mbschd选择的主机。

mbschd (Management batch scheduler daemon **)**也是运行在management host上的。它mbatchd一块配合工作,它会根据jobs需求、策略和资源可用性做出调度决策。将调度决策发送到mbatchd。

sbatchd (Server batch daemon **)**运行在每个服务器host上,包括management host。从mbatchd接收运行jobs的请求,并管理jobs的本地执行。负责执行本地策略并维护host上的jobs状态。sbatchd为每一个job都创建一个子sbatchd。子sbatchd运行一个res实例来创建job运行的执行环境。当作业完成时,子sbatchd退出。

res (Remote execution server **)**在每个服务器host上运行。接受远程执行请求,为jobs和tasks提供可靠、安全的远程执行。

lim (Load information manager ) 运行在每个服务器host上,它收集host负载和配置信息,并将其转发给运行在management host上的host LIM。当LIM启动或cpu (ncpu)数量发生变化时,将上报静态负载指数**(** static load index )。在management host上运行的LIM(Parent LIMIT)会接收集群中各host上运行的lim的负载信息。并把负载信息转发给mbatchd,后者将此信息转发给mbschd以支持调度决策。如果management host上LIM不可用,则management candidate host上的LIM自动接管。

pim (Process information manager **)**是每个服务器主机上运行的进程信息管理器。由LIM启动,LIM会定期检查PIM并在它死亡时重新启动它。pim收集host上运行的job进程信息,如job占用的CPU和内存等,并将这些信息报告给sbatchd。

elim (External LIM ) 是一个站点可定义的可执行文件,它收集和跟踪自定义的动态负载指数**(** dynamic load index )。ELIM可以是shell脚本或编译的二进制程序,它返回用户定义的动态资源的值。ELIM可执行文件必须命名为ELIM。并位于LSF_SERVERDIR中。

上述这些LSF进程在management host和computer host的分布如下图。

上述这些LSF进程的调用关系如下图:

Static Load Index和Dynamic Load Index的区别:

  • Static Load Index(静态负载指数):LIM 启动时读取、硬件 / 配置不变就几乎不动;lshosts查看;
  • Dynamic Load Index(动态负载指数):LIM 每~15s 周期性采样、EWMA 平滑;lsload查看;还可以通过 ELIM 自定义额外动态指数;

Static Load Index(内置静态,lshosts)

名称 含义 单位 / 备注
ncpus 检测到的 CPU 数量 核数(LSF 用来算归一化 run‑queue)
ndisks 本地磁盘数目 块设备数
maxmem 整机最大可用内存 MB(物理 RAM 总量)
maxswp 整机最大 Swap 总量 MB
maxtmp /tmp 文件系统总容量 MB
cpuf CPU 归一化因子 相对速度值(用来跨机型校正 r1m 等)
type 主机类型 字符串(OS + 架构)
model 主机型号 字符串
server 是否为 Server host bool(Yes/No,能否执行作业)

Dynamic Load Index(内置动态,lsload)

名称 含义 别名 说明 & 工程要点
r15s 15s 指数平均运行队列长度 --- 瞬时尖峰;LSF 已按ncpus/cpuf归一化,≠原生 Linux loadavg
r1m 1min 指数平均运行队列长度 cpu 最常用负载指标;loadSched/loadStop 大多配这个
r15m 15min 指数平均运行队列长度 --- 看持续高负载
ut 1min 平均 CPU 利用率 --- 0.0‑1.0;注意超线程时 ut 高不代表 slot 耗尽
pg 1min 平均换页速率 --- pages/sec;不是 swap 已用大小;pg 高 = 内存颠簸风险
io 1min 平均磁盘 I/O 速率 --- KB/s;本地盘吞吐;不直接反映 NFS 压力
ls 当前登录会话数 login 交互式用户数量
it 主机空闲时间 idle 分钟;全部登录会话无操作时长
mem 当前可用内存 --- MB(实时剩余;和maxmem区分)
swp 当前可用 Swap swap MB(实时剩余;和maxswp区分)
tmp /tmp 当前剩余空间 --- MB(实时剩余;和maxtmp区分)

PS:External Dynamic Index:管理员用 ELIM 脚本自定义(例如 license 余量、GPU 利用率),也是动态指数,只是不是 LIM 内置。

3. 总结

LSF将众多软硬件组合起来,给用户提供统一接口,用户不需要关系内部资源协调和组织的细节。组成cluster的host中会至少选用一台作为management host,用于协调其它computer host的运行。Management host通过lim机制掌握了各个host的资源使用情况,这些信息也会提供给mbschd去做出调度决策,mbatchd根据这个调度决策把jobs分配到合适的computer host上去运行,computer host上的sbatchd会为每个分配过来的job启动一个子sbatchd,这个子sbatchd会启动一个res实例来创建job运行的执行环境,使得每个job独立、安全的执行。

LSF中提供了众多的命令给用户使用,大致可以分为以下四类:

  • 提交jobs
  • 查询jobs
  • 查询hosts
  • 配置命令
相关推荐
工作10年+,存储芯片行业1 天前
存储芯片产业全景:从产品矩阵到技术优势与质量体系
ai·nvme·芯片·数据中心·存储·pcie·半导体
工作10年+,存储芯片行业2 天前
长鑫存储深度分析:国产 DRAM 的崛起、挑战与未来
人工智能·ssd·芯片·存储·pcie·dram·ddr
工作10年+,存储芯片行业2 天前
武汉新芯发展历程与产品体系全览
ssd·集成电路·芯片·存储·半导体·flash·nor
当时皓月3 天前
Spur Generation and Modulation(杂散的产生与调制)
数学建模·芯片
JSMSEMI1115 天前
JSM4485,SOP‑8 封装‑40V 增强型 P‑MOS
芯片
深圳市贝乐实业股份有限公司16 天前
APS6404L-3SQR-ZR:给 MCU 扩出 8MB 大内存
芯片·psram·存储芯片·智能语音交互设备
YH行业报告分析17 天前
2026封装协同设计软件升级:Chiplet架构如何驱动芯片—封装跨域协同落地?
芯片
至为芯17 天前
PY32F071至为芯支持32位ARM内核的高主频MCU单片机
单片机·集成电路·芯片
JSMSEMI1118 天前
JSM4459 P 沟道增强型功率 MOSFET
芯片