在 Cray Linux 上配置 LSF 集成
在 Cray Linux 上设置?LSF?集成的配置参数
过程
1.修改?$LSF_ENVDIR/lsf.conf。LSF?安装可能已添加以下部分参数:
- LSB_SHAREDIR=/ufs/lsfhpc/work?-可供 root 用户和?LSF?管理员在?管理?主机和 Cray Linux 登录/服务节点上访问的共享文件系统。
- LSF_LOGDIR=/ufs/lsfhpc/log?-可供 root 用户和?LSF?管理员在?管理?主机和 Cray Linux 登录/服务节点上访问的共享文件系统。
- LSF_LIVE_CONFDIR=/ufs/lsfhpc/work/<cluster_name>/live_confdir?-可供 root 用户和?LSF?管理员在?管理?主机和 Cray Linux 登录/服务节点上访问的共享文件系统。
- LSB_RLA_PORT=21787?-唯一端口
- LSB_SHORT_HOSTLIST=1
- LSF_ENABLE_EXTSCHEDULER=Y
- LSB_SUB_COMMANDNAME=Y
- LSF_CRAY_PS_CLIENT=/usr/bin/apbasil
- LSF_LIMSIM_PLUGIN="liblimsim_craylinux"
- LSF_CRAYLINUX_FRONT_NODES="nid00060 nid00062"?-启动并运行?LSF?守护程序的 Cray Linux 登录/服务节点的列表。
- LSF_CRAYLINUX_FRONT_NODES_POLL_INTERVAL=120?-?管理?主机 LIM 轮询 RLA 以查询计算机节点状态和配置信息的时间间隔。 缺省值为 120 秒。 任何小于 120 秒的值都将重置为缺省值
- LSB_MIG2PEND=1
- LSF_CRAY_RUR_DIR=/ufs/lsfhpc/work/<cluster_name>/craylinux/<cray_machine_name>/rur?-RUR 数据文件的位置,这是可从任何可能的第一个执行主机访问的共享文件系统。 所有用户提交的作业的 RUR 数据文件名为?rur.output。 特定作业标识的特定于作业的 RUR 数据文件名为?rur.<jobID>。 缺省值为?LSF_SHARED_DIR/<cluster_name>/craylinux/<cray_machine_name>/rur。您可以使用?%U?特殊字符来表示提交作业的用户的主目录。 例如,如果指定?LSF_CRAY_RUR_DIR=%U/.rur以及 userA 和 userB 提交的作业,那么 RUR 数据文件位于?/home/userA/.rur?中 (对于 userA ) 和?/home/userB/.rur?中 (对于 userB)。
- LSF_CRAY_RUR_PROLOG_PATH=<path_to_rur_prologue.py>?-RUR 序言脚本文件的文件路径。 缺省值为 /opt/cray/rur/default/bin/rur_prologue.py。
注:?LSF?使用?-j <jobID>?选项运行 prolog 脚本文件。 因此,序言脚本文件必须支持以作业标识作为自变量的?-j?选项。
- LSF_CRAY_RUR_EPILOG_PATH=<path_to_rur_epilogue.py>?-RUR 表日志脚本文件的文件路径。 缺省值为 /opt/cray/rur/default/bin/rur_epilogue.py。
注:?LSF?使用?-j <jobID>?选项运行附日志脚本文件。 因此,该表日志脚本文件必须支持以作业标识作为自变量的?-j?选项。
?2.从 Cray 登录节点,运行?$LSF_BINDIR/genVnodeConf?命令。
此命令以 BATCH 方式生成计算节点的列表。 您可以将计算节点添加到?$LSF_ENVDIR/lsf.cluster.<cluster_name>中的 HOST 部分。
HOSTNAME model type server r1m mem swp RESOURCES
nid00038 ! ! 1 3.5 () () (craylinux vnode)
nid00039 ! ! 1 3.5 () () (craylinux vnode)
nid00040 ! ! 1 3.5 () () (craylinux vnode)
nid00041 ! ! 1 3.5 () () (craylinux vnode)
nid00042 ! ! 1 3.5 () () (craylinux vnode gpu)
nid00043 ! ! 1 3.5 () () (craylinux vnode gpu)
nid00044 ! ! 1 3.5 () () (craylinux vnode)
nid00045 ! ! 1 3.5 () () (craylinux vnode)
nid00046 ! ! 1 3.5 () () (craylinux vnode)
nid00047 ! ! 1 3.5 () () (craylinux vnode)
nid00048 ! ! 1 3.5 () () (craylinux vnode)
nid00049 ! ! 1 3.5 () () (craylinux vnode)
nid00050 ! ! 1 3.5 () () (craylinux vnode)
nid00051 ! ! 1 3.5 () () (craylinux vnode)
nid00052 ! ! 1 3.5 () () (craylinux vnode gpu)
nid00053 ! ! 1 3.5 () () (craylinux vnode gpu)
nid00054 ! ! 1 3.5 () () (craylinux vnode)
nid00055 ! ! 1 3.5 () () (craylinux vnode)
nid00056 ! ! 1 3.5 () () (craylinux vnode)
nid00057 ! ! 1 3.5 () () (craylinux vnode)
? ?
3.配置?$LSF_ENVDIR/hosts。确保计算节点的 IP 地址与已在使用的任何 IP 地址都不冲突。
cat $LSF_ENVDIR/hosts
10.128.0.34 nid00033 c0-0c1s0n3 sdb001 sdb002
10.128.0.61 nid00060 c0-0c1s1n0 login login1 castor-p2
10.128.0.36 nid00035 c0-0c1s1n3
10.128.0.59 nid00058 c0-0c1s2n0
10.128.0.38 nid00037 c0-0c1s2n3
10.128.0.57 nid00056 c0-0c1s3n0
10.128.0.58 nid00057 c0-0c1s3n1
10.128.0.39 nid00038 c0-0c1s3n2
10.128.0.40 nid00039 c0-0c1s3n3
10.128.0.55 nid00054 c0-0c1s4n0
10.128.0.56 nid00055 c0-0c1s4n1
10.128.0.41 nid00040 c0-0c1s4n2
10.128.0.42 nid00041 c0-0c1s4n3
10.128.0.53 nid00052 c0-0c1s5n0
10.128.0.54 nid00053 c0-0c1s5n1
10.128.0.43 nid00042 c0-0c1s5n2
10.128.0.44 nid00043 c0-0c1s5n3
10.128.0.51 nid00050 c0-0c1s6n0
10.128.0.52 nid00051 c0-0c1s6n1
10.128.0.45 nid00044 c0-0c1s6n2
10.128.0.46 nid00045 c0-0c1s6n3
10.128.0.49 nid00048 c0-0c1s7n0
10.128.0.50 nid00049 c0-0c1s7n1
10.128.0.47 nid00046 c0-0c1s7n2
10.128.0.48 nid00047 c0-0c1s7n3
10.131.255.251 sdb sdb-p2 syslog ufs
4.修改?$LSF_ENVDIR/lsbatch/<cluster_name>/configdir/lsb.hosts。确保在 MXJ 列中为同样是?LSF?服务器主机的 Cray Linux 登录节点和服务节点设置大量。 该数字应该大于 PE 总数。
Begin Host
HOST_NAME MXJ r1m pg ls tmp DISPATCH_WINDOW # Keywords
nid00060 9999 () () () () () # Example
nid00062 9999 () () () () () # Example
default ! () () () () () # Example
End Host
5.修改?$LSF_ENVDIR/lsbatch/<cluster_name>/configdir/lsb.queues。
- JOB_CONTROLS?和?RERUNNABLE?是必需的。
- 注释掉所有?
loadSched
/loadStop
?行。 - DEFAULT_EXTSCHED?和?MANDATORY_EXTSCHED?是可选的。
- 要运行 CCM 作业,必须从 Cray 获取执行前和执行后二进制文件。 请参阅 Cray 文档以查找这些文件。
Begin Queue QUEUE_NAME = normal PRIORITY = 30 NICE = 20 PREEMPTION = PREEMPTABLE JOB_CONTROLS = SUSPEND[bmig $LSB_BATCH_JID] RERUNNABLE = Y #RUN_WINDOW = 5:19:00-1:8:30 20:00-8:30 #r1m = 0.7/2.0 # loadSched/loadStop #r15m = 1.0/2.5 #pg = 4.0/8 #ut = 0.2 #io = 50/240 #CPULIMIT = 180/hostA # 3 hours of hostA #FILELIMIT = 20000 #DATALIMIT = 20000 # jobs data segment limit #CORELIMIT = 20000
#TASKCLIMIT = 5 # job task limit
#USERS = all # users who can submit jobs to this queue
#HOSTS = all # hosts on which jobs in this queue can run
#PRE_EXEC = /usr/local/lsf/misc/testq_pre >> /tmp/pre.out
#POST_EXEC = /usr/local/lsf/misc/testq_post |grep -v "Hey"
#REQUEUE_EXIT_VALUES = 55 34 78
#APS_PRIORITY = WEIGHT[[RSRC, 10.0] [MEM, 20.0] [PROC, 2.5] [QPRIORITY, 2.0]] \
#LIMIT[[RSRC, 3.5] [QPRIORITY, 5.5]] \
#GRACE_PERIOD[[QPRIORITY, 200s] [MEM, 10m] [PROC, 2h]]
DESCRIPTION = For normal low priority jobs, running only if hosts are lightly loaded.
End Queue
Begin Queue
QUEUE_NAME = owners
PRIORITY = 43
JOB_CONTROLS = SUSPEND[bmig $LSB_BATCH_JID]
RERUNNABLE = YES
PREEMPTION = PREEMPTIVE
NICE = 10
#RUN_WINDOW = 5:19:00-1:8:30 20:00-8:30
r1m = 1.2/2.6
#r15m = 1.0/2.6
#r15s = 1.0/2.6
pg = 4/15
io = 30/200
swp = 4/1
tmp = 1/0
#CPULIMIT = 24:0/hostA # 24 hours of hostA
#FILELIMIT = 20000
#DATALIMIT = 20000 # jobs data segment limit
#CORELIMIT = 20000
#TASKLIMIT = 5 # job task limit
#USERS = user1 user2
#HOSTS = hostA hostB
#ADMINISTRATORS = user1 user2
#PRE_EXEC = /usr/local/lsf/misc/testq_pre >> /tmp/pre.out
#POST_EXEC = /usr/local/lsf/misc/testq_post |grep -v "Hey"
#REQUEUE_EXIT_VALUES = 55 34 78
DESCRIPTION = For owners of some machines, only users listed in the HOSTS\
section can submit jobs to this queue.
End Queue
6.修改?$LSF_ENVDIR/lsf.shared。
确保在 resource 部分中定义了以下布尔资源:
vnode Boolean () () (sim node)
gpu Boolean () () (gpu)
frontnode Boolean () () (login/service node)
craylinux Boolean () () (Cray XT/XE MPI)
7.缺省情况下,为?LSF?启用了?LSF_CRAY_RUR_ACCOUNTING=Y?以使用资源实用程序报告 (RUR)。 如果环境中未安装 RUR ,那么必须通过在?lsf.conf中设置?LSF_CRAY_RUR_ACCOUNTING=N?来禁用 RUR。
8.修改?/etc/opt/cray/rur/rur.conf。
通过在?apsys
?部分中注释掉以下行来禁用缺省 prolog 和 epilog 脚本:
apsys
# prologPath - location of the executable file to be run before application
# prologPath /usr/local/adm/sbin/prolog
# epilogPath - location of the executable file to be run after application
# epilogPath /usr/local/adm/sbin/epilog
# prologTimeout - time in seconds before prolog is aborted as "hung"
# prologTimeout 10
# epilogTimeout - time in seconds before epilog is aborted as "hung"
# epilogTimeout 10
# prologPath /opt/cray/rur/default/bin/rur_prologue.py
# epilogPath /opt/cray/rur/default/bin/rur_epilogue.py
# prologTimeout 100
# epilogTimeout 100
/apsys
9.修改?/etc/opt/cray/alps/alps.conf。
通过在?apsys
?部分中注释掉以下行来禁用缺省 prolog 和 epilog 脚本:
apsys
# prologPath - location of the executable file to be run before application
# prologPath /usr/local/adm/sbin/prolog
# epilogPath - location of the executable file to be run after application
# epilogPath /usr/local/adm/sbin/epilog
# prologTimeout - time in seconds before prolog is aborted as "hung"
# prologTimeout 10
# epilogTimeout - time in seconds before epilog is aborted as "hung"
# epilogTimeout 10
# prologPath /opt/cray/rur/default/bin/rur_prologue.py
# epilogPath /opt/cray/rur/default/bin/rur_epilogue.py
# prologTimeout 100
# epilogTimeout 100
/apsys
10.重新启动登录节点上的?alps?守护程序以将更改应用于?alps.conf?和?rur.conf?文件。
/etc/init.d/alps restart
11.使用?service?命令可根据需要启动和停止?LSF?服务。
- service LSF-HPC start
- service LSF-HPC stop
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!