LSF_SPAN

article/2025/10/26 1:03:35

span字符串指定并行作业运行的位置。如果省略span, LSF将从可用的处理器中为作业分配所需的处理器。

一、语法

  • span[host=1]:指示分配给作业的处理器必须位于同一个主机上。

  • span[block=value]:对并行作业来说,LSF将根据block size来分配slots。LSF将尽可能的打包同一台设备上面的block,然后再检查下一个。

  • span[ptile=value]:每台设备分配给job的处理器数量,该值有以下的几个:

    • 默认的值由value指定,在下面的例子中作业在每台设备上需求4个处理器,不考虑主机真实具有多少处理器。
      在这里插入图片描述

    • 以下例子通过!使用预定义的ptile值,该值定义在lsb.hosts(MXJ)。
      在这里插入图片描述
      注:如果在lsb.hosts中并未定义该值,则忽略。在低于3.0的bash中,ptile='!',使用+H选项禁用"!"样式。

    • 预定义的ptile与多个ptile值共用

      • 对于主机type,必须在-R中指定same[type],在以下的例子中,在HP类似设备请求8个处理器,在Linux主机类型中请求2个处理器,其他的设备按照lsb.hosts中预定义的值进行取值。
        在这里插入图片描述
      • 对于主机model,必须在-R中指定same[mode],在以下的例子中,在PC1133 mode中的每个设备请求4个处理器,在PC233 mode中的每个设备请i去2个处理器,其他的设备按照lsb.hosts中预定义的值进行取值。
  • span[stripe]
    对于并行作业,LSF在候选主机的可用资源中划分作业的任务。
    例如,如果你提交了一个作业,请求四个任务,使用以下命令:
    在这里插入图片描述
    任务的放置取决于可用资源:

    • 如果只有一台可用主机,这台主机将有4个作业;
    • 如果有2台可用主机,每台主机将有2个作业;
    • 如果有3台可用主机,每台主机将有2,1,1个作业;
    • 如果有4台可用主机,每台主机将有1,1,1,1个作业;
  • span[stripe=max_tasks]
    对于并行作业,LSF将任务分发到候选主机中的一台,至到最大任务,再向下一个候选主机派发任务。

  • span[host=-1]
    禁用队列中的span设置。LSF从可用的处理器中为作业分配所需的处理器。

二、示例

下面的例子是在有以下空闲主机的集群中提交的任务:
在这里插入图片描述

  • 提交一个需要32slots的作业:
    在这里插入图片描述
    查看作业的分布:
    在这里插入图片描述
    任务平均分配给主机,任何额外的任务都分配给第一个主机。主机1、主机2上有7个任务,主机3、主机4、主机5上有6个任务。
  • 使用ptile提交任务
    在这里插入图片描述
    作业分布情况如下:
    在这里插入图片描述
    每个主机恰好分配8个任务,除了如果要分配的任务总数更少,最后一个主机的任务可能比ptile的值更少。
  • 通过block提交作业并查看任务分布:
    在这里插入图片描述
    在这里插入图片描述
  • 提交任务到单个节点并查看任务分布
    在这里插入图片描述
    在这里插入图片描述

三、重调作业资源需求

如果通过span[host=1]请求资源,那么请求的slots将全部分布在第一个执行的节点上。这样操作可以排除歧义:作业将会在被派发的时候进行修改。

对于span[ptile=n],任务将在一定数量的主机上精确分配n个槽位,并且在一台主机上分配1到n个槽位(含)。即使请求了一个范围的插槽,这也是正确的。例如,对于以下作业提交:
在这里插入图片描述

这种特殊的span行为不仅适用于调整请求的大小。适用于原始分配已经完成的可调整大小的作业,并且实现额外的调整分配。

如果每一个主机仅有1个可用的slot,那么就只分配一个slot。

对主机部分填充的调整请求进行处理,这样LSF就不会选择已经被作业占用的主机上的任何槽位。例如,通常在span[ptile=1]中使用ptile特性来调度独占作业。

对于一个可调整大小的作业(自动可调整大小或其他),请求一定范围的插槽和跨度[ptile=n],每当该作业被分配插槽时,它将接收以下任何一个:

  • 最大数量的slots请求,多个节点节点请求slots数量为n,一个节点请求slots数量为1~n-1。
  • 多个节点slots数量为n,小于最大值的总和。

例如,如果作业请求1-14个可调整的slots,并且span[ptile=4],当额外的插槽分配给作业,作业获取以下两个情况的一个:

  • 14个slots,一个几点2个slots,3个节点4个slots;
  • 4、8、12slots,4slots分配给每一个节点。

