简介

LSF (Load Sharing Facility)是一个被广泛使用的作业管理系统,具有高吞吐、配置灵活的优点。通过 LSF 集中监控和调度,可以充分利用计算机的CPU、内存、磁盘等资源。

常用命令

  • bqueues:查看计算队列
  • bhosts:查看计算节点列表
  • lsload:查看负载
  • bsub:提交作业
  • bjobs:查看作业状态
  • bkill:终止作业
  • bpeek:查看作业的标准输出
  • bhist:作业历史信息

作业提交bsub

bsub调用方法

可以通过以下三种方法使用 bsub 来提交作业:

  1. 直接在命令行中输入完整参数:
  2. 进入 bsub 环境交互提交:
  3. 编写作业提交脚本供 bsub 处理。

直接输入完整参数

可以直接在 bsub 的命令行中输入完整的参数来提交一个作业,比如:

$ bsub -n 4 -q example-queue -o example.out ./example "-input data.txt"

其中所用的参数说明如下:

  • -n 指定所需的处理器数目;
  • -q 指定作业运行的队列;
  • -o 指定作业运行信息的输出文件;
  • "-input data.txt" 是传递给执行程序 example 的命令行参数。

这种方式比较适合提交简单的作业,更复杂的作业控制需要编写作业脚本。

使用作业提交脚本

LSF 作业脚本本质上也是一个 shell 脚本,在其中可以用 #BSUB开头的行来指明 bsub作业参数。下面是一个 LSF 作业脚本示例:

# example.lsf#BSUB -L /bin/bash
#BSUB -J example-mpi4py
#BSUB -q example-queue
#BSUB -n 4
#BSUB -o example.out
#BSUB -e example.errmpirun python example-mpi4py.py

其中各参数说明如下:

  • -L 指明所用的执行 shell,默认会调用 /bin/sh 执行脚本;
  • -J 指定作业名;
  • -q 指定作业队列;
  • -n 指定作业所需的进程数;
  • -o 指定作业的标准输出文件;
  • -e 指定作业的错误输出文件。

提交作业脚本,使用下面的命令:

$ bsub < example.lsf

交互式提交

在终端中输入 bsub 并回车后会进入 bsub 交互环境,在其中可输入作业参数和执行作业程序。在 bsub 交互环境下可以一次提交多个参数相同的作业,例如:

$ bsub
bsub> -n 4
bsub> -q example-queue
bsub> -o example.out
bsub> PROG1
bsub> PROG2
bsub> PROG3
bsub> Ctrl+D

使用 Ctrl+D 可退出 bsub 交互环境。

查看作业信息

可以用 bjobs 命令查看用户正在运行中的作业:

$ bjobs

使用 -l参数和某个作业的 JOBID,可以查看该作业的详细信息:

$ bjobs -l JOBID

中止作业

使用 bkill 命令中止某个作业:

$ bkill JOBID

LSF 使用 bsub 命令来提交作业。 
bsub 命令常见用法如下: 
bsub –n z –q QUEUENAME –i inputfile –o outputfile COMMAND 
其中z代表了提交作业需要的cpu数,–q指定作业提交到的队列,如果不采用–q选项,系统把作业提交到默认作业队列。
inputfile 代表程序需要读入的文件名(例如 namelist等),outputfile 代表一个文件,作业提交后标准输出的信息将会保存到这个文件中。COMMAND是用户要运行的程序。 
(1)对于串行程序COMMAND可以直接使用用户的程序名 
例如,对一个串行作业mytest, 提交方式为: 
bsub –n 1 –q debug –o mytest.out ./mytest 
(2) 对于并行作业COMMAND为“mpirun.lsf 程序名” 
例如对于一个72个小时内完成,使用16个cpu的并行作业mytest,提交方式为: 
bsub –n 16 –q normal –o mytest.out mpirun.lsf ./mytest 
例如对于一个72小时内完成,使用64个CPU的并行作业mytest,提交方式为:
bsub –n 64 –q hpc_linux –o mytest.out mpirun.lsf ./mytest 
bsub 命令可以使用输入脚本提交具有相同参数的作业,格式为: 
该脚本的参数与命令行 
“ bsub –n Z –q QUEUENAME –o outputfile COMMAND”参数相同。 
提交时为 bsub < 脚本名 
例如要提交一个72小时内完成,需要16个cpu的并行作业mytest,可以编写作业脚本 bsub.scriptfile 
#BSUB –n 16 
#BSUB –q normal 
#BSUB –o mytest.out 
mpirun.lsf ./mytest

作业提交方法为:bsub<bsub.scriptfile

bsub -Is ./mytest 这种提交方法可以将mytest的标准输出打印在屏幕

几个常用的指令: 
bjobs 检查提交作业状态 
bjobs 
bjobs -w 
bjobs –r 显示正在运行的作业 
bjobs –a 显示正在运行的和最近完成的作业 
bjobs -p 显示等待运行的作业和等待原因 
bjobs –s 显示正在挂起的作业和挂起的原因 
bjobs -l 显示该作业的所有信息 
bhist 显示最近完成作业或正在运行作业的历史情况 
bhist <jobid> 
bkill 删除不需要的作业 
bkill <jobid> 
bkill –r <jobid> 
bpeek 当作业正在运行时显示它的标准输出,监视作业运行 
bpeek <jobid> 
bqueues 显示队列信息 
bqueues 
bqueues –l <queue name> 
bhosts 显示各节点作业相关情况 
bhosts 
bhosts <hostname> 
lsload 显示各节点负载信息 
lsload 
lsload <hostname> 
lshosts处理各节点静态资源信息 
lshosts 
lshosts <hostaname>

