分布式资源管理系统通过协调硬件资源分配过程来实现最佳资源利用率和最大系统吞吐量,可以拆分为以下主要功能:
**1. 作业管理子系统**
*主要功能:*
作业提交、修改、重新运行和重新排队
作业状态检查和控制(暂停、恢复、信号处理)
作业优先级管理
作业会计和性能监控
检查点、重启和迁移功能
自定义作业启动器和执行环境
*支持的作业类型:*
批处理/脚本作业
交互式作业(X-Windows)
数组作业
MPI并行作业
依赖作业
**2. 物理资源管理子系统**
*静态信息管理:*
集群架构(节点数、每节点CPU数)
内存架构和可用空间
网络拓扑、带宽、延迟
软件资源(库、编译器等)
*动态信息管理:*
资源负载信息和阈值
内存使用百分比
可用网络带宽
标准化资源使用值
**3. 调度和队列子系统**
*调度策略:*
遵循站点资源使用策略
识别管理域边界
考虑硬件性能增强特性
优化系统吞吐量和应用性能
*队列管理:*
将作业组织到不同群组
减少平均作业等待时间
最大化资源利用率
支持多种队列策略(空间共享、时间共享等)
**业界常用的几种调度系统**
Sun Grid Engine (SGE)
架构特点:
主节点运行sge_qmaster和sge_schedd守护进程
执行节点运行sge_execd守护进程
影子主机运行sge_shadowd防止单点故障
使用sge_shepherd为每个作业创建独立守护进程
调度策略:
SGE模式:FCFS或用户排序策略
SGEEE模式:支持共享树、功能、截止时间和覆盖四种策略
基于票证的优先级系统
并行应用支持:
并行环境(PE)对象管理并行作业
与MPI、PVM、多线程模型的脚本化集成
与Sun集群运行时环境(CRE)的紧密集成
Load Sharing Facility (LSF)
架构特点:
最复杂的守护进程安装架构
每个服务器主机需要四个守护进程:sbatchd、lim、pim、res
主节点运行mbatchd、mbschd和Master LIM
支持外部LIM(ELIM)收集自定义负载信息
调度策略:
两阶段决策过程:排队和调度
支持FCFS、公平共享、截止时间、独占和抢占调度
分层公平共享策略
基于SLA的调度
PBS Pro (Portable Batch Systems Professional Edition)
架构特点:
最简化的守护进程架构
主节点只需pbs_server和pbs_sched
执行节点只需pbs_mom守护进程
支持路由队列和执行队列
调度策略:
支持FIFO、基于用户/组优先级、公平共享
抢占和回填调度
轮询队列调度方式