示例

当运行并行作业,期望是span[ptile=1],意味着作业在每个主机上最多获取1个slots,对于一个自动调整的作业,新的slots将从主机上分配且该slots处于空闲状态。以下的例子实现上述需求:
在这里插入图片描述

四、Block scheduling

对于对网络延迟不是特别敏感的应用程序,或者你更期望获得大吞吐量,可以为具有特定块大小的并行作业分配插槽。由作业指定的应用程序可以作为线程进程运行在n个核组成的核组之上,使用MPI应用程序或块之间的其他套接字连接。LSF将根据块的大小为作业分配插槽。:LSF尝试在一台主机上打包尽可能多的块,然后转到下一台主机。每个主机只检查一次。哪个主机包含槽块并不重要。只要以前的工作一完成,他的工作就可以开始。

例如,在下面的插图中,每种颜色代表不同的工作。有四种16路工作:
在这里插入图片描述
对于bsub -n 16和block=4,只需要4 x 4个插槽块。哪个主机包含槽块并不重要。只要之前的任何作业完成,作业就可以立即开始。

资源需求字符串的span部分中的关键字block (" span[block=value] “)支持此打包策略。” span[block=value] "也可以在lsb.queues和lsb.applications中的RES_REQ参数中配置。

当为作业指定块大小时,LSF只为作业分配块大小的倍数。例如,对于块大小为4的作业:

  • bsub -n 2,13:4、8、12slots将会被分配
  • bsub -n 5:作业将被拒绝
  • bsub -n 2,3:作业将被拒绝
  • bsub -n 12:接收作业并分配3个block大小为4
  • bsub -n 3:作业拒绝

-n min,max中的最小值将被静默更改为块的倍数。例如:
在这里插入图片描述
更改为:
在这里插入图片描述
LSF尝试将尽可能多的块打包到一个主机中,然后转到下一个主机。例如,假设host1有8个槽位,host2有8个槽位,host3也有8个槽位,每个主机的2个槽位被其他作业占用。对于-n 9 "span[block=3] "的作业,分配将是:

在这里插入图片描述
下面是一个示例,您可以显示主机及其静态和动态资源信息,指定作业的块大小和资源要求,并查看输出:

在这里插入图片描述


http://chatgpt.dhexx.cn/article/sUxfsti7.shtml

相关文章

集群调度LSF-学习笔记

集群-------多台设备 HPC集群----多台用于计算的设备 集群调度-LSF:LSF 是一种强大的工作负载管理平台,提供基于各种策略的智能调度功能,利用分布式的基础架构资源来提高整体的系统性能。用户通过 LSF可以实现集群间的负载均衡,扩…

IBM Platform LSF在IC行业内的使用

LSF在IC设计中有哪些值得匹配的 1、管理低利用率Job •针对short normal这类队列,查询20分钟以后,Job利用率依然很低的Job信息。 •$bjobs -u all -q short -o ‘id user queue stat ugroup first_host sla idle_factor slots …

IBM Spectrum LSF-手册

在所有规模的企业中,应用程序能力和数据量持续显著增长,推动了对更多计算能力和高性能管理和分析工具的需求。即使在传统的高性能计算(HPC)环境中,多个计算竖井、不均匀处理、设计周期泄漏和延迟结果也是常见的。面对日益严格的经济压力&…

LSF - 提交GUI应用到LSF无法运行,报错Failed to connect to socket /tmp/dbus-xxxxxxxxx: Connection refused

问题描述 提交GUI应用到LSF无法运行,如下所示 问题分析 这种GUI应用,不能以交互式的方式提交。提交命令换成bsub firefox即可。

LSF的使用方法总结

一、LSF 基本介绍 LSF(Load Sharing Facility)是IBM旗下的一款分布式集群管理系统软件,负责计算资源的管理和批处理作业的调度。它给用户提供统一的集群资源访问接口,让用户透明地访问整个集群资源。同时提供了丰富的功能和可定制…

IBM Spectrum LSF

IBM Spectrum LSF IBMSpectrum LSF系列是对用于高性能计算(HPC)环境的工作负载管理解决方案有一个完整的组合。具有全面的智能配套调度能力,它有助于确保正确的资源自动分配到正确的作业,最大限度地提高应用程序性能和效率。具有强大的管理功能和无与伦…

LSF - 集群概览

LSF - 集群概览 LSF - 术语与概念 Job状态 PEND 在队列中等待调度和调度的。RUN 发送到主机并运行。DONE 正常结束与零退出值。EXIT 以非零退出值结束。PSUSP 当作业挂起时挂起。USUSP 被用户挂起。SSUSP 被LSF系统挂起。POST_DONE 后处理完成,没有错误。POST_ER…

LSF集群搭建笔记

LSF-linux_amd64集群搭建记录 修改节点ip地址为静态ip安装并开启ssh服务修改主机名修改/etc/hosts文件(为了方便所有机器都要改)设置集群间ssh免密钥通信(如果想root间无需密码登陆需要设置了所有机器可以root登陆,并改root密码为固定密码,默认root密码每…

LSF集群基本概念介绍

集群的基本概念-作业 作业是集群中最重要的一个概念,用户通过提交作业申请集群计算资源,完成计算任务作业状态 • PEND (待定)- - 作业在队列中等待调度与分派 • RUN (运行)- - 作业已经被分派到节点机上…

LSF client安装

在master01节点添加: [rootmaster01 conf]# pwd /share01/app/lsf/conf [rootmaster01 conf]# ls cshrc.lsf lsf.cluster.nju_cluster1 lsf.shared perl.lsf ego lsf.conf lsf.shared.old profile.lsf lsbatch lsf.entitlement…

LSF Reordering

可通过[! ]重新排序作业调度主机。 假设: 主机resh1110h220 假设如上两个作业处于pending状态,在同一个调度周期内被调度器考虑,首先调度job1。 在调度周期的早期,通过获取集群中的所有主机或任何(-m)请求的主机列表中列出的主机…

LSF安装部署

前言 目前,市面上主流的HPC调度器分为LSF、SGE、Slurm、SGE四大类型,不同行业根据自身场景和不同调度器对应用支持力度的不同,往往会有不同的偏好,在芯片设计公司中最常用的是LSF LSF(Load Sharing Facility&#xf…

关于LSF的高级用法

1、通过脚本查询Job的利用率和所占的Core数,从而管理低利用率的Job。 •通过脚本查询JOB的利用率和所占的CORE数,从而管理低利用率的JOB。 •低CPU利用率的JOB要特别小心,最可能存在2个原因:JOB缺少LICENSE导致等待;存…

LSF_术语及概念

术语及概念 作业状态: PEND:在队列中等待调度和分派。RUN:分配给指定主机并运行。DONE:返回值为0,正常结束。PSUSP:在调度和分派时暂停。(具体暂停条件待考究)USUSP:由…

LSF - 基础 - 管理

LSF - 基础 - 管理 在LSF环境下工作 启动、停止与重新配置LSF 使用 LSF 管理命令 lsadmin 和 badmin 来启动和停止 LSF 守护进程,并重新配置集群属性。 两个 LSF 管理命令(lsadmin 和 badmin) 这两个命令只有LSF管理员或root能运行。 要…

【学习OpenCV4】案例1:Windows OpenCV C++语言开发环境搭建

本文的案例内容源自于图书**《学习OpenCV 4:基于Python的算法实战》**,该书是国内第一本完整介绍OpenCV4的图书,第一章有在各个平台搭建环境的介绍,后面每个章节都有对模块的导读、模块经典算法的案例介绍以及进阶阅读&#xff0c…

【学习OpenCV4】OpenCV4入门介绍

本文内容大部分来自图书《学习OpenCV 4:基于Python的算法实战》,该书是国内第一本完整介绍OpenCV4的图书,第一章有在各个平台搭建环境的介绍,后面每个章节都有对模块的导读、模块经典算法的案例介绍以及进阶阅读,适合图…

学习OpenCV(1)概述

目录 基础知识 OpenCV的起源与目标 练习 基础知识 什么是OpenCV OpenCV是一个开源的计算机视觉库。OpenCV设计用于进行高效的计算,十分强调实时应用的开发。 什么是计算机视觉 计算机视觉这种技术可以将静止图像或视频数据转换为一种决策或新的表示。所有这种…

学习OpenCV3:Cmake+MinGW编译OpenCV

1. 准备 1.1 下载OpenCV源码 OpenCV下载地址1:https://opencv.org/releases/ OpenCV下载地址2:https://github.com/opencv/opencv/releases OpenCV下载地址3:https://github.com/opencv/opencv 提示:下载地址1和下载地址2可以直…

【学习OpenCV4】键盘鼠标操作总结

本文分享内容来自图书《学习OpenCV 4:基于Python的算法实战》,该书内容如下: 第1章 OpenCV快速入门; 第2章 图像读写模块imgcodecs; 第3章 核心库模块core; 第4章 图像处理模块imgproc(一&…