调度系统对用户使用资源的限制

由于目前超算中心的建设规模远远无法满足中心用户的计算需求,而同时又是向校内师生提供免费的计算服务,无法避免的出现了使用浪费的现象。中心采取多种限制策略组合的方式,一方面保障资源的利用效率,一方面保障众多用户使用的公平性。对每个用户的限制策略主要包括以下几个方面(各超算系统的限制参数会有差别):

提交作业可使用的队列:

根据各体系计算程序的使用方法、并行计算模式、内存需求等,将队列主要分为serial队列、normal队列、mpi队列、long队列、large队列、fat队列,以及其他一些特殊的队列等。各超算系统上,队列设置可使用命令:bqueues查看,命令:bqueues -l 队列名查看各队列的详细说明信息。

最大可同时计算作业数:

单个用户的已提交作业,处于运行(RUN)状态的作业数的上限限制。

最大可同时排队作业数:

单个用户的已提交作业,处于排队(PEND)状态的作业数的上限限制。当达到此限制时,系统会有提示警告信息,用户将无法提交新的作业。可待前边排队中的作业运行之后,继续提交新的作业排队。

最大可同时计算作业进程数:

每个作业使用的进程数与运行中作业数的乘积的上限限制。每个作业使用的进程数由用户根据实际计算需求自行设定,但受到可使用队列的限制。在未达到“最大可同时计算作业数”的情形下,单作业所需进程数越多,可运行作业数越少,单作业所需进程数越少,可运行的作业数越多。并行计算的程序单作业使用的进程数越少,往往计算的越慢。

用户组最大可同时计算作业进程数:

个别课题组学生较多,申请的计算帐号也较多,为保障资源分配的公平性,以课题组为单位,对该组内所有用户可用的总的计算资源进行限制。

单作业最大可计算时间长度:

作业开始运行到运行结束的时间长度限制,防止个别用户使用脚本等长期占用计算节点,保障计算资源得到及时释放。

作业任务计算的操作步骤

准备输入文件:

通过ftp/sftp等方式将已准备好的计算任务文件上传到超算系统上,或根据需要直接在超算系统上使用vim或emacs等编写输入文件。

提交计算任务:

使用bsub命令将作业提交到LSF作业调度系统上。若提交成功,系统会显示提示信息,已提交的任务将分配得到一个作业号。利用bjobs命令可查看已提交的作业。若提交不成功,请根据系统提示执行后续操作。无法解决的问题可随时联系超算中心老师进行解答处理。

计算任务开始排队:

已提交的作业首先进入作业队列中进行排队,同一队列中作业提交的时间顺序决定在队列中的前后。

调整队列中的作业:

已经开始运行的作业无法再调整提交参数,尚在队列中排队的作业可以调整提交参数,使用命令为bmod。比如,更改作业所在队列、计算所需进程数、输出结果文件名、调整用户自己排队中作业的前后顺序等。

调度资源与分配运行:

LSF作业调度系统会实时的监测各个计算节点的空闲情况及状态,判断是否满足队列中排队作业的计算使用需求。若满足需求,则为作业分配计算节点进行计算。

作业开始计算:

当条件满足时,作业被分配到相应的计算节点上执行计算。LSF作业管理系统监测并收集正在执行的作业状态信息及输出信息,并将输出结果信息生成在作业提交时的文件目录下或作业提交时指定的文件中。

作业查询与终止:

计算中的作业,可通过查看作业默认或指定的输出文件或使用bpeek命令进行输出状态查询。若程序计算异常,可使用bkill命令终止删除作业。

获取计算结果:

默认情况下,计算结果文件保存在提交计算作业的目录下边,亦可在提交作业时指定其他的结果文件生成目录。可使用more、cat等Linux系统命令查看结果文件。或根据需要将结果文件通过ftp/sftp等方式下载到个人电脑上进行后期处理分析。

其中,3、5、6步骤将由LSF作业调度系统自动完成,无需用户参与。

提交作业命令bsub的常用参数介绍

提交作业的命令是:bsub,详细命令参数可用命令:man bsub查看。作业提交首先要确认预计算的程序有可执行权限:

hello_test

作业提交成功,系统分配得到作业号:818500。各参数说明如下:

-q

指定作业提交的队列名为normal,可根据计算需求更换为其他队列名,提交作业时必须指定。

-n

指定作业申请使用的进程数为8,可根据计算需求更换为其他进程数,提交作业时必须指定。

-o

指定作业的标准输出文件为%J.log,%J在文件输出时对应作业提交后分配得到的作业号(此处为818500),可更换%J.log为其他自行定义的文件名称。

-e

