在 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/235115.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

鸿蒙开发之压缩/解压缩

本次学习遗留一个问题&#xff1a;压缩/解压缩的路径怎么获取&#xff1f;&#xff1f;希望知道的小伙伴能给说一下&#xff0c;私聊评论皆可。 一、API使用 代码相对来说比较简单 //需要导入的头文件 import zlib from ohos.zlib//压缩函数 function zipFile() {let rawfil…

高通平台开发系列讲解(USB篇)adb应用adbd分析

沉淀、分享、成长,让自己和他人都能有所收获!😄 在apps_proc/system/core/adb/adb_main.cpp文件中main()函数会调用adb_main()函数,然后调用uab_init函数 在uab_init()函数中,会创建一个线程,在线程中会调用init_functionfs()函数,利用ep0控制节点,创建ep1、ep2输…

在区块链中看CHAT的独特见解

问CHAT&#xff1a;谈谈对区块链以及区块链金融的理解 CHAT回复&#xff1a;区块链是一种去中心化的分布式数据库技术&#xff0c;这种技术通过加密算法&#xff0c;使数据在网络中传输和存储的过程变得更加安全可靠。区块链的出现引领了存储、交易等形式的革命&#xff0c;改变…

Vue2源码梳理:源码构建流程与运行时和编译时的版本选择

Vue.js 源码构建 1 &#xff09;rollup 和 webpack 的对比 vuejs的源码呢是基于rollup构建的 参考: https://github.com/rollup/rollup rollup 和 webpack 都是一个构建工具 webpack 它会更强大一些, 会把像图片, css等静态资源通通编译成javascriptrollup 更适合一种javscri…

jquery、vue、uni-app、小程序的页面传参方式

jQuery、Vue、Uni-app 和小程序&#xff08;例如微信小程序&#xff09;都有它们自己的页面传参方式。下面分别介绍这几种方式的页面传参方式&#xff1a; jQuery: 在jQuery中&#xff0c;页面传参通常是通过URL的查询参数来实现的。例如&#xff1a; <a href"page2…

通过https协议访问Tomcat部署并使用Shiro认证的应用跳转登到录页时协议变为http的问题

问题描述&#xff1a; 在最近的一个项目中&#xff0c;有一个存在较久&#xff0c;并且只在内部城域网可访问的一个使用Shiro框架进行安全管理的Java应用&#xff0c;该应用部署在Tomcat服务器上。起初&#xff0c;应用程序可以通过HTTP协议访问&#xff0c;一切运行都没…

FreeCodeCamp--数千免费编程入门教程,非盈利性网站,质量高且支持中文

在浏览话题“Github上获得Star最多的项目”时&#xff0c;看到了FreeCodeCamp&#xff0c;顾名思义--免费编程营地&#xff0c;于是就做了些调研&#xff0c;了解了下这是个什么项目 这是一个致力于推动编程教育的非营利性组织&#xff0c;团队由来自世界各地的杰出的技术开发…

java中常用的加密算法总结

目前在工作中常用到加密的一些场景&#xff0c;比如密码加密&#xff0c;数据加密&#xff0c;接口参数加密等&#xff0c;故通过本文总结以下常见的加密算法。 1. 对称加密算法 对称加密算法使用相同的密钥进行加密和解密。在Java中&#xff0c;常见的对称加密算法包括&…

驱动学习篇

随记&#xff0c;不定时更新驱动相关知识&#xff0c;累积驱动开发相关经验 一、知识点 1. bios与vbios的区别 BIOS&#xff08;Basic Input/Output System&#xff09;和VBios&#xff08;Video BIOS&#xff09;是计算机系统中的两个不同的组成部分&#xff0c;它们具有以…

机器人也能干的更好:RPA技术的优势和应用场景

RPA是什么&#xff1f; 机器人流程自动化RPA&#xff08;Robotic Process Automation&#xff09;是一种自动化技术&#xff0c;它使用软件机器人来高效完成重复且有逻辑性的工作。近年来&#xff0c;随着人工智能和自动化技术的不断发展和普及&#xff0c;RPA已经成为企业提高…

