LSF集群作业管理系统
简介
LSF (Load Sharing Facility)是一个被广泛使用的作业管理系统,具有高吞吐、配置灵活的优点。通过 LSF 集中监控和调度,可以充分利用计算机的CPU、内存、磁盘等资源。
常用命令
- bqueues:查看计算队列
- bhosts:查看计算节点列表
- lsload:查看负载
- bsub:提交作业
- bjobs:查看作业状态
- bkill:终止作业
- bpeek:查看作业的标准输出
- bhist:作业历史信息
作业提交bsub
bsub调用方法
可以通过以下三种方法使用 bsub 来提交作业:
- 直接在命令行中输入完整参数:
- 进入 bsub 环境交互提交:
- 编写作业提交脚本供 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集群作业管理系统相关推荐
- (海贼)集群监控管理系统
集群监控管理系统 设计说明 名称:集群监控管理系统 英文名:SystemMonitor 物理架构:C/S架构,即客户端,服务器型架构 开发语言:C 开发平台:CentOS 10 最新版本:v0.1 ...
- 集群任务管理系统SGE的简明教程
我用的一个服务器上装了一个集群管理工具(SGE, Sun Grid Engine), 用于从登陆节点上向计算节点进行任务投递.一开始,不太会用,但是经过一段时间的摸索学习后,终于能顺手的用起来了. 在 ...
- 集群资源管理系统 yarn平台的配置
1. 首先找到hadoop/etc/hadoop/mapred-site.xml.template文件,重名为mapred-site.xml 修改hadoop/etc/hadoop/mapred ...
- linux环境下作业调度,Linux集群环境下作业调度算法的研究与实现
摘要: 集群计算环境中的作业调度接收用户提交的作业请求,并采用适当的调度策略选择计算节点资源来运行用户作业.作业调度策略决定了整个集群系统的效率,尤其是提交计算量大的作业时,良好的作业调度可以大大加快 ...
- 备战双 11!蚂蚁金服万级规模 K8s 集群管理系统如何设计?
戳蓝字"CSDN云计算"关注我们哦! 作者 | 沧漠 责编 | 阿秃 导读:Kubernetes 的出现使得广大开发同学也能运维复杂的分布式系统,它大幅降低了容器化应用部署的门 ...
- 备战双 11!96秒,100亿,支付宝万级规模 K8s 集群管理系统如何设计?
2019年双11来了.1分36秒100亿,5分25秒超过300亿,12分49秒超500亿--全球最大流量洪峰54.4万笔,阿里巴巴核心系统全部上云... 背后的技术支撑到底是怎么样的呢? 导读:Kub ...
- 浅谈分布式集群管理系统
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是分布式专题的第11篇文章,我们一起来聊聊分布式集群资源管理. 在开始文章之前,我们先来问一个问题,为什么是国际上是亚马逊,国内是阿里这 ...
- 集群-大规模Linux集群部署-MPI集群搭建与MPI编程
一.集群的概念及其相关技术 集群计算机是指利用高速通信网络将一组高档工作站或PC按某种结构连接起来,在并行程序设计甚至可视化人机交互集成开发环境支持下,统一调度,协调处理,实现高效并行处理的系统,利用 ...
- 多代理集群调度:可伸缩性和灵活性
今天阅读了一个berkeley学生Andrew Konwinski的有关集群资源调度的技术报告,其中对于目前现有集群调度技术的分类,我觉得说的很好,另外,它还介绍了一种模拟实验的蒙特卡洛方法,现在做一 ...
- 有效可靠地管理大规模 Kubernetes 集群
作者 | 蚂蚁金服高级技术工程师 沧漠 前言 Kubernetes 以其超前的设计理念和优秀的技术架构,在容器编排领域拔得头筹.越来越多的公司开始在生产环境部署实践 Kubernetes,在阿里巴巴和 ...
最新文章
- Python爬虫入门教程 54-100 博客园等博客网站自动评论器
- MySQL战士database_linux环境中mysql数据库的安装
- nginx在linux reload报错,linux下安装nginx
- NYOJ 585 取石子(六)
- 补码原理一个字节存储数值的范围如何计算
- 【NC30】缺失的第一个正整数
- 《零基础》MySQL 连接(四)
- 毕业设计论文选题系统系统用例图_基于Web的毕业论文管理系统的设计与实现
- 修改 Linux 主机名
- 判断mysql指定数据库指定表是否存在的SQL语句
- 《图解算法》学习笔记之散列表(hash table)
- 人物-周鸿祎:周鸿祎
- vnc远程,在windows下如何实现vnc远程
- java微博模拟登陆_java 模拟登录新浪微博(通过cookie)
- 计算机考研统考压分吗,担忧!考研初试会被压分吗?
- Your actions speak louder
- 应用程序配置不正确解决方法
- wxformbuilder软件制作gui界面教程
- 如何考上复旦大学研究生
- perl读取文件夹下的文件