指定作业的错误输出文件为%J.err,%J在文件输出时对应作业提交后分配得到的作业号(此处为818500),可更换%J.err为其他自行定义的文件名称。此参数可用于在作业异常退出时查看错误提示信息,请尽量在提交作业时指定。

-J

指定作业的作业名为hello_test,可更换为其他自行定义的文件名称。

mpijob

为LSF作业调度系统的作业提交时调用的系统命令。后跟用户自己的执行程序或脚本

./123.sh

为用户自己的执行程序或脚本为hello.sh,./执行程序在当前目录下。hello.sh之后,若有程序本身自己的各项参数,可照常指定添加。提交作业时必须指定。

查询作业状态命令bjobs的常用参数介绍

查询作业状态的命令是:bjobs,直接执行此命令,可查询个人帐号下所有作业的状态。命令:bjobs -l 作业号可查看作业的当前详细状态信息。作业状态有以下几种:RUN

作业正在运行计算中:

bjobs_run

PEND

作业在排队中,尚未开始计算:

bjobs_pend

PSUSP

作业在排队中时被挂起。

status3

USUSP

作业在计算过程中时被挂起。

SSUSP

作业被LSF作业调度系统挂起,

作业排队的常见原因说明:bjobs -p

查询作业排队原因的命令:bjobs -p 作业号,常见作业排队原因:

pending1

用户作业达到了排队中作业所在队列的个人作业进程数上限。此队列中用户正在运行的作业有计算结束,才会再分配后续的排队作业。

pending2

排队中作业达到了所在队列可使用节点数的上限。此队列中所有用户正在运行的作业有计算结束,才会再分配此队列中排在最前边的作业。

pending3

用于已运行的作业数达到了系统规定的限制,需已运行的作业有新的计算结束,排队中的作业才会进入系统调度。

pending4

队列中已经运行的所有作业的总使用进程数,达到了系统上队列队列总作业进程数的上限。需该队列中已运行的作业有新的计算结束,才会调度该队列中排在第一位的作业。

对未完成作业进行调整:bmod、btop、bstop、bresume

更改作业提交参数:

只能在作业尚处于排队中时,已经运行的作业无法再更改提交或计算参数。使用命令为:bmod,在提交作业时的bsub之后与mpijob之前的参数均可进行更改,此命令详细参数可用man bmod查看。更改作业的前后顺序:

有多个作业在排队时,有时希望让后提交的作业排在前边,可使用命令:btop,此命令影响的仅仅是个人帐号下自己的作业,对其他用户的作业没有任何影响。挂起未完成的作业:

可以将未完成的作业挂起,不能挂起已经处于挂起状态的作业。使用命令为:bstop,挂起的运行中的作业将终止计算,但作业进程并不结束。可使用命令bresume将挂起的作业恢复。另一种处理方法的命令是,挂起作业:bkill -s STOP,恢复作业:bkill -s CONT此命令处理中心不鼓励使用,因挂起的作业仍会占用计算节点上的系统内存,可能会影响其他用户的后续计算使用。删除结束作业:

使用命令为:bkill,对个人帐号下排队中的作业和运行中的作业均可进行操作。bkill 作业号可结束单个作业,bkill 0 结束所有作业。

作业异常退出

提交作业时请加上-o和-e参数,作业异常退出后,根据标准输出和错误输出文件,查看异常退出的提示说明信息。使用bacct -l 作业号的命令可查看作业历史纪录。

常见的作业异常退出原因有:

libxxxx.so.x函数库文件未找到:程序执行需要的函数库文件缺失。请根据需要重新编译程序,指定函数库文件的存在目录。若系统上不存在需要的函数库文件,请联系超算中心老师进行统一更新安装。操作熟练的用户亦可自行安装文件到自己的帐号目录下使用。

可执行文件未找到:请指定预计算程序存的具体存在目录。

请指定一个可执行文件:作业提交时,指定的执行程序没有可执行权限。请使用命令chmod u+x 可执行文件名为指定程序添加可执行权限。

磁盘空间或内存不够:磁盘空间不够时,请及时清理使用帐号下的陈旧或无用文件,仍不满足需求的可邮件联系向中心提出申请增大磁盘空闲限额。内存不够时,请调整作业自身作业参数,或更换使用其他更大内存配置的作业队列。

用户的文件目录中存在空格:用户帐号的任务文件目录,目录名中间请勿存在空格,否则作业计算时会无任何结果输出的异常退出。

程序段错误:发生此种问题时,一般是用户自身程序的问题,请检查程序后再测试计算。

计算节点故障:程序运行过程中,使用到的计算节点发生故障,计算进程中断,作业异常退出。发生此情况时,一般均需要重新提交作业计算。

