SGE 介绍篇第一章

什么是网格计算技术

  网格是执行任务的计算资源集。对于用户来说,最简单的网格形式就是一个大型系统,该系统中,用户可从单个点访问强大的分布式资源。在本节的后面内容中将介绍网格的复杂形式, 网格可以为用户提供多个访问点。在每种情况下,用户都把网格视为一个单独的可计算资源。

  资源管理软件(例如,N1 Grid Engine 6 软件(Grid Engine 软件))接受用户提交的作业。该软件使用资源管理策略安排作业在网格内适当的系统上运行。用户可以同时提交数百万的作业而不必担心作业在何处运行。不存在完全相同的两个网格。一种规模不能适用于所有情形。网格当前具有以下三种主要类型,规模从单个系统到使用数千个处理器的超级计算环境。

  • 群集网格是最为简单的网格。群集网格由同时工作的一组计算机主机组成。对于单独的项目或单独的部门,群集网格为用户提供单点访问。
  • 校园网格可使同一个组织内的多个项目或部门共享计算资源。组织可以使用校园网格来处理各种任务,从周期的商务处理到图形渲染、数据采集等等。
  • 全局网格是校园网格的集合,它可以跨越组织界限创造巨大的虚拟系统。用户可访问的计算能力远远超过其组织自有的计算资源。

通过管理资源和策略来管理工作负荷

  Grid Engine 系统是一种先进的资源管理工具,用于管理不同种类的分布式计算环境。工作负荷管理意味着对共享资源的使用进行控制,以最大限度地实现企业的目标,例如生产率、时间限制、服务水平等等。工作负荷管理通过管理资源、执行策略完成。站点配置确保系统实现使用率和生产量的最大化,同时使系统支持不同的时间限制和重要级别。作业的限期是时间限制的实例。作业的优先级和用户份额是重要程度的实例。Grid Engine 软件为由多种共享资源组成的UNIX 环境提供了高级资源管理和策略管理功能。在以下的主要性能方面,Grid Engine 系统优于标准的负荷管理工具:

 

  • 创新的动态调度和资源管理允许Grid Engine 软件加强特定站点的管理策略。
  • 动态搜集性能数据向调度程序提供即时的作业级的资源使用情况和系统负荷信息。
  • 通过基于证书安全协议(CSP) 加密的方法增强安全性。不同于以纯文本格式传输消息,这种更安全的系统使用密钥对消息进行了加密。
  • 高级策略管理,可定义并实施企业目标,如生产量、时间限制以及服务级别。

系统的运行方式

  Grid Engine 系统执行以下全部任务:

  • 接受外来作业。作业是指用户对计算机资源的请求。
  • 将工作放入留置区域直到可以运行该作业。
  • 将作业从留置区域发送到执行设备。
  • 管理正在运行的作业。
  • 作业完成时,将作业执行记录写入日志。

Grid Engine 系统组件

以下几节介绍了最重要的Grid Engine 系统组件的功能。

主机

  Grid Engine 系统有四种基本的主机类型:

  • 主机
  • 执行主机
  • 管理主机
  • 提交主机

主控主机

  主控主机是所有群集活动的中心。主控主机运行主守护进程sge_qmaster 和调度程序守护进程sge_schedd。两个守护进程都控制Grid Engine 系统组件,例如,队列和作业。守护进程维护着关于组件状态的表格、关于用户访问权限的表格以及其他任务的表格。
默认情况下,主控主机也是管理主机和提交主机。请参阅介绍这些主机的各节。


执行主机


  执行主机是有权限执行作业的系统。因此,执行主机具有附加到它的队列实例。执行主机运行执行守护进程sge_execd。

管理主机


管理主机有权限运行Grid Engine 系统的任何类型的管理操作。


提交主机


  提交主机只允许用户提交和控制批处理作业。具体地说,用户登录提交主机后,可以使用qsub 命令提交作业、使用qstat 命令监视作业状态。

守护进程

  三个守护进程提供了Grid Engine 系统的功能。


sge_qmaster – 主守护进程


  群集管理和调度活动中心sge_qmaster 维护与主机、队列、作业、系统负荷以及用户权限相关的表格。sge_qmaster 接收来自sge_schedd 的调度决定和相应执行主机上sge_execd 的操作请求。