模拟信号和数字信号的区别

模拟和数字信号是携带信息的信号类型。两种信号之间的主要区别在于模拟信号具有连续电信号&#xff0c;而数字信号具有非连续电信号。 模拟信号和数字信号之间的差异可以通过不同类型波的例子来观察。 什么是模拟信号(Analog Signals)&#xff1f; 许多系统使用模拟信号来传输…

基于SpringBoot+Vue的小区物业管理系统

基于SpringBootVue的小区物业管理系统的设计与实现~ 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringBootVue工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 主页 房屋类型 论坛 登录界面 管理员界面 员工界面 摘要 小区物业管理系统是一个…

翻译: LLMs离通用人工智能AGI有多远 20个小时学会开车 Artificial General Intelligence

AGI&#xff0c;即人工通用智能&#xff0c;是一个令人兴奋的概念。我认为围绕它的一些混淆源于“通用”这个词的使用。正如您所知&#xff0c;人工智能是一种通用技术&#xff0c;意味着它对许多不同的事情都有用。大型语言模型的崛起导致了像ChatGPT这样的单一模型可以用于许…

鸿蒙(HarmonyOS)应用开发—— video组件实操

video 组件 harmonyOS 系统提供了基础的video。下面就直接上代码 原始video 新建项目 customVideo项目 本地视频 网络地址&#xff0c;就不用说明&#xff0c;只需要把地址换成网络地址即可 在resource 文件夹下的rawfile文件夹下 添加视频 在index.ets Video({src:$rawf…

自动化测试工具——Monkey

前言&#xff1a; 最近开始研究Android自动化测试方法&#xff0c;整理了一些工具、方法和框架&#xff0c;其中包括android测试框架&#xff0c;CTS、Monkey、Monkeyrunner、benchmark&#xff0c;以及其它test tool等等。 一、 什么是Monkey Monkey是Android中的一个命令行…

数组深入学习感悟

注&#xff1a;本文学习借鉴于《代码随想录》 一.介绍数组 数组是储存在连续内存空间中的相同类型数据的集合 数组名的理解&#xff1a; 数组名就是数组⾸元素(第⼀个元素)的地址是对的&#xff0c;但是有两个例外&#xff1a; sizeof(数组名)&#xff0c;sizeof中单独放数…

Mybatis-Plus讲义v1.0

Mybatis-Plus 课程目标 了解Mybatis-Plus 整合Mybatis-Plus 通用CRUD Mybatis-Plus的配置 条件构造器 Mybatis-Plus 的Service封装 代码生成器 1 Mybatis-Plus介绍 1.1 Mybatis-Plus介绍 MyBatis-Plus&#xff08;简称 MP&#xff09;是一个 MyBatis 的增强工具&…

Ubuntu-20.04.2 mate 上安装、配置、测试 qtcreator

一、从repo中安装 Ubuntu-20.04.2的repo中&#xff0c;qtcreator安装包挺全乎的&#xff0c;敲完 sudo apt install qtcreator 看一下同时安装和新软件包将被安装列表&#xff0c;压缩包252MB&#xff0c;解压安装后933MB&#xff0c;集大成的一包。 sudo apt install qtcrea…

现代雷达车载应用——第3章 MIMO雷达技术 3.2节 汽车MIMO雷达波形正交策略

经典著作&#xff0c;值得一读&#xff0c;英文原版下载链接【免费】ModernRadarforAutomotiveApplications资源-CSDN文库。 3.2 汽车MIMO雷达波形正交策略 基于MIMO雷达技术的汽车雷达虚拟阵列合成依赖于不同天线发射信号的可分离性。当不同天线的发射信号正交时&#x…

软件设计模式:UML类图

文章目录 前言一、&#x1f4d6;设计模式概述1.软件设计模式的产生背景2.软件设计模式3.设计模式分类 二、&#x1f4e3;UML图1.类图概述2.类的表示法3.类与类之间的关系关联关系&#xff08;1&#xff09;单向关联&#xff08;2&#xff09;双向关联&#xff08;3&#xff09;…