linux脚本pend什么意思,LSF Basis相关推荐

  1. linux脚本pend什么意思,【Linux】一篇文章彻底搞定信号!

    信号 1.信号是什么? 2.信号的种类 3.信号的产生 3.1硬件产生 3.2软件产生 4.信号的注册 4.1非可靠信号的注册 4.2可靠信号的注册 5.信号的注销 5.1非可靠信号的注销 5.2可靠 ...

  2. linux 脚本判断一个目录不存在

    linux 脚本判断一个目录不存在 1 2 3 4 #!/bin/sh if [ ! -d /mnt/u ]; then mkdir -p /mnt/u fi 本文转自 boy461205160 51 ...

  3. 将Linux脚本中的正常输出,警告,错误等信息输出到文件中

    将Linux脚本中的正常输出,警告,错误等信息输出到文件中 转载于:https://www.cnblogs.com/lwmp/p/7700339.html

  4. 病毒研究之感染linux脚本

    病毒研究之感染linux脚本     对于shell编程的程序员来说所谓的shell病毒技术就是小牛一毛而已,看完本文后你就会有所体会但,简单归简单,我们还是要去了解它,呵呵.  主要的shell病毒 ...

  5. Linux脚本实战之猜数字

    Linux脚本实战之猜数字 一.脚本要求 二.脚本示例一 三.脚本示例二 一.脚本要求 1.系统环境为RHEL8.0 2.脚本生成一个100以内的随机数,提示用户猜数字. 3.根据用户的输入,提示猜对 ...

  6. Linux脚本实战之检测网卡流量

    Linux脚本实战之检测网卡流量 一.脚本要求 二.脚本内容 三.运行脚本 一.脚本要求 1.检测网卡流量,并按规定格式记录在日志中,输出到/data/net.log/目录中以执行脚本时间命令的文件中 ...

  7. Linux脚本之定时清空文件内容

    Linux脚本之定时清空文件内容 一.脚本要求 二.脚本内容 三.运行脚本 一.脚本要求 1.要求创建名为rm_file.sh的脚本 2.要求在/home/tmp/下各以人名命名的临时目录,每天0点定 ...

  8. linux脚本编程(shell)浅介

    linux脚本编程(shell)浅介 2006-01-10 11:45 27693人阅读 评论(18) 收藏 举报 脚本shelllinux编程bash语言 linux脚本(shell)编程 啊,昨天 ...

  9. 马哥linux脚本,linux学习 – shell脚本

    shell是命令和硬件之间的桥梁 shell的工作方式分为两种:交互式.批处置 交互式:用户一次输入一条命令,shell翻译并执行一条 批处理:用户将多条命令构成一个shell脚本,执行脚本时,she ...

  10. 【Linux入门基础知识】Linux 脚本编写基础

    1. Linux 脚本编写基础 1.1 语法基本介绍 1.1.1 开头 程序必须以下面的行开始(必须放在文件的第一行): #!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序.在 ...

最新文章

  1. App_Offline.htm 一个静态页面实现整站维护时统一页面
  2. 1.11 抽象(abstract)类
  3. php获取网站根目录
  4. 2021年中总结汇报PPT
  5. 工作322:uni-扩展运算符实现拼接合并操作
  6. Android 自定义年月日日期选择器、时分时间选择器
  7. [渝粤教育] 中国地质大学 思想道德修养与法律基础 复习题
  8. android开机自启动程序设置
  9. 【Code】浅谈Pascal转C++
  10. pb使用http方式上传下载文件
  11. matlab u怎么求均方差,Matlab求方差,均值,均方差,協方差的函數
  12. java case 字符_Java中Switch Case使用字符串
  13. Android新手入门 FAQ
  14. HarmonyOS原子化服务案例分享-成语心情
  15. 一串文字检测被删和被拉黑的好友!
  16. sbrkr.c:(.text._sbrk_r+0xc): undefined reference to `_sbrk'
  17. 建站的原型图是什么意思?
  18. python2 + django 导出 excel 功能 接口示例代码(做记录)
  19. docker笔记之部署安装
  20. 儿童CPC认证,儿童学习用品CPC认证

热门文章

  1. iWatch开发的真机调试适配攻略
  2. MySQL备份的几种常用方法与恢复步骤
  3. jquery仿百度AI官网banner图片代码
  4. 禅说派-全图型PPT之图片处理技巧精粹
  5. 从命令行编译 JScript 代码
  6. nacos 默认 namespace: public 拿不到数据
  7. AI后门检测论文翻译:Universal Litmus Patterns: Revealing Backdoor Attacks in CNNs
  8. 基于51单片机的交通灯仿真方案原理图设计一个数码管
  9. linux基础及应用教程第二版课后答案,Linux基础及应用复习题(附加参考答案)
  10. 夜神模拟器卡在android,夜神安卓模拟器很卡怎么办?模拟器卡顿解决方法分享...