[LSF 最佳实践] LSF定义外部主机资源用于调度
详解如何在LSF中定义站点特定的外部主机资源(布尔、字符串、数值类型)
Dec 11, 2025
|
wanlinwang
|
4 min read
概述
本文介绍如何在 LSF 集群中定义站点特定的外部资源,用于调度目的。LSF 支持三种类型的外部资源:
类型
说明
示例
Boolean(布尔)
表示主机是否具有某特性
bigmem(大内存主机)
String(字符串)
表示主机的某个属性值
switch=s1(网络交换机)
Numeric(数值)
表示可计数的资源
appA=4(应用许可证数量)
配置步骤
步骤一:在 lsf.shared 中定义资源
在 lsf.shared 文件中定义外部资源,至少需要指定 RESOURCENAME 和 DESCRIPTION:
1
2
3
4
5
6
Begin Resource
RESOURCENAME TYPE INTERVAL INCREASING DESCRIPTION
bigmem Boolean () () ( Hosts with very big memory)
switch String () () ( network switch)
appA Numeric () N ( Application Licenses)
End Resource
字段说明
字段
说明
RESOURCENAME
资源名称
TYPE
资源类型:Boolean、String 或 Numeric
INTERVAL
动态资源的更新间隔(静态资源留空)
INCREASING
数值资源是否递增(Y/N)
DESCRIPTION
资源描述
注意 :对于动态资源,必须使用 INTERVAL 定义更新频率。
步骤二:在 lsf.cluster 中为主机分配资源
在 lsf.cluster.<cluster_name> 文件的 Host 部分的 RESOURCES 列定义主机资源:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Begin Host
HOSTNAME model type server r1m mem swp RESOURCES
fatnode ! ! 1 3.5 () () ( bigmem appA = 4)
s1node1 ! ! 1 3.5 () () ( switch = s1)
s1node2 ! ! 1 3.5 () () ( switch = s1)
s1node3 ! ! 1 3.5 () () ( switch = s1)
s1node4 ! ! 1 3.5 () () ( switch = s1)
s2node1 ! ! 1 3.5 () () ( switch = s2)
s2node2 ! ! 1 3.5 () () ( switch = s2)
s4node1 ! ! 1 3.5 () () ( switch = s4)
s4node2 ! ! 1 3.5 () () ( switch = s4)
s4node3 ! ! 1 3.5 () () ( switch = s4)
s4node4 ! ! 1 3.5 () () ( switch = s4)
End Host
资源赋值语法
资源类型
语法
示例
Boolean
直接使用资源名
bigmem
String
资源名=值
switch=s1
Numeric
资源名=值
appA=4
步骤三:重新配置并验证
1
2
3
4
5
# 重新配置 LIM
lsadmin reconfig
# 重启 mbatchd
badmin mbdrestart
验证配置
查看主机资源:
1
2
3
$ lshosts fatnode
HOST_NAME type model cpuf ncpus maxmem maxswp server RESOURCES
fatnode X86_64 Intel_EM 60.0 16 128G 32G Yes ( bigmem)
查看所有外部资源:
1
2
3
4
5
6
7
8
9
$ lshosts -s
RESOURCE VALUE LOCATION
switch s1 s1node1
switch s1 s1node2
switch s1 s1node3
switch s1 s1node4
...
switch s4 s4node4
appA 4 fatnode
使用示例
定义资源后,用户可以在作业资源需求中使用这些资源。
示例一:在特定主机上运行
请求4个槽位,在 fatnode 主机上运行:
1
bsub -n 4 -R "select[bigmem] span[hosts=1]" myjob
示例二:在同一交换机下运行
请求8个槽位,必须在同一交换机下的主机上运行:
1
bsub -n 8 -R "same[switch]" myjob
应用场景
大内存节点标识 :使用布尔资源标记特殊硬件配置的节点
网络拓扑感知调度 :使用字符串资源标记交换机,实现 same[switch] 调度
软件许可证管理 :使用数值资源跟踪应用许可证数量
GPU 节点标识 :标记配备 GPU 的节点
参考资料
IBM Documentation - Defining external host-based resources
IBM Documentation - Best practices and tips for LSF
Support the Creator
If you found this article helpful, consider supporting.