概述

本文介绍 IBM 官方推荐的 LSF 配置参数,包括 lsf.conflsb.params 文件中的常用设置。部分参数显式设置为默认值,可根据实际环境进行调整。

lsf.conf 推荐配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# CPU核心定义方式(默认值)
EGO_DEFINE_NCPUS=cores

# 启用交换空间报告
EGO_PIM_SWAP_REPORT=Y

# 作业年份显示
LSB_DISPLAY_YEAR=Y

# 启用性能指标日志
LSB_ENABLE_PERF_METRICS_LOG=Y

# 共享位置增强
LSB_SHARE_LOCATION_ENH=Y

# 显示提交命令名称
LSB_SUB_COMMANDNAME=Y

# 接受的客户端数量(默认值)
LSF_ACCEPT_NUMCLIENTS=6

# 丢弃日志(默认值)
LSF_DISCARD_LOG=Y

# GPU资源忽略(需要时启用)
#LSF_GPU_RESOURCE_IGNORE=Y

# 智能CPU绑定
LSF_INTELLIGENT_CPU_BIND=Y

# Linux cgroup账户(需要时启用)
#LSF_LINUX_CGROUP_ACCT=Y

# 日志队列大小
LSF_LOG_QUEUE_SIZE=100000

# 使用SSH进行lslogin
LSF_LSLOGIN_SSH=Y

# 启用进程跟踪
LSF_PROCESS_TRACKING=Y

# SSH配置(禁用密码认证和严格主机检查)
LSF_RSH="ssh -o 'PasswordAuthentication no' -o 'StrictHostKeyChecking no'"

# 严格检查模式(仅在集群完全关闭时更改)
LSF_STRICT_CHECKING=Y

# 域名剥离(根据实际域名配置)
#LSF_STRIP_DOMAIN=.example.com:.domain.example.com

lsf.conf 参数说明

参数 说明
EGO_DEFINE_NCPUS 定义CPU核心计算方式,cores表示按物理核心计数
EGO_PIM_SWAP_REPORT 启用后PIM会报告交换空间使用情况
LSB_DISPLAY_YEAR 在作业输出中显示年份
LSB_ENABLE_PERF_METRICS_LOG 记录性能指标到日志文件
LSF_INTELLIGENT_CPU_BIND 启用智能CPU绑定,优化作业性能
LSF_LOG_QUEUE_SIZE 日志队列大小,影响日志处理能力
LSF_LSLOGIN_SSH 使用SSH进行lslogin连接
LSF_PROCESS_TRACKING 启用进程跟踪,用于作业资源监控
LSF_STRICT_CHECKING 严格参数检查模式

cgroup 配置注意事项

启用 LSF_LINUX_CGROUP_ACCT 前:

  • RHEL 6.2+:需要更新 /cgroup/*/etc/fstab
  • RHEL 7:查看 /proc/cgroups 中当前挂载的资源控制器

详见 IBM 文档 Process tracking through cgroups

lsb.params 推荐配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# 作业调度间隔(验证现有设置)
JOB_SCHEDULING_INTERVAL=0
#JOB_SCHEDULING_INTERVAL=250ms

# 账户文件归档配置
ACCT_ARCHIVE_AGE=30           # 30天
ACCT_ARCHIVE_SIZE=10000000    # 10 GB
MAX_ACCT_ARCHIVE_FILE=10
#ACCT_ARCHIVE_TIME=23:55      # 晚上11:55归档

# 默认项目(默认值)
DEFAULT_PROJECT=default

# 默认资源需求顺序(默认值)
DEFAULT_RESREQ_ORDER=r15s:pg

# 默认用户组(需要时启用)
#DEFAULT_USER_GROUP=staff

# 启用诊断查询
ENABLE_DIAGNOSE=query

# 启用主机交集
ENABLE_HOST_INTERSECTION=Y

# 强制用户组树
ENFORCE_UG_TREE=Y

# 作业依赖评估(需要时启用)
#EVALUATE_JOB_DEPENDENCY=100

# 扩展作业异常通知
EXTEND_JOB_EXCEPTION_NOTIFY=Y

# 作业分布策略(默认值)
JOB_DISTRIBUTE_ON_HOST=any

# 作业信息事件转储间隔(默认值)
JOB_INFO_EVENT_DUMP_INTERVAL=15

# 作业信息内存缓存大小(默认值)
JOB_INFO_MEMORY_CACHE_SIZE=1024

# 预执行重试配置
LOCAL_MAX_PREEXEC_RETRY=5
LOCAL_MAX_PREEXEC_RETRY_ACTION=EXIT

# 最大作业重新排队次数
MAX_JOB_REQUEUE=5

# 孤儿作业终止宽限期
ORPHAN_JOB_TERM_GRACE_PERIOD=60

# 抢占策略(需要时启用)
#PREEMPT_FOR=LEAST_RUN_TIME

# 放宽作业调度顺序
RELAX_JOB_DISPATCH_ORDER=ALLOC_REUSE_DURATION[0 30]

# 启用调度指标
SCHED_METRIC_ENABLE=Y

# 简化保证模式
SIMPLIFIED_GURANTEE=Y

lsb.params 参数说明

参数 说明
JOB_SCHEDULING_INTERVAL 作业调度间隔,0表示尽快调度
ACCT_ARCHIVE_AGE 账户文件归档周期(天)
ACCT_ARCHIVE_SIZE 账户文件大小阈值(KB)
ENABLE_DIAGNOSE 启用诊断功能,query允许查询诊断
ENABLE_HOST_INTERSECTION 启用主机交集功能
ENFORCE_UG_TREE 强制执行用户组树结构
EXTEND_JOB_EXCEPTION_NOTIFY 扩展作业异常通知功能
LOCAL_MAX_PREEXEC_RETRY 本地预执行最大重试次数
LOCAL_MAX_PREEXEC_RETRY_ACTION 重试超限后的动作
MAX_JOB_REQUEUE 作业最大重新排队次数
ORPHAN_JOB_TERM_GRACE_PERIOD 孤儿作业终止前的等待时间(秒)
SCHED_METRIC_ENABLE 启用调度性能指标收集

配置生效

修改配置后需要执行:

1
2
3
4
5
# 重新加载配置
badmin reconfig

# 验证配置
bparams -a

参考资料

  1. IBM Documentation - Additional configuration settings
  2. IBM Documentation - Best practices and tips for LSF
  3. IBM Documentation - Process tracking through cgroups