当前位置: 首页 > news >正文

在 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/hosts10.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   # Keywordsnid00060   9999    ()   ()  ()  ()   ()                # Examplenid00062   9999    ()   ()  ()  ()   ()                # Exampledefault     !      ()   ()  ()  ()   ()                # 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 QueueQUEUE_NAME   = normalPRIORITY     = 30NICE         = 20PREEMPTION   = PREEMPTABLEJOB_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 QueueBegin QueueQUEUE_NAME    = ownersPRIORITY      = 43JOB_CONTROLS  = SUSPEND[bmig $LSB_BATCH_JID]RERUNNABLE    = YESPREEMPTION    = PREEMPTIVENICE          = 10#RUN_WINDOW   = 5:19:00-1:8:30 20:00-8:30r1m           = 1.2/2.6#r15m         = 1.0/2.6#r15s         = 1.0/2.6pg            = 4/15io            = 30/200swp           = 4/1tmp           = 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 78DESCRIPTION   = 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

相关文章:

  • 全面掌握XSS漏洞攻击,实战案例从Self-XSS到账户接管,以及通过参数污染的XSS实现攻击
  • 设计模式——组合模式(结构型)
  • 如何提升数据结构方面的算法能力?
  • Leetcode 376 摆动序列
  • 计算机论文写作助手
  • 隐私计算介绍
  • 5G边缘网关如何助力打造隧道巡检机器人
  • luttuce(RedisTempate)实现hash(动态数据) expire lua脚本
  • Lvs-NAT部署
  • 论文阅读——Painter
  • ReactHooks大全—useEffect
  • MPC - Python、MATLAB、CVXPY、YALMIP、Julia 示例
  • 产品调研——AI平台
  • MetaAI语音翻译大模型Seamless登场,主打AI无缝同声传译
  • 构建平战结合的融合通信指挥调度系统平台
  • 《Javascript数据结构和算法》笔记-「字典和散列表」
  • 「前端早读君006」移动开发必备:那些玩转H5的小技巧
  • CSS盒模型深入
  • js写一个简单的选项卡
  • Laravel 实践之路: 数据库迁移与数据填充
  • LeetCode算法系列_0891_子序列宽度之和
  • vue-cli在webpack的配置文件探究
  • 从@property说起(二)当我们写下@property (nonatomic, weak) id obj时,我们究竟写了什么...
  • 力扣(LeetCode)965
  • 聊聊hikari连接池的leakDetectionThreshold
  • 前端技术周刊 2019-01-14:客户端存储
  • 算法-插入排序
  • 微信如何实现自动跳转到用其他浏览器打开指定页面下载APP
  • 温故知新之javascript面向对象
  • 一道闭包题引发的思考
  • 用jquery写贪吃蛇
  • python最赚钱的4个方向,你最心动的是哪个?
  • $.each()与$(selector).each()
  • $.type 怎么精确判断对象类型的 --(源码学习2)
  • (4)通过调用hadoop的java api实现本地文件上传到hadoop文件系统上
  • (7)STL算法之交换赋值
  • (草履虫都可以看懂的)PyQt子窗口向主窗口传递参数,主窗口接收子窗口信号、参数。
  • (二)hibernate配置管理
  • (实战)静默dbca安装创建数据库 --参数说明+举例
  • (原创)boost.property_tree解析xml的帮助类以及中文解析问题的解决
  • (转)创业家杂志:UCWEB天使第一步
  • (轉貼) UML中文FAQ (OO) (UML)
  • *** 2003
  • .[hudsonL@cock.li].mkp勒索加密数据库完美恢复---惜分飞
  • .NET Core 项目指定SDK版本
  • .NET Core实战项目之CMS 第一章 入门篇-开篇及总体规划
  • .NET 反射的使用
  • .NetCore Flurl.Http 升级到4.0后 https 无法建立SSL连接
  • .netcore如何运行环境安装到Linux服务器
  • .NET框架类在ASP.NET中的使用(2) ——QA
  • .so文件(linux系统)
  • /etc/sudoers (root权限管理)
  • @column注解_MyBatis注解开发 -MyBatis(15)
  • @Mapper作用
  • []新浪博客如何插入代码(其他博客应该也可以)