SGE 集群作业调度管理系统

Introduction

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

Getting Started

1. 提交命令—

  • 常用参数:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    -cwd  ## 使用当前工作目录
    -binding ## 将作业绑定到处理器核心
    -p ## 定义工作的相对优先级,-1024 到 1024,默认为 0
    -q ## 指定作业投递队列
    -l ## 设置请求给定的计算资源,如-l arch=solaris64,h_vmem=750M,permas=1;-l vf=20G
    ## vf--内存缩写;p--线程数缩写
    -l vf=20g,p=8 ## 设置作业运行资源。
    -V ## 使用当前工作环境变量
    -S *.sh ## 运行脚本

2. 查看任务—

  • 常用命令:

    1
    2
    3
    4
    5
    6
    qstat -j jobid  ## 查看任务 jobid 的详细信息
    qstat -u username ## 查看某个用户的任务
    qstat -u \* ## 查看所有用户任务。
    qstat -q [queue] -u \* ## 查看某个队列下的所有任务
    qstat -q [queue] -u \* ##查看某个队列的某一节点下的所有任务
    qstat -f ## 查看用户在每个节点的任务情况
  • 任务的状态码:

    1
    2
    3
    4
    5
    6
    -qw  ## 等待状态
    -hqw ## 任务挂起等待中,待依赖的任务完成后执行
    -Eqw ## 任务投递错误
    -r ## 正在运行
    -s ## 暂时挂起
    -dr ## 节点挂了之后,删除任务就会出现这个状态,只有在节点重启之后,任务才会消失

3. 删除任务—

  • 常用命令:

    1
    2
    qdel $jobid   ## 删除任务 $jobid
    qdel -u $username ## 删除用户 $username 下的所有任务

4. 挂起任务—

  • 常用命令:

    1
    2
    3
    qhold $jobid
    qhold -u \*
    qmod -sj $jobid ## 挂起正在运行(running)的任务

5. 释放任务—

  • 常用命令:

    1
    2
    qrls $jobid
    qmod -usj $jobid ## 恢复任务【由 `qmod -sj` 挂起的任务】

6. 更改任务资源配置—

很多参数同qsub

参考链接

[1] https://www.jianshu.com/p/744c01f75637

[2] https://www.jianshu.com/p/3f57296a497f