各个调度机构根据具体需求为在线应用功能和离线应用功能设置相应的计算域,并独立配置相应计算资源,目前己实现的分布式计算管理平台在运行过程中各计算域的计算资源不支持在多个计算域间进行动态调整。本文提出的基于动态树形架构的分布式计算管理平台,在不改变计算资源物理上分散于各个调度机构的前提下,不依赖于调度自动化系统基础平台,通过对计算资源和计算任务的独立分层管理实现多级调度计算资源的全局共享。各个计算域采用“调度机构ID+计算域ID”进行统一全局标识,支持多个计算域间计算资源动态优化分配和跨调度机构的计算任务分级调度,在一定程度上解决了传统集中式架构的规模化扩充导致的性能瓶颈问题。
1 设计原则
分布式计算管理平台的计算资源分布在多个调度机构,物理上独立部署。由于对数据安全性和实时性存在特殊要求川,其不同于传统的云平台模式,无需在公用网络上自主发现计算资源和考虑计算资源的失效影响}m认也不同于传统的集中式计算中心仅基于固定的计算资源进行计算任务调度Ciz7,需支持计算资源异地备用。因此,分布式计算管理平台的计算资源一方而优先满足本地在线计算域和离线计算域的计算需求;另一方而作为异地调度机构的计算资源后备,必要时可接收异地调度机构相关计算域下发的计算任务进行计算。
在具体设计时,需遵循以下原则。
1)多级调度机构间基于松藕合方式进行信息交互。多个调度机构间计算资源监视和动态分配、计算任务调度都通过信息代理进行交互。
2)遵循调度机构己有的安全防护机制。计算资源在多调度机构间不进行跨安全区共享,只有处于同一安全区(生产控制区和管理信息区)内多个调度机构的计算资源才可以进行全局共享。
3)计算资源按照计算域进行自治管理。一个调度机构内支持划分多个计算域,各计算域之间计算资源相互独立,计算流程和计算周期独立控制;各计算域内的计算资源互为备用,一方而支持为各个计算域设定其优先级和计算资源分配系数,同时也支持根据计算任务数量对各计算域的计算资源进行动态调整。多个用户的离线应用功能以多个离线计算域的方式并行。
4)计算资源状态自动监视。各个调度机构内的计算资源的状态信息和负载信息周期进行收集,并通过信息代理进行全局共享。
5)计算资源分配分层管理。每个调度机构内都设有统一的本地资源分配管理模块,负责监视和管理本地所有计算域的计算资源;多个调度机构间设有统一的全局计算资源管理模块,由各调度机构动态选举产生,负责全局计算资源的统一调度和管理。
6)计算任务调度分级管理。对于跨调度机构的计算域,采用“根管理节点一子管理节点”两级调度管理机制,即:在接收到计算任务的调度机构内为该计算域设立全局的根管理节点以及为该计算域分配计算资源的相关调度机构内设立子管理节点,由根管理节点对上述所有子管理节点进行调度机构间计算任务的一级调度管理,由子管理节点对本地调度机构内该计算域的所有计算资源进行计算任务的二级调度管理,从而实现该计算域的计算任务基于多级调度计算资源的统一调度管理。
7)计算资源在动态分配给计算域时遵循“在线计算域优于离线计算域;本地计算域优于异地计算域”原则,即本地计算资源按照“本地在线计算域>异地在线计算域>本地离线计算域>异地离线计算域”次序进行分配。
2 体系架构
动态树形架构的分布式计算管理平台通过将计算资源分配和计算任务调度分别独立进行管理,采用“全局一本地”两层角色管理机制实现计算资源全局共享;采用“根管理节点一子管理节点”两级调度管理机制实现计算任务的跨调度机构管理,避免计算资源管理和计算任务调度的交叉影响。具体组织结构如图1所示。
1)计算资源分配
通过设立“全局资源管理节点一本地资源管理节点”两层管理角色,实现多级调度计算资源的分层统一管理。其中全局资源管理节点,在所有调度机构中有且只有一个,作为而向所有调度机构的全局管理角色,负责所有调度机构的全局计算资源统一分配;本地资源管理节点在每个调度机构内都有且只有一个,作为本调度机构的局部管理角色,负责本调度机构内多个计算域的计算资源分配。
2)计算任务调度
通过为每个计算域设立“根管理节点一子管理节点”两层管理角色,实现计算任务基于多级调度统一分配计算资源的分层统一调度。其中根管理节点位于接收到用户直接提交计算任务的调度机构,在所有调度机构中有且只有一个属于该计算域的根管理节点,作为该计算域而向所有调度机构的全局管理角色,负责所有调度机构的全局计算任务调度;子管理节点位于为该计算域分配计算资源的各调度机构内(并不强制要求每个调度机构都需要为该计算域分配计算资源),在一个调度机构内有且仅有一个,作为此调度机构该计算域的局部管理角色,负责此调度机构内该计算域的计算任务调度。
3)运行角色自动识别
为提高平台运行的可靠性,调度机构和机群节点在运行前不指定其担任的资源管理和任务调度的角色类型,在实际运行时自动进行识别,逻辑上相互备用,能够自动感知异常并进行自主切换。其中全局资源管理节点由本地资源管理节点自动选举产生,全局资源管理节点和本地资源管理节点可在一个调度机构内共存。一个计算域的根管理节点位于提交计算请求的调度机构,由该调度机构此计算域内的计算资源推举产生;为该计算域分配计算资源的所有调度机构,在本地选举产生一个属于该计算域的子管理节点,负责和该计算域的根管理节点进行计算任务调度信息交互(通过信息代理中转)。
3 功能组成
动态树形架构的分布式计算管理平台从功能上分为用户管理、计算管理、资源管理和信息代理四层,具体组织结构如图2所示。
1)用户管理层
用户管理层为多级调度机构的用户(或计算域)提供统一的人机交互接口,主要包括用户并发管理模块和计算资源需求评估模块
其中用户并发管理模块基于而向服务架构(SOA)的设计思想为用户提供统一的人机交互接口,实现多个用户(包括离线和在线计算域)的计算任务提交、计算过程监控和计算结果返回。计算资源需求评估模块主要根据计算请求内容包含的应用功能及其各自的计算任务数量,结合其预期的计算时间要求,预估该计算请求的计算资源需求,为后续的资源优化分配模块提供资源需求量化指标
2)计算管理层
计算管理层实现多级调度机构的统一计算管理,主要包括各个计算域的计算流程控制和计算任务调度、计算数据交互管理以及计算环境远程部署。
计算流程管理模块主要实现每个计算域的计算流程组态和自动控制,包括流程定义与解析、执行过程中的分支自动识别和选择等。计算任务调度模块主要实现每个计算域内包含所有应用功能各类计算任务的异步并发组织、管理和调度,主要包括多应用功能的计算任务分解、调度粒度划分、计算任务分发和计算结果回收。计算数据管理模块主要实现本计算域内(包含根管理节点与其他调度机构的子管理节点之间、子管理节点与本地计算节点之间)各类计算任务相关数据文件和结果文件的统一组织、压缩、传输和处理。计算环境部署模块主要实现计算相关程序及配置文件的远程分发维护。
3)资源管理层
资源管理层实现各类计算资源占用情况的统一在线监视、各个计算域内的角色管理和计算资源的统一优化分配。具体包括本地管理和全局管理,本地管理主要是指单个调度机构内计算资源管理,主要实现本调度机构内计算资源的监视和运行状态识别、单个计算域本地的子管理节点角色运行管理和本地多个计算域之间的计算资源优化分配;全局管理主要是指多个调度机构资源的统一协调管理,并基于信息代理模块实现跨调度机构的各类信息交互,主要包括跨调度机构计算资源的集中监视和运行状态识别、根管理节点角色运行管理和跨调度机构的计算资源优化分配。
资源监视模块主要实现计算节点的硬件资源状态信息和负载信息的在线监视,运行在每个计算节点上,并将本地参与全局优化分配的计算节点资源信息通过信息代理实现共享。运行状态识别模块主要实现计算节点的运行状态在线感知,以及故障节点的主动识别和自动隔离。运行角色管理模块主要实现管理角色的自动选举、计算角色的加入管理、管理角色和计算角色异常感知。其中本地管理中的角色管理是指单个计算域内本地子管理节点的识别管理,将每个计算节点作为一个逻辑单元实现单个计算域内的子管理角色的在线备用;全局管理中的角色管理是指全局根管理节点的识别管理,在接收到用户计算任务的调度机构内,将该计算域的每个计算节点分别作为一个逻辑单元实现根管理角色的在线备用。计算资源优化分配模块主要实现计算资源在多个计算域(本地)或多个调度机构(全局)上按照约定的算法根据优先级、分配系数以及计算任务数量等关键因素进行优化分配。
4)信息代理层
信息代理层实现多级调度机构间资源监视、计算数据、调度任务以及运行程序和文件等各类信息的统一交互。通过对用户管理层、计算管理层和资源管理层提供标准的访问接口,屏蔽多级调度间和本地调度内的信息交互的区别,实现系统管理、资源管理和计算管理的透明。(本文由论文平台网提供,如有更多需要,可登陆官网咨询客服。)