李 波,高佩忻,张 明,范盘龙
(西北工业大学,陕西西安 710072)
由于武器装备物理极限的存在,仅依靠提升单个作战平台的物理性能来提升作战能力的途径终将遇到瓶颈。如何将单一作战平台联合形成一体化作战系统就成为一种必然趋势。美军已按网络中心战理念将单兵、独立的武器系统与现役、在研和预研的各级别无人飞行器、各类武器机器人车载及载人武器系统集成为一个高度信息化的营级“未来作战系统”[1]。将它作为具备全谱联合、能独立主宰地面战术作战的数字化核心行动单位[2]。美国国防信息局从2008年开始着手云计算应用,正在研发一系列云计算解决方案[3]。虽然云计算兴起的浪潮也已经引起了高度关注[4],但是在军事领域,国内仍然处于探索性研究阶段[5]。
云计算环境下任务分配的主要目的是使系统具有高效的计算性能以及卓越的吞吐量。现有的任务分配算法可分为三类:启发式算法、能耗算法及混合算法。1)启发式算法[6-8]:提供了一种优化解法,它采用基于知识的任务决策方法。启发式任务分配方法包括先入先出算法(FCFS)、轮询算法(RR)等。2)基于能耗的任务分配方法[9]:数据中心的能耗管理取决于诸多因素,但其核心任务注重于提升数据中心性能,降低花销。3)混合任务分配方法[10]:是在包含更多调度参数的已有方法基础上发展而来的。
为了有效均衡系统负载、合理分配系统资源,并能够高效地分配和处理作战任务,本文设计了一种能够适应未来网络化作战的指挥控制系统架构,并针对其中的任务调度及资源分配问题展开了深入研究。
本文提出了“多层云架构”系统,如图1(云:由具有单一或多个特定功能的多个物理实体通过网络连接集成,将其拥有的资源虚拟化,并能够对外提供可定制资源池能力服务的实体集合)。在系统构成上实现了战场中传感器资源、通信资源、武器资源、射手资源的松耦合连接,使得作战系统中的无人机不再只依靠自身的载荷完成作战任务,真正达到战场资源的统一调度管理和协调控制。通过云计算的虚拟化技术,将各种战场资源网络化,重新组合成诸如传感器资源池、通信资源池、射手资源池、武器资源池等池化资源。多层云架构中针对不同资源设置了相应的管理系统,作战中由各个管理系统分别对战场上的池化资源等进行统一调度、管理、协调和监控,以充分实现资源的高内聚、低耦合的控制逻辑,达到资源的快速配置、优化组合,将大大提升战场资源利用效率和作战系统整效能。
图1 “多层云架构”示意图
多功能复杂云:物理实体为地面指挥站,拥有最高级指挥权限;多功能复杂云可直接与指挥控制云交互,并接收指挥控制云和作战云的态势获取和指挥决策等服务定制。
指挥控制云:物理实体为预警机,将预警机中的计算、存储、通信和传感器等多种资源进行整合而成的战术级云端;指挥控制云是多层云架构的中间层;指挥控制云可对数据进行处理、分类、分发管理,以实现作战节点之间的高效信息共享。同时,指挥控制云可辅助作战终端快速、方便进行其战术任务的解算,从而以最优效能完成打击任务。
作战云:作战云的物理实体为多架异构无人机(侦察无人机、火力无人机、通信无人机),直接参与前端作战。
多层云架构系统的数据中心与商用云数据中心相似,利用虚拟化技术对各个云端上的物理实体(如地面指挥中心的分布式地面站、空中预警机机载设备、以及各个作战无人机上的机载设备)中的基础物理资源(如CPU、内存、硬盘空间、网络带宽等)进行抽象形成动态资源池,用户(作战节点)所提交的服务请求会由多层云架构的资源调度机制进行及时处理并动态弹性的分配合适的虚拟机给用户进行任务处理。并且多层云架构提供给不同用户的虚拟机数据之前不会互相交互,保证了用户数据的安全性。虚拟机运行在数据中心的物理机或由众多的物理机通过网络组成的物理机集群之上。云数据中心允许用户通过网络动态地申请或释放资源,按需分配[11]。
图2通过描述一个商用云计算数据中心响应某用户(作战节点)的主机服务请求的过程,将三层不同的资源配置方式组合到一起,以诠释多层云架构数据中心配置和部署模型。
图2 基于多层云架构的网络化无人作战指挥控制系统技术体系
下面对组成多层云架构系统数据中心的各类资源实体属性进行介绍。
1)物理机(Host):是构成多层云架构数据中心的实体处理单元,是对多层云架构系统中进行数据信息处理的实体(如地面指挥中心的分布式地面站、空中预警机机载设备以及各个作战无人机上的机载设备)的抽象。物理机可以通过虚拟化技术将自身资源进行解耦,单独(或与其他物理机资源耦合)以虚拟机的形式对外提供资源定制服务,如CPU个数、CPU主频、存储等服务。
2)虚拟机(VM):以物理机的实体资源为基础,通过虚拟化技术形成的可对外提供完整硬件功能的虚拟计算机单元。虚拟机依据用户需求生成,也是云计算系统对用户开放的最小可用单元。
3)数据中心:由多层云架构系统各种资源集合而成,是 IaaS 服务提供商提供给用户(作战节点)的最大资源单位。负责对其中包含的物理机和虚拟机进行控制,根据用户提交的任务动态生成/销毁虚拟机,并将虚拟机部署在合适的物理机上。
定义1多层云架构系统中多个数据中心构成的有限集合为C={C1,C2,…,Ck},其中k表示数据中心的数量;某数据中心的物理机集群构成有限集合为M={M1,M2,…,Ml},其中l表示集群中物理机的数量;所有虚拟机构成的有限集合为VM={VM1,VM2,…,VMq},其中q表示虚拟机的数量。
定义4物理机Mi上第p种资源的利用率
(1)
定义5物理机Mi的综合资源利用率
(2)
式中,p物理机Mi的资源种类数。
定义6物理机Mi资源利用不均衡率
(3)
定义7数据中心物理机集群第p种资源的利用率
(4)
定义8数据中心物理机集群的综合资源利用率
(5)
定义9数据中心物理机集群的资源利用不均衡率
(6)
定义10虚拟机VMj与物理机Mi资源匹配度
(7)
定义11虚拟机VMj与某数据中心Ck资源匹配度
(8)
式中,l为数据中心Ck中物理机的个数。
定义12目标物理机Mi相对待分配虚拟机VMj的资源承载度
Li,j=α×AvaRi+β×σj,i
(9)
式中,α为目标物理机资源利用率系数;AvaRi为目标物理机资源利用率;β为待分配虚拟机与目标物理机资源匹配度系数;σj,i为待分配虚拟机与目标物理机资源匹配度。α和β均采用固定值0.5。
定义13数据中心Ck相对待分配虚拟机VMj的资源承载度
Lk,j=α×AvaR+β×σj,k
(10)
式中,α为数据中心Ck资源利用率系数;AvaR为数据中心Ck资源利用率;β为待分配虚拟机与数据中心Ck资源匹配度系数;σj,k为待分配虚拟机与数据中心Ck资源匹配度。α和β同上。
2.4.1 任务类型分析
网络化无人作战系统的作战单元需要处理各种不同类型的任务,包括目标侦察、探测、识别、攻击等,为有效地完成上述任务,指挥控制系统需要处理信息融合、态势评估、目标分配、攻击决策、毁伤评估等各种指挥决策任务。各种任务对处理需求的资源种类、数量存在明显差异,导致应对不同种类的任务需要不同的处理策略,因此需要对不同资源需求的任务予以分类。
在网络化无人作战系统中,核心资源为存储资源、计算资源和通信资源。因此,本文按任务分配时的SLA协议中对上述三种资源的需求情况,将任务类型划分为四类,分别为:数据密集型任务、计算密集型任务、通信密集型任务和负载均衡型任务。
1) 数据密集型任务:在目标探测、信息融合、态势评估等作战过程中,需要对由大量传感器采集到的原始数据或来自各个作战节点需要分类汇总的大量数据进行诸如数据预处理、特征提取、信息融合等信息处理服务的任务称之为数据密集型任务。其特点为自身携带信息量大、种类繁多、数据格式不规范等,由此容易导致任务需要大量硬盘空间去进行数据存储和备份,需要高效的网络带宽进行数据传输和迁移。
2) 计算密集型任务:在目标识别、攻击决策、火控解算等作战过程中,需要作战系统提供高速、高效的计算服务,需要大量计算单元、大量高性能CPU处理器来完成高精度、高时敏性的任务称之为计算密集型任务。其特点为计算量大、精度和时敏性要求高。针对计算密集型任务可将待处理资源就近放置在相应的计算节点中,或进行任务迁移订制高性能的计算服务。
3) 通信密集型任务:在整个作战过程中,整个作战云中每个作战节点之间、作战云/作战云之间、指挥控制云/作战云之间、地面复杂云/指挥控制云之间对通信带宽和时敏性要求较高的信息传递和交互任务称之为通信密集型任务。其特点为小数据量高频次通信或大数据量的信息传递和数据迁移,需要提供稳定而高效的通信带宽。
4) 负载均衡型任务:在整个作战过程中,对计算、存储、通信三种资源需求比较均衡,无明显需求特征的任务称之为负载均衡型任务。该类任务对时敏性要求并不严苛,亦没有很高的任务优先级。
四种不同资源密集型任务的差异在于不同的任务性质与完成需求,表现在每个任务的SLA协议中对三种资源需求量以及资源需求侧重的差异。通过上述四种资源的特征描述可以看出,不同资源密集型的任务需要采用不同的任务处理方式进行处理,例如数据密集型任务需要大容量、读写速率高的物理节点提供存储服务,且数据密集型任务不应轻易传输、迁移,这会给整个作战云网络带来巨大的通信负担和时延代价。
2.4.2 资源分配模型
在多层云架构系统中,有两架构系统租用处理能力的模式。
资源预留(Advance Reservation)模式(如文献[12]):资源被提前预定,只有在特定时间才可用。以后简称AR模式。
如文献[14]所示,结合AR模式和BE模式在抢占资源情况下可以克服任务处理过程出现的效用问题。本文假设用户(作战节点)向多层云架构系统提交的任务中只有少量是AR型任务,而其余的任务是BE型任务。AR型任务具有更高的优先级,并且能够抢占BE型任务的资源。当一个AR型任务A需要抢占BE型任务B时,工作的虚拟机不得不先暂停任务B。本文假定每一个信息处理节点都有一个特定的磁盘存储空间用于存放暂停的任务。
多层云架构数据中心资源配置及任务分配是多层云架构资源管理的核心功能。在作战过程中,作战云、指挥控制云以及多功能复杂云之间资源的动态调度与配置是达成整个多层云架构系统作战效能、实现多层云架构系统任务分配调度的基础。为解决资源配置和任务分配问题。本文提出了基于负载均衡的跨云层任务分配算法来均衡系统负载,快速高效地处理任务,提升系统效率。下面对基于负载均衡的跨云层任务分配算法进行了具体分析与说明。
当作战云端接收到作战节点的服务请求时,本文采用文献[15]中基于优先级的任务队列生成算法(FTBP)生成任务队列,进而自动调用基于负载均衡的跨云层任务分配算法进行任务处理。
在基于负载均衡的跨云层任务分配算法中,为了均衡各个作战云的负载,将用户(作战节点)服务请求作为输入。首先要获取基于优先级的任务队列。然后对任务队列中的任务进行逐一分配。从每个作战云的调度器中获取全局可用虚拟机列表、全局被占用虚拟机列表和可用资源列表。从每个作战云的调度器中获取合适的虚拟机列表。如果合适虚拟机列表不为空则调用FDA算法将任务分配,并将分配标识符置为是。否则,如果全局可用资源足够再创建一个虚拟机则新建一个虚拟机将其加入到可获取虚拟机列表,将该任务分配到新创建的虚拟机上,并将该虚拟机加入可分配虚拟机列表中,将分配标识符置为是。否则,如果该任务是一个AR型任务而同时又有BE型任务运行在作战云中,则调用ATSA算法将AR型任务抢占BE型任务,并将分配标识符置为是。否则,将该任务存放到等待序列中,直到在等待序列中的时间超过提前设定的等待时间阈值,将分配标识符置为否。检查分配标识符,如果为是则返回成功,否则则返回失败,直到所有任务都被分配完毕。基于负载均衡的跨云层任务分配算法(BBSA)的流程图如图3所示。
图3 基于负载均衡的跨云层任务分配算法(BBSA)
流程图中,核心的一部分主要用到了FDA算法和ATSA算法进行任务分配。下面将对这两种核心算法:FDA算法和ATSA算法加以说明。基于合适的虚拟机列表寻找放置任务的最优虚拟机算法(FDA)如表1所示。
其中,为了基于合适的虚拟机列表找到最优虚拟机放置任务请求,(FDA)算法将合适的虚拟机列表、在多层云架构系统数据中心中运行的可用虚拟机列表和已经被分配任务的虚拟机列表作为输入。首先将被分配的虚拟机设为空(第1行)。如果可用虚拟机列表与被分配任务虚拟机列表相同则清空被分配虚拟机列表(第2-4行)。因此,合适虚拟机列表和可用虚拟机列表中的第一个虚拟机将被分配给当前待分配任务。最后,被选中的虚拟机将会被加入被分配任务虚拟机列表中(第5-11行)。返回被分配的虚拟机(第12行)。AR型任务抢占资源分配算法(ATSA)如表2所示。
表1 寻找放置任务的最优虚拟机算法(FDA)
将待分配的资源预留型(AR)任务、各个作战云的状态和处理时间矩阵(ETM)作为输入。首先从各个作战云的调度器获得合适的BE型任务列表P和当前处理BE型任务的虚拟机(第1行)。将当前待分配的AR型任务ni的资源请求发给其他的调度器,并从各个调度器接收其下虚拟机的最早资源可用时间(第2-3行)。在结果中找到执行该AR型任务拥有最小估计完成时间的虚拟机vmj,将vmj上运行的BE型任务暂停并保存(第4-5行)。返回虚拟机vmj(第6行)。
表2 AR型任务抢占资源分配算法(ATSA)
本节中的实验在Win7操作系统下采用基于Java平台的CloudSim仿真软件进行仿真和测试,具体的仿真实验环境如表3所示。
表3 仿真实验环境
由于各个作战云是由多种异构无人机及其携带的资源组成,具有不同的任务执行能力,所以本文在实验中设计了3种物理机参数用以表征各类作战无人机,分别为存储型、计算型和通信型物理机,表4为物理机性能参数取值范围。
表4 物理机性能参数取值范围
为了表征各个作战云之间的性能差异,本文通过由不同数量的物理机组成3个数据中心来表示3个能力不同的作战云。表5为3个数据中心的组成。
表5 数据中心组成结构
面对各种资源密集型的任务,系统会依据任务产生不同的虚拟机,表 6为虚拟机性能参数取值范围。
表6 虚拟机性能参数取值范围
表7为仿真中各作战节点提交的服务请求的主要参数。
表7 服务请求主要参数
为了验证本文提出的基于负载均衡的跨云层任务分配方法的效用及特征,本节设计了两个实验,具体实验内容如下:
实验一:生成由15架作战无人机构成的3个能力不同的作战云数据中心,并接收多层云架构系统中各个作战节点随机生成的20个服务请求(如目标地区搜索、目标识别、态势评估等服务请求),其中4个为AR型服务请求(如威胁评估、火控解算等服务请求),其余为BE型任务请求,每个服务请求包含10~20个任务,计算3个作战云数据中心各项资源的资源利用率、负载不均衡程度和资源综合利用率。将该过程运行100次,求取3个数据中心的各项资源的平均资源利用率、平均负载不均衡度和平均资源综合利用率。
实验二:生成由15架作战无人机构成的3个能力不同的作战云数据中心,并接收用户随机生成的1~20个服务请求,将其运行2000次,求取整个多层云架构系统在接收不同任务请求数下的平均完成任务间。
4.3.1 实验一
通过Cloudsim仿真软件进行仿真及统计分析,得到多层云架构系统数据中心各项资源的平均利用率和多层云架构系统数据中心负载不均衡度分别如图4和图5所示。由图 4和图5可得,多层云架构系统3个数据中心的各项资源利用率均在58.93%~69.25%之间,而3个数据中心的负载均衡度均在0.0496~ 0.0620之间。3个数据中心的各项资源均被合理分配,实现了负载均衡化。
图4 多层云架构系统数据中心各项资源的平均利用率
图5 多层云架构系统数据中心负载不均衡度
基于负载均衡的跨云层任务分配方法能够很好地同时均衡多个数据中心的各项资源负载,将各项负载的资源占用率保持到一个相近的范围,并保持各个数据中心拥有较低的负载不均衡度。因此,采用基于负载均衡的跨云层任务分配方法可以避免由于任务没有得到合理分配,导致数据中心各项资源利用不均衡而产生的资源浪费。进而得到多层云架构系统各数据中心资源综合利用率如图6所示。由图6可得3个数据中心均拥有较高并相近的资源综合利用率。
图6 多层云架构系统各数据中心资源综合利用率
基于负载均衡的跨云层任务分配方法能够很好地均衡多个数据中心之间的资源利用率,保持系统中各个数据中心具有相近的综合资源利用率。因此,采用基于负载均衡的跨云层任务分配方法可以避免当某时刻同时产生大量任务请求时,单一数据中心因接收过多任务而创建大量虚拟机,进而导致该系统只有单一数据中心负载过高而其他数据中心空闲和负载溢出所带来的信息处理、通信延迟及数据丢包等问题。
4.3.2 实验二
经过共计2000次仿真实验,得出不同服务请求数下多层云架构系统运行时间如图7。
图7 不同服务请求数下系统运行时间
由图7可得,多层云架构系统运行时间随服务请求的增加大体呈阶梯状方式增长。
在任务处理过程中,通过基于负载均衡的跨云层任务分配方法的合理分配,每个虚拟机在合适的物理机上被创建,任务被分配到最合适的虚拟机上进行处理。当某次仿真中任务数量增加导致之前系统中运行的虚拟机不足以处理当前任务时,系统会创建一个或多个新的虚拟机以保持高效的任务处理效率,而这会导致系统产生更大的开销,任务处理时间产生较明显增长。直到下次任务数量增加到系统需要再次增大开销以适应更大的任务数量之前,系统的任务处理能力足以胜任当前的任务量,任务数量的增长则不会使得系统的处理时间显著增长。
本文基于网络化无人作战环境和云计算技术体系提出了“多层云架构”系统,并对该系统的资源配置及任务模型进行了分析设计,最终提出基于负载均衡的跨云层任务分配方法。实验表明:跨云层任务分配方法可以合理有效地分配“多层云架构”系统的资源,并能够高效地分配和处理作战任务。