sge_schedd – 调度程序守护进程


  调度程序守护进程在sge_qmaster 的帮助下维护群集状态的最新视图。调度程序守护进程做出以下调度决定:

 

  • 将哪个作业分派到哪个队列
  • 如何重新排序和重新指定作业的优先级,以维护份额、优先级或限期守护进程随后将这些决定转发给sge_qmaster(启动所需的操作)。

sge_execd – 执行守护进程

  执行守护进程对其主机上的队列实例和队列实例中的作业的运行负责。执行主机定期向sge_qmaster 转发其主机上的作业状态或负荷信息。

队列

  队列是允许同时在一台或多台主机上运行一种作业类的容器。队列确定某些作业属性,例如作业是否可迁移。作业在运行的整个过程中,始终与队列相关联。与队列的关联性可以影响针对作业发生的一些事件。例如,如果暂停队列,则与该队列相关联的作业均被暂停。

  作业不需要直接提交到队列。只需指定作业的需求配置文件即可。配置文件可能包括诸如内存、操作系统、可使用的软件等要求。Grid Engine 软件自动将作业分派给适当的队列和执行负荷较轻的主机。如果将作业提交到指定的队列,则该作业将附加到该队列。结果是,Grid Engine 系统守护进程无法选择负荷较轻或更加适合的设备。

  队列可以驻留在一个单独的主机上,也可以扩展到多个主机。因此,Grid Engine 系统队列也称作群集队列。群集队列可使用户和管理员通过单个队列配置在多个执行主机组成的群集中工作。挂接到群集队列的每个主机都从群集队列接收到自己的队列实例。

客户端命令


  命令行用户界面是一组辅助程序(命令),通过这组辅助程序,您可执行以下任务:

  • 管理队列
  • 提交和删除作业
  • 检查作业状态
  • 暂停或启用队列和作业

Grid Engine 系统提供了以下一组辅助程序:

  • qacct – 从群集日志文件抽取仲裁记录信息。
  • qalter – 更改已经提交但暂挂的作业的属性。
  • qconf – 提供群集配置和队列配置的用户界面。
  • qdel – 为用户、操作员或管理人员提供向作业或其子集发送信号的方式。
  • qhold – 阻止已提交作业的执行。
  • qhost – 显示执行主机的状态信息。
  • qlogin – 启用telnet 或类似的带有自动选择的低负荷、适当主机的登录会话。
  • qmake – 标准UNIX make 工具的替代工具。qmake 延伸了make 的功能,使其能够在一组合适的计算机之间分布一系列的make 步骤。
  • qmod – 使拥有者暂停或启用队列。所有与该队列相关的活动的进程也都将得到信号。
  • qmon – 提供X Windows Motif 命令界面和监视工具。
  • qresub – 通过复制运行的或暂挂的作业创建新作业。
  • qrls – 将作业从之前分配到的留置区域(例如,通过qhold)释放。
  • qrsh – 可用于多种用途,比如以下的情形。

    通过Grid Engine 系统提供交互式应用程序的远程执行。qrsh 是与标准的UNIX工具rsh 相比较而言。
    允许提交批处理作业,执行时支持终端I/O 和终端控制。终端I/O 包括标准输出、标准错误和标准输入。
    提供一个在批处理作业结束之前保持活动状态的提交客户机。
    允许在Grid Engine 软件控制下远程执行并行作业任务。

  • qselect – 打印与指定的选择标准对应的队列名称列表。qselect 的输出通常输入到其他的Grid Engine 系统命令,以便对选定的队列组进行操作。
  • qsh – 在较轻负荷主机的xterm 中打开交互式shell。在该shell 中,任何类型的交互式作业都可以运行。
  • qstat – 提供与群集相关的所有作业和队列的状态列表。
  • qsub – 将批处理作业提交到Grid Engine 系统的用户界面。
  • qtcsh – 完全兼容并可替代从普遍认同并广泛使用的UNIX C shell (csh) 衍生出来的tcsh。qtcsh 提供的命令shell 可以通过Grid Engine 软件透明地将指定应用程序的执行分布到适当且负荷较低的主机上。
posted @ 2018-11-23 11:49  阿谦  阅读(1651)  评论(0编辑  收藏  举报