在 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
  • 22
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
什么是Iperf Iperf 是一个网络性能测试工具 Iperf可以测试TCP和UDP带宽质量 Iperf可以测量最大TCP带宽 具有多种参数和UDP特性 Iperf可以报告带宽 延迟抖动和数据包丢失 编译与安装 Iperf2 0 2目前仅提供源码包的下载 当你下载到Iperf源码包后 在类unix系统上 需要先解压缩源码包 使用解压缩命令gzip或tar 解压后会产生新文件夹“Iperf 2 0 2” Iperf2 0 2在以下操作系统中可以很好的被编译:Linux SGI IRIX HP UX Solaris AIX 和Cray UNICOS 使用“make”命令编译Iperf源码 完整的编译命令如下: tar xvf iperf 2 0 2 tar gz cd iperf 2 0 2 configure make 编译成功后 使用以下命令安装Iperf: make install 重新编译Iperf 最简单的方法是使用以下命令: make distclean configure make 功能介绍 TCP 测量网络带宽 报告MSS MTU值的大小和观测值 支持TCP窗口值通过套接字缓冲 当P线程或Win32线程可用时 支持多线程 客户端与服务端支持同时多重连接 UDP 客户端可以创建指定带宽的UDP流 测量丢包 测量延迟 支持多播 当P线程可用时 支持多线程 客户端与服务端支持同时多重连接(不支持 Windows) 在适当的地方 选项中可以使用K(kilo )和M(mega ) 例如131072字节可以用128K代替 可以指定运行的总时间 甚至可以设置传输的数据总量 在报告中 为数据选用最合适的单位 服务器支持多重连接 而不是等待一个单线程测试 在指定时间间隔重复显示网络带宽 波动和丢包情况 服务器端可作为后台程序运行 服务器端可作为Windows 服务运行 使用典型数据流来测试链接层压缩对于可用带宽的影响 命令使用: for UDP Sending: iperf c [IP Addr] i 1 p [port] u t 10000 b 2M for UDP Receiving: iperf s i 1 u p [port] iperf c 10 0 5 5 i 1 p 6015 u t 10000 b 128k iperf s i 1 u p 6005 iperf c 10 18 61 66 i 1 p 6006 u t 99999 b 128k iperf s i 1 u p 6006 t 999999 运行后的结果在Clinet端: >iperf c 10 0 5 235 i 1 p 6005 u t 60 b 128k Client connecting to 10 0 5 235 UDP port 6005 Sending 1470 byte datagrams UDP buffer size: 8 00 KByte default [ ID] Interval Transfer Bandwidth [1868] 0 0 60 2 sec 940 KBytes 128 Kbits sec [1868] Server Report: [1868] 0 0 60 8 sec 940 KBytes 127 Kbits sec 13 838 ms 0 655 0% [1868] Sent 655 datagrams">什么是Iperf Iperf 是一个网络性能测试工具 Iperf可以测试TCP和UDP带宽质量 Iperf可以测量最大TCP带宽 具有多种参数和UDP特性 Iperf可以报告带宽 延迟抖动和数据包丢失 编译与安装 Iperf2 0 2目前仅提供源码包的下载 当 [更多]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值