16、SGE作业调度系统的简介

转载:http://www.zilhua.com/2222.html

http://gridscheduler.sourceforge.net/htmlman/

 

SGE作业调度系统的简介

一、常见的几种作业调度系统

Condor是一个资源管理和作业调度系统,是来自Wisconsin-Madison大学的研究项目。充分利用工作站的空闲时间是Condor的最显著特征。Condor管理的机群由网络中的工作站组成,工作站可以自愿加入或退出。Condor监测网络中所有工作站的状态,一旦某台计算机被认为空闲,便把它纳入到资源池中。在资源池中的工作站被用来执行作业。

Sun网格引擎(Sun Grid ,SGE)是一种来自于SUN Microsystem的分布式资源管理和调度系统,它用来在基于UNIX的计算环境中优化软件和硬件资源的使用。SGE能用于查找资源池内的闲置资源并利用这些资源;它同样用于通常的一些事务中,例如管理和调度作业到可用资源中。

负载共享设施(Load Sharing Facility,LSF)是由加拿大平台计算公司研制与开发的,由Toronto大学开发的Utopia系统发展而来。在使用范围上,LSF不仅用于科学计算,也用于企业的事务处理。功能上,除了一般的作业管理特性外,它还在负载平衡、系统容错、检查点操作、进程迁移等方面作了很好的努力,并力图使之实用化。

便携式批处理系统(Portable Batch System,PBS)是一个资源管理和调度系统,它接受批处理作业(具有控制属性的shell脚本),保留和保护作业直到它开始运行。因为一个批处理作业是一个无需用户干预的,在计算机系统后台运行的程序,在批处理作业运行过程中,用户无法实时地得到作业运行结果,所以PBS只能在作业执行后,将作业结果返回给提交者。目前,PBS包含开源免费的OpenPBS、商业付费的PBS Pro、Torque三种分支。

二、SGE 常见指令

  1. qsub 提交任务
-cwd#从当前工作路径运行作业
-wd working_dir#定义工作目录
-o  path定义标准输出文件路径、文件名
-e  path#定义标准错误输出文件路径、文件名
-j y[es]|n[o]#定义作业的标准错误输出是否写入到输出文件中
-now y[es]|n[o]#立即执行作业
-a date_time#作业开始运行时间
-b y[es]|n[o]#指定运行程序是二进制文件还是脚本文件,默认n
-m b|e|a|s|n#定义邮件发送规则。
b:作业开始时发送。e:作业结束时发送。a:作业失败时发送 s:作业挂起时发送。n:不发送
-M user[@host]#定义邮件地址
-l resource=value#表明作业运行所需要的资源。【-l arch=solaris64,h_vmem=750M,permas=1】
-N job_name#重命名作业名
-q queue_name#定义作业运行队列
-S shell_path#指定运行Shell环境
-P project_name#定义项目名称,前提是存在该项目
-p priority#定义优先级,-1023 到 1024 , 默认值0
-r y[es]|n[o]#定义作业失败后是否重新运行 -
v variable#定义环境变量
-dl date_time#定义作业到期时间,在作业到期时间之前,作业的优先级会逐步提高,直到管理员指定的最高级别。

举个栗子:

qsub –cwd  -l  h=compute-1-1, h_vmem=5G,p=4  -q all.q work.sh

其中:

-cwd 在当前工作目录;

-l 资源申请/限制,用逗号隔开

-q 申请队列

关于资源限制域,可以通过如下指令查看:qconf -sc

下面列举一些常见的关键字:

#nameshortcuttyperelopdefaulturgencydefine
cpucpuDOUBLE>=00cpu nums
h_vmemh_vmemMEMORY<=00The per-job maximum memory limit in bytes.
hostnamehHOST==NONE0host name
mem_freemfMEMORY<=1g0MEM_NEEDED is the amount of memory (in megabytes M, or gigabytes G) that your job will require
num_procpINT<=10process number
qnameqRESTRING==NONE0quene name
s_datas_dataMEMORY<=00The per-process maximum memory limit in bytes.
tmpdirtmpRESTRING==NONE0tmp dir
virtual_freevfMEMORY<=1g0The per-job maximum memory limit, dynamically
  1. qstat 查看任务状态

qstat -u username  查看某个用户的任务

qstat -u \* 查看所有用户的任务

qstat -j jobID 查看某个任务的详细信息

qstat -f 查看用户自己在每个节点的任务情况

qstat -q all.q -u \* 查看某个队列下所有任务

qstat -q all.q@node1 -u \* 查看某个队列的某一节点下所有任务

  1.  qdel 删除任务

qdel [ -f ]  [ -help ] [-u wc_user_list] [ wc_job_range_list ] [ -t task_id_range ]

qdel job_id 删除job

qdel -u usrname 删除用户的所有任务

  1. qhold 挂起任务

qhold job_id

qhold -u \* 挂起所有用户的任务

  1. qalter更改任务属性

qalter [ options ] wc_job_range_list [ -- [ command_args ]]

指令和qsub差不多,不多介绍了。

转载于:https://www.cnblogs.com/renping/p/7441494.html

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值