LSF集群作业管理系统相关推荐

  1. (海贼)集群监控管理系统

    集群监控管理系统 设计说明 名称:集群监控管理系统 英文名:SystemMonitor 物理架构:C/S架构,即客户端,服务器型架构 开发语言:C 开发平台:CentOS  10 最新版本:v0.1 ...

  2. 集群任务管理系统SGE的简明教程

    我用的一个服务器上装了一个集群管理工具(SGE, Sun Grid Engine), 用于从登陆节点上向计算节点进行任务投递.一开始,不太会用,但是经过一段时间的摸索学习后,终于能顺手的用起来了. 在 ...

  3. 集群资源管理系统 yarn平台的配置

    1.    首先找到hadoop/etc/hadoop/mapred-site.xml.template文件,重名为mapred-site.xml 修改hadoop/etc/hadoop/mapred ...

  4. linux环境下作业调度,Linux集群环境下作业调度算法的研究与实现

    摘要: 集群计算环境中的作业调度接收用户提交的作业请求,并采用适当的调度策略选择计算节点资源来运行用户作业.作业调度策略决定了整个集群系统的效率,尤其是提交计算量大的作业时,良好的作业调度可以大大加快 ...

  5. 备战双 11!蚂蚁金服万级规模 K8s 集群管理系统如何设计?

    戳蓝字"CSDN云计算"关注我们哦! 作者 |   沧漠 责编 | 阿秃 导读:Kubernetes 的出现使得广大开发同学也能运维复杂的分布式系统,它大幅降低了容器化应用部署的门 ...

  6. 备战双 11!96秒,100亿,支付宝万级规模 K8s 集群管理系统如何设计?

    2019年双11来了.1分36秒100亿,5分25秒超过300亿,12分49秒超500亿--全球最大流量洪峰54.4万笔,阿里巴巴核心系统全部上云... 背后的技术支撑到底是怎么样的呢? 导读:Kub ...

  7. 浅谈分布式集群管理系统

    本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是分布式专题的第11篇文章,我们一起来聊聊分布式集群资源管理. 在开始文章之前,我们先来问一个问题,为什么是国际上是亚马逊,国内是阿里这 ...

  8. 集群-大规模Linux集群部署-MPI集群搭建与MPI编程

    一.集群的概念及其相关技术 集群计算机是指利用高速通信网络将一组高档工作站或PC按某种结构连接起来,在并行程序设计甚至可视化人机交互集成开发环境支持下,统一调度,协调处理,实现高效并行处理的系统,利用 ...

  9. 多代理集群调度:可伸缩性和灵活性

    今天阅读了一个berkeley学生Andrew Konwinski的有关集群资源调度的技术报告,其中对于目前现有集群调度技术的分类,我觉得说的很好,另外,它还介绍了一种模拟实验的蒙特卡洛方法,现在做一 ...

  10. 有效可靠地管理大规模 Kubernetes 集群

    作者 | 蚂蚁金服高级技术工程师 沧漠 前言 Kubernetes 以其超前的设计理念和优秀的技术架构,在容器编排领域拔得头筹.越来越多的公司开始在生产环境部署实践 Kubernetes,在阿里巴巴和 ...

最新文章

  1. Python爬虫入门教程 54-100 博客园等博客网站自动评论器
  2. MySQL战士database_linux环境中mysql数据库的安装
  3. nginx在linux reload报错,linux下安装nginx
  4. NYOJ 585 取石子(六)
  5. 补码原理一个字节存储数值的范围如何计算
  6. 【NC30】缺失的第一个正整数
  7. 《零基础》MySQL 连接(四)
  8. 毕业设计论文选题系统系统用例图_基于Web的毕业论文管理系统的设计与实现
  9. 修改 Linux 主机名
  10. 判断mysql指定数据库指定表是否存在的SQL语句
  11. 《图解算法》学习笔记之散列表(hash table)
  12. 人物-周鸿祎:周鸿祎
  13. vnc远程,在windows下如何实现vnc远程
  14. java微博模拟登陆_java 模拟登录新浪微博(通过cookie)
  15. 计算机考研统考压分吗,担忧!考研初试会被压分吗?
  16. Your actions speak louder
  17. 应用程序配置不正确解决方法
  18. wxformbuilder软件制作gui界面教程
  19. 如何考上复旦大学研究生
  20. perl读取文件夹下的文件

热门文章

  1. MySQL的 初步认识 - 细节狂魔
  2. php网站banner图片切换,最简单的Banner轮播左右切换效果代码及实现思路(附带源码)...
  3. 自学Python第二十天- MongoDB 库
  4. Arduino使用烟雾传感器
  5. 处理行内元素行内块元素中间空隙
  6. python三国演义人物出场统计
  7. 黑莓BlackBerry 模拟器上浏览网页
  8. sudo rosdep init 失败的解决方法(适用于非自身设备网络、证书等故障的情况)
  9. java 微信群组头像_仿微信生成群组头像
  10. 十进制转换为其他进制(c语言)