网格是一个集成的计算与资源环境,充分吸收各种计算资源,并将它们转化成一种随处可得的、可靠的、标准的同时还是经济的计算能力。与传统的网络资源不同,网格资源具有异构性、动态性和自治性的特点。
网格资源的这些特性给网格资源自身的管理带来了实现上的困难和不可控性。同时为了满足高性能计算的目的,必须提供高效的资源管理服务。网格系统的资源管理负责决定作业请求CPU服务等待时间、作业的内存分配、以及怎样平衡计算负载等多方面的问题。资源管理同时负责在所有提交给系统的作业之间分配资源(作业间资源管理)以及把资源绑定给由一个单一作业提出的多个请求(作业内资源管理)。如果没有作业间资源管理,资源将可能在用户间错误的分配,这对一些用户将失去公平性。糟糕的作业内资源管理将导致用户程序运行性能的下降,原因是程序请求到的资源可能早已超负荷或者根本就请求不到满足系统要求的资源。
由于存在的以上问题,网格资源的管理在网格计算环境中处于一个很重要的地位。目前对于网格计算环境底层的资源,主要是通过采用作业管理系统进行管理。
一、LMT NODE PBS作业管理系统分析
PBS(Portable Batch System)作业管理系统最初由NASA的Ames研究中心开发,为了提供一个能满足异构计算网络需要的软件包,特别是满足高性能计算的需要。它力求提供对批处理的初始化和调度执行的控制,允许作业在不同主机间的路由。PBS的独立的调度模块允许系统管理员定义资源和每个作业可使用的数量。调度模块存有各个可用的排队作业、运行作业和系统资源使用状况信息。使用它提供的TCL、BACL、C3种过程语言,调度策略可以很容易被修改,以适应不同的计算需要和目标,即系统管理员可以方便地实现自己的调度策略。后来lanmantech公司对PBS系统进行了研发升级,开发出来自己的LMT NODE PBS作业管理系统。
对于LMT NODE PBS作业管理系统来说,它主要有以下特征:
·易用性:为所有的资源提供统一的接口,易于配置以满足不同系统的需求,灵活的作业调度器允许不同系统采用自己的调度策略。
·移植性:符合POSIX 1003.2标准,可以用于shell和批处理等各种环境。
·适配性:可以适配各种管理策略,并提供可扩展的认证和安全模型。支持广域网上的负载的动态分发和建立在多个物理位置不同的实体上的虚拟组织。
·灵活性:支持交互和批处理作业。
LMT NODE PBS作业管理系统主要有4个部分组成:控制台、服务进程、调度进程、执行进程。
(图1)
LMT NODE PBS系统的工作过程实际上就是服务进程、调度进程、执行进程这3个进程之间,相互通信相互调用的过程。3个进程分别执行各自的职能,同时为其他进程提供服务,共同完成作业的运行。在LMT NODE PBS工作过程中,首先由用户产生事件(这里指作业的提交),事件通知服务进程开始一个调度周期。然后服务器进程发送一个调度命令给作业调度进程,调度进程开始启动调度工作。在收到服务器进程的调度命令后,作业调度进程向执行进程请求可利用的资源信息。执行进程根据本地资源信息返回给作业调度器一个资源信息。其后,得到资源信息后,调度进程向服务器进程请求作业信息。服务器进程接收请求,并发送作业信息至作业调度进程,调度进程产生执行作业的策略。作业调度器发送执行作业请求至服务进程。最后,服务器进程接收请求后,发送作业至执行进程执行作业。
二、LMT NODE PBS与网格环境结合
网格计算环境为用户提供了强大的计算资源,将LMT NODE PBS融入到网格的计算环境中可以使LMT NODE PBS访问到更多的计算资源,使LMT NODE PBS的资源提供能力得到很大的增强,使用户可以调用不同的管理域的资源如同使用本地资源一样。同时LMT NODE PBS融入到网格计算环境也扩展了网格计算环境自身的计算资源。
当LMT NODE PBS调用作业资源时,首先需要解决的是资源的发现,那么在提交的作业当中必须对作业的可用资源说明进行描述,使其可以寻找到作业资源,并加以利用。为了达到资源指定的目的,在作业资源需求描述中我们加入特定的参数,这个参数仅仅是标记了作业对资源需求的期望。其次需要提供一个资源请求信息的接收端口,申请得到资源的作业会像正常的LMT NODE PBS提交作业一样,将自己的资源请求发送到LMT NODE PBS服务器上等待服务进程的处理,之后调度进程会根据作业的资源请求将作业传送到与它资源匹配的执行节点,并由各节点的执行进程运行。为了提供一个专门的接收资源请求的端口,在启动服务进程的同时要启动一个系统相关的进程。当调度器发现了作业特定的资源请求,直接将作业发送到该进程进行处理。
在整个资源调度的过程中,LMT NODE PBS实际充当了网格计算环境的入口点,通过提交LMT NODE PBS作业可以实现对网格计算资源的调用,用户可以像使用本地资源一样去使用远端不同资源管理者下的资源。而平台作为一种中间件,由它来负责规划网络间通信的安全协议,并实现对不同的远端资源管理者的通信接口。此外, LMT NODE PBS通过文件和服务来进行数据的传输,可以解决LMT NODE PBS与平台数据传输的问题。
三、LMT NODE PBS作业排队系统介绍
LMT NODE PBS作业管理系统的简单介绍:
(作业列表_查看所有作业:显现出作业的详细信息。作业详细信息包括作业文件参数、作业计算结果、作业ID、主文件编号、所需CPU数量、所需内存大小、软件名称、版本等等。)
(作业调整:可以对正在排队的作业进行排队顺序的操作。)
(节点列表:显示所有节点记录。)
(节点维护:显示所有的节点信息,并且可以对节点进行新增、修改、删除操作。)
(节点平台管理:显示出所选节点平台的详细信息,并支持对去进行修改。)
(可用CPU配额管理:显示的是用户空闲时可用上限CPU数、紧张时可用上限CPU数。)
(作业节点实时状态监控图:显示当前实时的节点监控结果。)
(作业数据分析:依据时间范围、软件视图、用户视图、只显示软件、只显示具体队列等方式选择要查询的数据。)
(用户列表:查看用户的角色,系统管理员或提交人员角色。)
(CAE维护:查看到按软件名称排列的列表。该列表显示软件名称、软件版本、软件安装目录、软件程序绝对路径、主文件 后缀名、MPI路径、MPI版本等信息。)
(系统检测:可以对异常情况平台进行立即检测及修复功能操作。支持对平台查看历史日志。)
四、结束语
随着计算机的普及和发展,商业应用在整个计算机应用领域中所占的比例逐年上升,具有广阔的发展前景。商业应用领域对计算机的计算能力和网络并行程度要求没有高性能领域那么严格,但该领域需要计算机的速度更快,容量更大,并能对多种场合下的大数据量进行各种复杂的处理。当许多高性能计算机系统应用到商业领域如银行业、金融业、石油化工企业、信息服务业及娱乐业时,这些系统的管理员同样需要一个很好的后台系统完成企业范围内的作业管理,从而实现企业网络资源的优化利用,简化系统维护工作,协调企业内各类应用系统的运行。
LMT NODE PBS作业管理系统的开发,提出了一种适合集群环境下的高效资源分配与利用方案,并给出了详细的设计过程。深入分析了作业管理系统的内部运行机制、安全机制、调度策略等方面问题,提出了改进方案。对作业排队管理系统在商业上的应用提供了更优化的选择。