张思亲,孔文华,苏银科
(北京机电工程研究所,北京 100074)
随着新型武器装备的发展,基于信息物理系统(cyber physics system,CPS)特征的网络化武器系统(如无人集群系统)已逐渐成为重要的发展方向。CPS强调计算、网络与物理实体的紧密结合,通过计算、通信和控制的协同合作,获得整个系统在适应性、功能性、可靠性、效率性等方面的提升。该趋势反映到网络化武器装备中,则表现为不同时间和空间上的同构或异构资源的动态混合系统,包括探测感知资源、指挥控制资源、精确打击资源、作战保障资源和打击效果评估资源等。系统通过分布在各种物理资源上的传感设备采集信息,利用多维信息网络进行信息数据的传输与交互,最终实现对网络化武器系统各个实体的精确动态控制和协同运行,完成其相应的作战使命任务。网络化武器装备呈现出功能多样化、环境复杂化、任务综合化、特征智能化的特征,其运行机制和功能形态的演化过程充满了不确定性,对开展半实物仿真试验验证带来新的挑战,主要表现为以下几个方面:
1)采用通用计算机来构建集群仿真系统,运行效能低下,成本巨大。这主要因为通用计算机执行机构固定不变,依靠仿真软件编程实现仿真计算和运行控制具有较强的通用性。为了满足实时仿真需求,通常采用资源最大化配置,要实现集群武器装备仿真,所需资源巨大,成本难于估计,对其进行管理、调度、重构的代价也很大。
2)采用专用计算机构建集群仿真系统,需依据特定应用需求,尽管可以达到较高的运行效能,但通用性极差,难以满足网络化装备系统仿真需求。
图1给出了不同计算形式的灵活性和性能关系示意图。
图1 不同计算形式的灵活性与性能Fig.1 Flexibility and performance of various computing forms
因此,需要研究一种能够感知仿真任务需求、进行软/硬件架构重构的实时仿真平台,在仿真任务与仿真资源间进行动态决策,给出效能最优的匹配,实现仿真平台通用性和运行效能的最佳平衡,满足具有信息物理系统特征的网络化武器系统的试验验证需求。随着现代计算技术的发展,特别是近年来出现的拟态计算技术和可重构技术,为集群仿真系统实现带来了新的可能。本文将重点分析拟态计算技术和可重构计算技术的发展现状,分析其在集群仿真应用中的可行性,提出集群仿真应用中需解决的技术难点,设计基于拟态重构技术的集群仿真系统原理验证方案。
拟态,本意是指一种生物在形态、行为等特征上模拟另一种生物,从而使一方或双方受益的生态适应现象。拟态章鱼是自然界最具代表性的拟态伪装大师,它可以通过扭曲身体和触手,来模仿至少15种动物的外表和行为,包括海蛇、比目鱼、巨蟹、海贝、水母、海葵等等。受到拟态章鱼等自然现象的启发,美国怀俄明州立大学的SPEAR等提出的拟态物理学(physicomimetics or artificial physics,AP)[1-3],是一种模拟物体间存在虚拟力作用以及物体运动遵循牛顿力学定律的方法,并提出拟态物理学框架,实现了将传统的物理分析技术用于群体行为的预测。AP主要应用于群机器人系统的分布式控制(包括群机器人的编队、区域覆盖和避障等),如目前应用广泛的蚁群算法,以及求解最优化问题,如拟态物理学优化算法。
2015年以来,解放军信息工程大学等团队借鉴AP的方法,提出了一种基于拟态计算的主动认知可重构体系结构,将AP概念成功应用于高性能计算中,提出拟态计算的概念,并成功研制世界首台拟态计算机[4],为全球高性能计算机的发展开辟了新方向。拟态计算是一种能根据资源、任务、安全、服务和时效性等元素的变化,变换出尽可能合适的结构形态,从而得到高处理效能的计算模式,具有以下特征:
1) 拟态计算以实现高效能和高性能计算为目的,具有按需分配资源、结构可变、灵活计算的特点。拟态计算以多维重构函数化体系结构与动态多变体运行机制为核心,对高性能计算在多个典型领域的应用、结构和效能关系进行了深入分析,引入了“应用决定结构,结构决定效能”的理念。相比于传统信息系统的静态性、相似性和确定性,拟态计算系统具有非持续性、非相似性和非确定性等基本属性。拟态计算机的结构动态可变,软硬件结合进行计算,针对用户不同的应用需求,拟态计算机可通过改变自身结构来提高效能。
2) 拟态计算通过识别应用的需求及变化,同时感知系统中可以利用的处理资源,依据尽可能高效的原则构建出适合于应用需求的处理结构,并且该结构随着应用的变化(如计算进展阶段、处理负荷等方面的变化)可进行结构的主动变更,达到自适应重构、提高计算效能的目的。拟态计算能充分利用程序和计算部件的异构性,各尽其能,合理分治,协同计算一个应用任务,兼顾性能和灵活性[5]。目前,郑州信息工程大学以高效能和高安全性计算为目标,提出了以多维重构函数化体系结构与动态多变体运行机制为核心的拟态计算和拟态安全防御技术体系,给出了需要进一步研究的主要科学与工程技术问题。
通过以上对拟态计算的特征分析可以看出,拟态计算模式可为网络化武器装备集群仿真系统构建提供新的有效手段。
可重构计算的概念最早由ESTRIN等在1963年提出,目前学术界所常用的可重构计算是指:系统具有某种形式可编程的硬件,可通过一系列物理控制点定期定制硬件的功能,从而可以使用相同的硬件执行不同的应用[6-7]。可重构计算有希望填补硬件计算(基于专用集成电路的计算)和软件计算(基于通用处理器的计算)之间在性能与灵活性上的鸿沟,从而在获得高于软件计算性能的同时保持高于硬件计算的灵活性。可重构计算的器件通常由计算单元阵列和连线资源构成,两者都是可编程的。计算单元又称为逻辑块,它的功能由一定数量的配置位所决定,逻辑块之间的互连由连线资源决定。逻辑块实现简单的逻辑功能,经过可配置连线的连接实现复杂的定制功能。根据逻辑块粒度的大小,可重构器件可以分为细粒度结构和粗粒度结构,一些更细化的分类也将粒度大小分为细粒度、中等粒度、粗粒度和超粗粒度[8]。最常见的可重构硬件当属现场可编程门阵列(field programmable gate array, FPGA),有些文献直接将基于FPGA的计算等同于可重构计算[9],FPGA就是一种细粒度可重构器件。
对于可重构系统,如果可重构软硬件仅仅在工作之前被重构,则该系统称为静态可重构系统或编译时可重构系统。如果系统在运行过程中可重构软硬件能够被重构,在不同时刻完成不同功能,则称该系统为动态可重构系统或运行时可重构系统。一般可重构计算系统都采用可重构硬件和通用微处理器结合的形式,通用微处理器执行可重构硬件无法高效完成的操作,如数据依赖的控制、存储访问等,而计算密集的程序热点则被映射到可重构硬件上完成。根据通用微处理器和可重构硬件的耦合方式,可重构硬件在计算系统中大致可以分为四类:可重构功能单元、可重构协处理器、可重构附属处理单元和可重构独立处理单元。
可重构计算技术在许多领域已得到了广泛应用。主要包括以下几个方面:
1) 在商用可重构硬件方面,FPGA最为成熟普遍,通常作为独立芯片甚至板卡的形式存在。所以,在现有商用可重构计算系统中FPGA的使用最多,且多数以后两种耦合结构存在,如:作为附属处理单元的有Intel QuickAssist的FSB-FPGA加速系统[10]以及XtremeData的FPGA加速平台[11]等;作为独立处理单元的有SRC-7可重构超级计算机[12]等。
2) 在器件级重构技术方面,目前国内外的研究热点是基于可重构计算体系结构的定制体系结构研究。华盛顿大学计算机科学和工程学院的EBELING等提出了一种1-D 带状结构的RaPiD(reconfigurable pipeline data-path)[13],这是一种粗粒度静态可重构计算体系结构,实现了对数字信号处理(digital signal process, DSP)规则运算的支持,能够按照算法的要求配置适当的数据通路。HP实验室的Alan-Marshall研究小组提出了一种采用2D 网络结构的可重构计算阵列称为棋盘格布局(floorplan-is-chess board-like)[13],作为专用集成电路 (application specific integrated circuit,ASIC)或处理器的一个部件工作,可为多媒体算法提供足够的计算能力和足够的分布式存储资源。加州大学伯克利分校的研究团队提出了一种基于Crossbar的Pleiades体系结构[14],把可编程微处理器、处理单元及存储器结合在一起,所有硬件结构使用同一个控制模块和可重构通信网络,通过编程配置实现通信、图像处理和视频编码等领域的大量算法,形成低功耗专用信号处理器。国防科大完成了可重构功能单元自动生成技术研究[15],把ASIP(application specific instruction-set processor)和可重构单元结合在一起,避免了采用耦合细粒度可重构单元带来的高设计代价问题,在密码领域应用中取得了较好的性能。西安理工大学的陈小军等提出了通过在现有计算系统中增加虚拟化层、隔离硬件和多层软件之间的紧耦合关系[16],实现透明化、可伸缩的系统架构,从而实现体系结构各层之间的自适应重构。
3) 在针对具体应用领域的可重构技术研究方面,美国卡耐基梅隆大学的GOLDSTEIN等提出了PipeRench结构[17-18],结合了流水线技术和模块可重构技术,根据任务需求可动态调度流水线重构系统中的指令流和数据流,减少编译时间和重构时间。清华大学的朱敏等研究设计了面向密码领域的可重构阵列[19],包含4个由16×16个细粒度基本单元构成的比特阵列和1个由8×8个字节粒度基本单元构成的字节阵列。国防科大的严明提出了一种基于可编程数据流计算的体系结构框架ProDFA[20],是一种粗粒度可重构结构,包含多个可重构数据流水线通路,具有灵活的可编程特性和高效的计算特性。NAJEM等提出利用新型堆叠结构对整个系统的运行过程进行优化,用以大幅度减少重构时间成本[21]。空军工程大学的邵雷等提出了一种基于多模型的自适应重构控制方法[22],解决了飞控系统执行器故障引起参数大范围跳变的问题。
以上均为采用异构的粗粒度重构结构,粒度、通信结构、存储结构等相对固定,不适合数据量、算法、任务量等弹性变化的计算,对集群仿真应用不具备很好的加速性能。拟态计算技术以“应用决定结构,结构决定效能”为主要思想,以认知计算需求为实现方法,利用可重构计算技术,完成高性能、高效能计算,即拟态计算本质上是一种基于认知的主动重构计算技术[23]。解放军信息工程大学的邬江兴院士及其团队提出了一种基于认知的主动重构计算体系结构[4],以效能、资源利用率为目标,以业务、资源、处理负荷等为感知和响应源,通过体系结构的主动重构,来实现整个体系的带有时间特性的整体高效。该计算体系结构,对于研究面向集群仿真的体系架构具有较好的借鉴作用。图2为可重构系统的研究框架。
图2 可重构系统的研究框架Fig.2 Framework of studying reconfiguration system
要将拟态计算思想和可重构计算技术成功应用于集群仿真中,使得集群仿真系统获得最大效能,需要解决任务认知、性能评价标准体系建立等技术难点。
为使仿真计算机能够自适应地完成计算结构重构从而获得更大效能,需要让计算机对仿真任务所需要的计算形式和计算量进行实时认知与表征。认知任务分析方法始于20世纪80年代早期,主要源于计算机模拟和人工智能等领域的需求。认知及其发展研究涉及两个核心问题:一是如何确定实验任务或问题的复杂程度;二是如何确定个体在任务上的认知表现或表征水平。
对于一个认知任务,进行分析与表征的一般方法主要包括4个步骤或阶段:准备数据、安排数据、发现意义和表征发现物。山西大学的魏屹东[24]提出了一种以决策为中心的设计方法 (decision-centered design, DCD),该方法由5个阶段构成:
1) 准备:理解认知工作的领域和性质、任务和功能认知的范围,确定在哪里集中任务认知分析资源,以及选择认知任务分析方法;
2) 知识引导:使用认知任务分析方法组织实施关键决定和认知复杂任务的深入检验;
3) 分析与表征:分解并结构化数据,以启迪决策需要和设计杠杆点;
4) 应用设计:重复地发展设计概念并支持使用者的决策应用原型;
5) 评价:确定行为的重要测量,评价和提升原型。
通过以上方法可以完成计算任务的实时认知与表征,从而进一步为计算任务分配合适的计算资源以完成计算。
在集群仿真的需求认知中应用该方法,具体可分为4个阶段:首先分析集群系统仿真任务特征,集群系统仿真任务通常包括编队信息获取仿真服务、编队决策与管理仿真服务、编队飞行控制仿真服务和成员飞行控制仿真服务等;其次根据任务特征将仿真计算的总体需求分解成基准-时空配准算法、相对位置相对速度算法、动态任务规划算法、编队模型预测控制算法、拥塞控制算法等具体算法;然后以各算法所需资源驱动认知策略,将整体仿真任务进行模块化特征归纳,从而完成认知过程;最后通过集群系统执行任务由简到繁的推演方法验证评价认知的精确性。
为了验证基于拟态重构的实时仿真平台能够主动适应仿真应用任务需求变化的高效能特征,需要构建相应的性能评价标准体系。对于拟态重构的实时仿真平台的计算能力,主要考察其对集群系统中计算节点分配的合理性,即:为系统中每一个并行任务分配处理器等资源,并指派占用这些资源的起止时间,在满足依赖关系的条件下,使得所有任务较早完成,并且能量消耗尽量少。需要解决的技术难点问题如下:
节能调度方法与传统的并行任务调度方法相比,核心目标不是减少整体的任务完成时间,而是希望尽可能地减少任务占用资源数目和占用各资源的时间,提高资源利用率,达到整个集群系统处理能力和能量消耗之间的平衡。节能调度算法设计是高性能计算领域中的一个研究热点。国内外学者普遍采用启发式算法生成调度方案,减少任务总体完成时间,降低系统能耗。多处理器任务调度算法(task duplication scheduling, TDS)[25]将所有任务以流程关系图的拓扑结构表示,把需求按照流程关系划分为不同路径,每条路径上的任务作为一组,分配到同一个处理资源上执行。该方法通过在数据相关的任务分组上复制执行前驱任务来减少处理器间的数据传输延迟,缩短所有任务的总体执行时间。但是,任务复制执行虽然能够有效地提高总体执行时间性能,却使得任务执行能耗进一步增加。为此,ZONG等[26]在TDS的研究基础上,提出了两种非抢占式离线节能调度算法——能耗感知调度(energy-aware duplication, EAD)和效能平衡调度(performance-energy balanced duplication, PEBD),分别通过设置任务能量阈值和能量时间比阈值,减少低能效任务复制次数,从而降低系统的总体能耗。山东大学的李新等[27]提出了一种启发式处理器合并优化方法,该方法按照任务最早开始时间和最早结束时间查找处理器时间空隙,将轻负载处理器上的任务重新分配到其他处理器上,从而减少被使用的处理器数目,降低系统总体能耗。清华大学的郭振宇等[28]提出了运用Betto的优化框架降低运行时能耗,其主要思想为:把运行时的工作尽量安排到离线状况下来完成,结合以前多次的优化,用比较少的代价达到相同的效果。
负载分配主要是指节点间负载分配,目的在于均衡各运行节点负载,进而实现高效的并行计算,以减小任务响应时间。负载平衡策略希望均衡所有节点上的负载,使所有节点上的计算强度基本相等,这种相等并非简单的任务数目相等,而是根据这些异构节点的性能高低进行加权处理,从而为各节点分派相同的计算压力。为此需要根据系统负载的变化进行任务的动态迁移,同时,负载平衡支持并行应用,在运用负载平衡策略的系统中选取一些节点作为并行处理单元,选取其中一个作为上位控制节点,并给其他节点分配一定的任务以实现并行计算。因此,负载平衡系统可以为没有并行机的用户提供一个研究并行机制和应用的环境。负载平衡系统属于松散耦合的网络系统,它只能支持粗粒度和中粒度的并行[29]。在复杂网络并行计算系统中,采用动态负载平衡算法分配系统中的工作负载,能够显著地提高系统的性能。目前,虽然有多种动态负载平衡算法,但对其研究仍旧处于一个起步阶段。随着专用和非专用的网络计算环境,特别是异构型网络计算的发展,对动态负载平衡技术将会开展更加深入、细致的研究,并在工程实践上进行检验。
在拟态重构平台中,能够使集群系统各运行状态下各计算节点的运行概率相同,达到对集群系统仿真计算动态负载平衡状态,即为并行计算中效能最优的资源分配方案。
基于以上理论,可以对能耗、计算速度和资源占用进行量化,建立包含硬件可重构性、设备运行效能、计算处理能力等质量指标的多维度联合评价体系,得到实时和资源约束条件下的动态匹配策略。
集群仿真平台主要由可重构的实时仿真基础处理单元、远程管控和监视节点、光纤实时网络、以太网服务网络等组成。其中仿真基础处理单元是集群仿真应用架构中的运算中心,负责对集群系统仿真任务需求进行实时解算。仿真基础处理单元具备高性能的计算资源、可配置可重构的存储资源以及1553B、CAN、RS422、开关量、AD/DA、以太网、光纤网等接口资源以及电源控制接口资源,可以独立运行,也可以彼此连接构成一定规模的网络化计算资源。
远程管控和监视节点是实时仿真支撑平台的核心节点,负责任务需求参数的识别、任务需求与仿真资源动态匹配策略的形成与实施。远程管控和监视节点接收用户的仿真任务,实时进行处理,并发送控制指令给各个仿真基础处理单元,使其动态适时运行。即远程管控和监视节点控制计算资源进行“拟态”,利用实时仿真基础处理单元之间的配置和实时仿真基础处理单元内部硬件“可重构”来完成总体仿真计算。
仿真基础处理单元原理样机硬件架构如图3所示。
图3 仿真基础处理单元原理样机硬件架构Fig.3 Framework of prototype of basic processing unit of simulation
仿真基础处理单元原理样机主要包括以下4个关键的组成部分:
1) 主控ZYNQ控制核心板:采用CPU+FPGA+ASIC(专用集成电路)的刀片服务器作为仿真基础处理单元的架构。该刀片服务器采用单独的中央处理器芯片和与其配套的芯片组构成CPU卡,基于嵌入式技术延伸 (embedded technology extended, ETX)模块的CPU卡集成了CPU、PCI总线、桥芯片、存储器、显示芯片、声音芯片、以及标准PC/IO功能的特殊芯片等。
2) 处理器端存储器:处理器端存储器是ZYNQ PS端的主RAM存储器,容量和运行的稳定性对系统运行、数据处理及流程处理有重要影响。
3) 主控板电源管理设计:主控板上需要多个电源轨道,通过电源模块的PowerGood引脚和Run引脚进行控制。同时使用双倍速率同步动态随机存储器的专用电源芯片的PowerGood引脚来控制ZYNQ PS端的RST_N信号,从而终止ZYNQ芯片的复位,并开始启动过程。
4) 功能接口设计:原理样机硬件支持RS422串口,光电隔离开关量输入,同时通过ZYNQ PL端的高速GTX接口可实现多种高速串行接口,硬件支持FC-AE-1553B、光纤通信、Serial RapidIO等多种通信协议。
采用仿真基础处理单元原理样机作为拟态节点,构成3个节点的原理验证系统,开展功能测试。
拟态节点组网有多种组网方式,可以根据任务输入的不同,配置多个拟态节点,来满足相关任务对接口数量的要求。当任务的计算需求增大时,也可以配置更多的拟态节点用于计算,或者是将原来用于接口的资源重配置后再将节点资源用于计算。各个拟态节点之间的通信可以通过千兆以太网实现,对于数据量更大或者对实时性要求更高的通信场合也可以通过光纤网实现数据交互。图4给出了拟态仿真平台架构原理验证实验方案的示意图。
同时,还有一种工作模式是各个拟态节点完全受控于远程管理与监控节点(该节点为PC工作站),可以通过插入其中的光纤接口板及光纤网络对所有拟态节点进行控制。此种工作模式下,拟态节点相当于控制节点的远程输入输出设备。
图4 拟态仿真平台架构原理验证示意图Fig.4 Sketch of validating the theory of simulation system based on mimic computing technology
拟态物理学与可重构计算在灵活性、可扩展性、实时性和可靠性等各方面都具有巨大优势,这对高性能计算系统的启发性至关重要,但目前其技术体系尚不完善,理论与实践应用领域比较狭窄。在诸如集群仿真平台的复杂系统计算中,由于待分析主体数量庞大,主体之间关系错综复杂,所需仿真计算量成几何倍数增长,迫切需要基于拟态重构技术的新型高性能计算机提供支撑。目前,国内外在动态可重构技术、基于拟态物理学的群智能行为建模、拟态计算等方面的研究资料较多,而拟态计算技术、动态重构技术在仿真平台中应用研究的资料很少,尚无直接资料报道。针对基于拟态重构的集群仿真平台构建方法的研究还需要进一步完善理论体系结构,需要着重解决以下3个方面的问题:
1) 针对集群系统仿真任务的认知需求,需要具体细致的算法将仿真任务进行聚类和量化,以确定对计算性能的需求;
2) 根据条件的限制,分析重构粒度的层次量级,以达到使用效能与构建代价的均衡;
3) 面对仿真计算任务和计算资源提出合理高效的映射算法,在节点间分派负载,均衡各结点负载,进而实现并行计算,以减小任务响应时间,平衡各计算节点的计算任务,达到最优效能。