李伯虎院士:复杂系统高效能仿真技术

2016-09-16

      【引言】复杂系统,指的是一类具有“系统组成关系复杂、系统机理复杂、系统的子系统间以及系统与其环境之间交互关系复杂和能量交换复杂、总体行为具有涌现、非线性,以及自组织、混沌、博弈等特点的系统”。

      典型的复杂系统,如航空航天系统等复杂工程系统;经济规划等复杂社会系统;人、动物、植物等复杂生命系统;气候、电磁等复杂环境系统;C4ISR、攻防体系等复杂军事系统;物联网等复杂网络系统等 。复杂系统的研究与实施对促进国民社会经济发展、巩固加强国防建设、提高人民生活质量有着十分重大的意义。

      2005年6月,美国总统信息技术顾问委员会在给总统的建议报告《Computational Science: Ensuring America’s Competitiveness》中指出,由算法与建模仿真软件、计算机与信息科学以及计算基础设施等三大元素构成的计算科学,已经逐步成为继理论研究和实验研究之后认识、改造客观世界的第三种重要手段。
      建模与仿真技术是以相似理论、模型理论、系统技术、信息技术以及建模与仿真应用领域的有关专业技术为基础,以计算机系统、与应用相关的物理效应设备及仿真器为工具,根据对系统仿真的目标,建立并利用模型对系统(已有的或设想的)进行研究、分析、试验、运行和评估(系统全生命周期活动)的一门综合性、交叉性技术。建模与仿真技术正向“网络化、虚拟化、智能化、协同化、普适化、服务化”的现代化方向发展。
      高性能计算技术是具有超高计算能力、存储能力、交互能力的一类计算技术。目前,以天河等为代表的高性能计算机已达数千万亿次/秒的计算能力,并且世界各国还在争相研发亿亿次/秒超级计算机。高性能计算技术正逐步向“高性能、高可靠、高节能、高可用”的高效能计算技术发展,以进一步解决高性能计算技术中的“内存墙、I/O墙、功耗墙、编程墙、可靠性墙、扩展性墙”等问题。高效能计算技术为仿真复杂问题提供了使能技术。
      在本文中,作者将复杂系统高效能仿真技术定义为融合高效能计算技术和现代建模与仿真技术,以优化复杂系统建模、仿真运行及结果分析等整体性能为目标的一类建模仿真技术。高效能仿真本质上是基于模型的科学活动,包括建立研究对象的仿真模型;构造与运行仿真系统;分析与评估仿真结果。高效能仿真技术是研究上述三类基本活动共性知识的一门综合性技术。其发展需要高效能建模仿真系统的体系结构、硬件、软件、算法和应用的综合推动。
      复杂系统高效能仿真技术是国民经济、国防建设、自然科学、社会科学等各个领域的系统论证、试验、设计、分析、运行、维护、人员训练等应用层次的不可或缺的重要科学技术,也是现代科学研究中求解高度复杂问题的重要科学技术,同时也是我国走“科技含量高、经济效益好、资源消耗低、环境污染少、人力资源优势得到充分发挥的新型工业化道路” 的通用性、战略性科学技术。复杂系统高效能仿真技术正在逐步成为与理论研究、实验研究并列的研究复杂系统的重要手段。
      一、复杂系统高效能仿真技术
      发展的需求

      复杂系统高效能仿真的出现主要源自于两类用户需求,一类是复杂系统高端建模仿真需求;另一类则是建立高效能云仿真中心,为海量用户按需提供“云仿真服务”的需求。云仿真是作者团队提出的一种基于云计算理念的新网络化建模与仿真模式,是通过网络、云仿真平台,按需组织网上仿真资源与能力(仿真云),为用户提供各类仿真服务的一种新的仿真模式。
      从技术角度来看,上述两类用户对发展复杂系统高效能仿真技术提出了许多具体的技术需求。下面将展开讨论这些技术需求,并对相关的国内外技术概况进行介绍。
      1.1 复杂系统高端建模仿真技术需求
      随着各领域复杂工程系统相关学科技术的快速发展、专业计算和仿真软件复杂度的提高、复杂工程仿真和计算规模的增大,这就为复杂系统高端建模仿真技术提出了更好的需求,包括以下11个方面:
      1)高计算能力;
      2)高效、高带宽、低延迟的同步、通信网络;
      3)高性能、高容量、高可伸缩性的并行I/O系统;
      4)友好的复杂系统模型开发环境;
      5)多尺度、多学科异构系统协同运行;
      6)仿真系统多样本并行运行(作业级并行)、仿真系统内实体间并行(MPI任务级并行)以及复杂模型解算的并行(多线程并行)的“三级并行”;
      7)面向各类应用问题,开发出能充分挖掘各类高效能系统能力的算法与软件;
      8)海量数据的存储与管理;
      9)仿真实验可信性与结果的分析评估;
      10)高性能计算机低功耗;
      11)高性能计算机系统的安全、高可靠性。
      1.2 高效能云仿真中心的技术需求
      从技术角度来看,高效云仿真中心要求研究的技术包括:高效能仿真资源虚拟化技术;为海量用户提供能按需动态组合的多类高效能仿真服务环境的构建技术;虚拟化高效能仿真可信协同运行技术;虚拟化高效能仿真结果分析评估技术等。如图1所示。

图1 高效能云仿真中心

_ueditor_page_break_tag_

      1.3 国内外技术研究概况
      国外方面,各国在高计算能力、高速通讯能力、充分挖掘并行计算系统能力、低功耗、高可靠性等方面取得较大进展。如IBM和洛斯-阿拉莫斯国家实验室共同研制出浮点运算能力达1000万亿次的“走鹊”(Roadrunner) 的超级计算机。目前正积极研制万万亿次的的超级计算机。此外,美国军方也十分重视高效能/高性能仿真技术在体系攻防仿真中的应用,比较典型的高效能/高性能仿真环境有:SPEEDES、TWOS、IDES 等。
      当前国际上高效能计算的研究热点包括采用FPGA和专用加速硬件提高应用系统的性能和降低功耗,可伸缩的全局并行I/O处理系统,高效能的编译系统和高效能的并行计算环境,以及面向领域的应用支撑软件系统等。然而总体来看,还未见能支持虚拟、构造、实装三类仿真,二类仿真用户的一体化的高效能建模与仿真系统。
      国内在高计算能力、高速通讯能力、充分挖掘并行计算系统能力、高可靠性等方面也取得较大进展。如2010年,天河高性能计算机速度名列世界第一。曙光4000A,星云等高性能计算机速度也名列世界前10名。2010年国防科大研制成功基于多CPU的“银河高性能仿真计算机”(10万亿次/秒),并在体系结构、硬件和软件设计等方面作了面向仿真的改进。与国外比较,国内在建模仿真支撑软件技术的研究方向、关键技术攻关等方面与国外相比的差距不算很大,并有相关原型产品:SSS-RTI 、COSIM、KD-RTI、StarLink 、AST-RTI 等。开发了基于HLA++/MSLM的仿真支撑平台/工具集。而且国内许多单位已逐渐开展了并行仿真相关技术的研究。在云仿真方面更是领先开展了研究工作。
      但针对于需求,总体上讲,国内高效能建模与仿真技术研究方面还处于初级阶段,还没有能支持虚拟、构造、实装三类仿真,二类仿真用户的一体化高效的建模仿真系统。
      综上所述我们认为,为满足迫切的应用需求及技术需求,必须尽快组织立项,研制具有自主知识产权的“支持虚拟、构造、实装三类仿真,二类仿真用户的高效能建模与仿真系统”。
      二、复杂系统高效能仿真
      关键技术的研究

      当前复杂系统高效能仿真技术研究中值得关注的9类技术包括:1)复杂系统高效能仿真语言;2)复杂系统高效能仿真算法;3)高效能仿真系统体系结构;4)高效能仿真硬件优化技术;5)高效能仿真软件支撑技术;6)高效能云仿真技术;7)复杂系统高效能仿真系统VV&A技术;8)海量数据管理技术;9)复杂系统仿真实验及结果分析与评估技术等技术。下面本文将从高效能仿真建模技术、高效能仿真系统及支撑技术、高效能仿真应用工程技术等三个方面,对上述关键技术进行论述,包括其研究内容和作者所在团队的研究成果与进一步的研究方向。
      2.1 高效能仿真建模技术方面
      复杂系统高效能仿真语言

      复杂系统高效能仿真语言是一种面向复杂系统建模仿真问题的高效能仿真软件系统。目的是使系统研究人员专注于复杂系统仿真问题本身,大大减少建模仿真和高效能计算技术相关的软件编制和调试工作。基于该语言能开发面向各类专用领域(如体系对抗、多学科虚拟样机仿真等领域)的高级仿真语言。下面以本团队正在进行的复杂系统建模仿真与优化语言COSIM-CsML为例来讨论复杂系统建模仿真语言的主要研究内容。
      仿真语言框架结构
      高效能仿真语言通常由复杂系统建模环境(模型与实验描述语言、翻译/编译程序)、库(模型库、算法库、函数库)、运行控制仿真引擎及后处理软件等组成,如图2所示。



图2 仿真语言框架结构

      仿真语言中模型与实验的描述语言
      仿真语言采用组件式的可扩展语言结构,由初始块、模型块和实验块三大部分组成,其中初始块包含各种相关参数初始值及算法相关设置语法及语句;模型块主要描述连续离散定性及混合的静态动态描述语句及语法;实验块则是描述实验操作的各种语句(如加初始值运行、停止、画图等实验)及其流程。仿真语言通常采用问题本身(连续、离散、定性、混合系统)的语言(如在连续系统建模中的描述,dx/dt=f(x))。
      复杂系统仿真建模技术
      复杂系统多表现为连续离散混合、定性定量混合的系统,由于其规模大、构成和行为复杂、相关知识不完善,行为所具有的模糊性、不确定性、难以量化、自组织、进化、混沌、涌现、博弈等特点,提出定性定量混合系统仿真建模技术,主要的研究问题包括以下三个方面:
      1)定性定量统一建模方法:研究包括系统顶层描述和面向领域描述的建模理论和方法。本团队研究成果:基于定量仿真组件进行定性规则/Agent扩展,形成Quan-Rule(定量-规则)和Quan-Agent(定量-Agent)建模方法,支持定性定量混合系统的层次化建模规范描述。
      2)定量定性交互接口建模:实现将定量定性交互数据转化为定性模型与定量模型所要求的结构和格式。本团队研究成果:扩展仿真标记语言SRML,添加定量定性数据接口的结构与格式描述语句,形成定量定性交互接口建模语言QQSRML。
      3)定量定性时间推进机制:研究不同消息传递顺序、不同的时间推进方式、不同的时间管理策略、不同消息传递顺序与传递方式组合的成员间互操作。本团队研究成果:基于QR(定量-规则)和QA(定量-Agent)的顶层抽象模型对定量/定性异构模型的时间推进进行统一管理,实现层次化混合时间推进方法。
      高效动态并行化编译技术
      高效动态并行化编译技术主要包括仿真语言的词法语法分析、复杂系统问题并行性分析以及目标代码的动态并行化编译。其核心功能是实现面向高效能并行计算环境的仿真语言编译器,能够自动将仿真描述的问题分解和并行化,并链接相应的函数库、模型库和算法库;本团队采用的方法是通过分析目标机体系结构(向量机/并行多处理机)以及问题的内在特性(依赖关系/循环等价变换等),基于C++文件流操作和string类实现文本转换,基于OpenMP/TBB编译指导语句和VC实现并行计算。
      参数化、组件化仿真模型库/函数库技术
      丰富的模型库/函数库是复杂系统高效能仿真语言的重要组成部分。建立面向各类领域、各层次的参数化、组件化、通用化的仿真实体与其环境的模型库/函数库研究已成为复杂系统仿真建模技术的研究热点。国外的产品如Qualnet 、Modelica等仿真软件中的模型库/函数库。国内的模型库函数库产品如本团队研究的“体系对抗仿真系统参数化/组件化模型库”。
      算法库
      见1.2复杂系统高效能仿真算法。
      复杂系统高效能仿真算法

      复杂系统高效能仿真算法可分为同构并行仿真算法和异构并行仿真算法。各类并行仿真算法按模型种类可分为连续,离散,定性,混合,优化算法等;按问题对象可分为数值并行算法、非数值并行算法;按计算方式可分为同步并行算法、异步并行算法;按计算机类型则可分为SIMD、MIMD等。
      高效仿真算法的研究内容包括:
      1)针对连续、离散、定性等各领域算法特点,提出并实现新的高效并行仿真算法,如基于方程组右函数均匀负载的连续系统常微分方程并行算法;基于乐观机制的离散系统并行算法;基于定性线性代数方程组和优化算法的定性系统并行算法;智能系统并行算法,例:并行人工神经网络算法、并行深度/广度优先搜索算法;并行优化算法,例:并行遗传算法,并行蚁群算法,并行规划算法。
      2)连续、离散、定性混合仿真系统并行仿真时间管理算法。
      3)面向领域的高性能并行仿真算法,如核能领域的高效能仿真,包括单核并行算法:提高多级存储速度的并行算法(包括并行编程模型、数据结构和专用函数库等);多核(成千上万核)并行:多核并行算法(动态负载平衡、非规则数据通讯、降低计算规模等)。
      本团队在高效仿真算法领域的研究成果包括基于网格的分布仿真算法(面向复杂电磁环境的EME并行加速算法,其特点是:综合考虑地形、大气等因素,采用二维自适应切片及并行加速技术,显著提高三维电磁环境计算速度)、并行智能系统仿真算法(GA-BHTR: 基于Transitive Reduction和二叉堆维护的GA算法,其特点是:多种群、多核、多进程——具有并行性)、并行优化系统仿真算法(QMAEA: 量子多智能进化算法,其特点是:量子比特编码——提高多样性;多种进化策略——具备平衡全局搜索与局部搜索的能力;智能进化算子——提高了精度、效率等性能)。
      高效仿真算法进一步研究的焦点是围绕提高并行仿真算法的效率,保持仿真算法的可伸缩性,实现动态负载平衡,减少并行计算中协同所需的通信量,同时兼顾可扩展、可移植的大粒度任务级并行和在每个进程中组织便于发挥单机性能的合理数据结构、程序设计和通信方式。
      2.2 高效能仿真系统及支撑技术方面
      高效能仿真系统体系结构
      本团队认为,高效能仿真系统体系结构可以由硬件系统层、并行操作系统层、并行编译系统层、仿真服务层和仿真门户层组成,而相关的标准、规范、协议和安全机制贯穿所有层次。如图3所示。


图3 高效能仿真系统体系结构

_ueditor_page_break_tag_

      上述高效能仿真系统体系结构是一种网络化、智能化、服务化的一体化仿真支撑平台体系结构,其硬件系统包括基于多CPU/多GPU的模块化计算节点、基于GPU/FPGA/DSP的专用加速部件、基于GPU的高速可视化子系统以及高速通信、协同、I/O,如图4所示。软件系统能够支持实时仿真的并行操作系统,提供支持“高端”和“云仿真”二类用户的各类仿真服务以及面向问题、用户友好的仿真语言系统,并且有丰富的支持并行运行的模型库、仿真算法库为底层支撑。

图4 高效能仿真系统的硬件系统结构

      高效能仿真硬件优化技术
      目前,高效能仿真硬件正向以FPGA、GPU及定制专用加速部件、通用商品化多核处理器为主导,通专结合、局部定制、针对性优化的高效节能方向发展。高效能仿真硬件优化技术主要针对复杂系统仿真的特点和需求,在硬件方面进行针对性优化设计,其主要研究内容包括:1)在线可重构仿真加速阵列设计技术;2)高带宽、低延迟通信网络技术;3)低延迟仿真协同机制设计技术;4)及高性能、高容量、高可伸缩性的全局并行I/O技术等。
      目前,国内外仿真硬件优化技术取得了一些成果:国外的典型仿真硬件优化实例包括RIKEN的Protein Explorer/MDGrape-3、分子动力学仿真专用机器Anton、Cray的XD1、IBM的SP tempest以及Pitt Parallel Simulator;国内代表性的成果则如由国防科技大学计算机学院设计开发成功的基于多CPU的银河高性能仿真计算机。
      国内外的实际经验表明针对复杂系统仿真的特点和需求,在硬件方面进行针对性优化设计,能够取得很好的仿真加速效果。
      高效能仿真软件支撑技术
      高效能仿真软件支撑技术主要针对复杂系统仿真的特点和需求,在软件平台方面进行针对性设计。目前,高效能仿真软件支撑技术正在向组件化,自动并行化方向发展,其主要研究内容包括:1)支持三级并行的软件平台体系结构技术;2)高效能并行化软件技术;3)仿真应用组件化构建技术 。
      高效能“云仿真”技术
      本团队基于仿真网格的研究成果,进一步融合虚拟化技术、普适计算技术和高性能计算技术等,引入“云计算”理念,构建一种基于云计算理念的网络化建模与仿真系统——“云仿真系统”,以加强网络化建模与仿真平台的细粒度、各类资源(包括节点内的  CPU核、存储器、软件等子  资源)按需共享能力;充分支持多用户能力;协同能力;容错能力以及安全应用机制。
      云仿真系统的关键技术包括:总体技术,仿真资源与能力感知技术,仿真资源与能力的虚拟化与服务化技术,虚拟化仿真环境的构建与管理技术,虚拟化仿真环境运行技术,虚拟化仿真环境评估技术,可信虚拟化仿真技术,普适人机交互技术,服务平台应用技术,系统运行的商业模式技术等十大类,具体如图5所示。
图5 云仿真系统关键技术

      基于上述关键技术的研究成果,本团队研制开发了一个云仿真系统的原型COSIM- CSP并已经在多学科虚拟样机协同仿真、大规模体系级协同仿真以及高性能仿真等领域开展了初步应用,验证了三种云仿真应用模式,包括虚拟交互模式、批作业模式以及分布互操作模式。
      云仿真技术的进一步研究将以应用需求为牵引,融合现有建模与仿真技术及云计算、物联网、新一代网络、高效能计算、服务计算、人工智能等热点/新兴信息技术,为用户的建模与仿真全生命周期活动提供可随时快速获取的、按需使用的、安全可靠的、优质廉价的智慧云服务。
      三、高效能仿真应用工程技术
      3.1 复杂系统高效能仿真系统VV&A技术
      仿真模型的VV&A技术主要包括了模型的校核、验证与验收,其中校核(Verification)表示确定仿真系统是否正确表达了开发者的概念;验证 (Validation)表示确定仿真系统代表真实系统的准确程度;确认(Accreditation)则代表用户对仿真系统资格的认可。VV&A 过程贯穿于建模与仿真的全生命周期,包括全生命周期VV&A、全系统VV&A、层次化VV&A、全员VV&A以及管理全方位VV&A。
      在国内,哈工大等单位开展了体系建模与仿真VV&A与可信度评估的研究工作,自主研制成体系对抗仿真系统可信度评估的工具集,显著提高全生命周期内仿真系统的可信度。建模与仿真VV&A未来发展的趋势包括:
      (1)更加有力的VV&A政策(Policy)支持。
      (2)深入的VV&A理论体系与框架。
      (3)更加成熟的VV&A过程模型。
      (4)严格客观的VV&A方法与自动化工具。
      (5)更具指导性的VV&A标准系列。
      3.2 海量数据管理技术
      海量数据管理技术主要研究海量数据的存储技术、海量数据的查询及海量数据的分析、挖掘技术。 以本团队研究研究的复杂系统仿真实验数据管理系统COSIM-TDM为例,该系统是支撑协同仿真平台从数字化设计领域向数字化仿真实验验证领域拓展的重要工具,提供多种模式实验数据采集接口定制,数据组织管理,实现了实验数据资源的有效管理和利用,同时为仿真模型VV&A提供支持。其特色在于支持HLA标准、支持基于Socket模式TCP/IP(UDP)协议等多种通讯协议的实验数据采集接口;提供具备二维曲线、三维模型、表格等控件的可视化工具,支持实时显示。
      3.3 复杂系统仿真实验结果管理、分析与评估技术
复杂系统仿真实验及结果管理、分析与评估技术面向复杂系统仿真应用,实现仿真实验数据采集、实验数据管理、可视化分析处理以及智能化评估等一系列功能,为应用人员提供仿真结果分析与评估优化提供全面支持。主要研究内容包括:仿真实验数据采集技术、海量数据管理技术(存储、查询、分析、挖掘)、仿真实验数据分析处理技术、仿真实验数据可视化技术以及智能化仿真评估技术等。
      以本团队研究的复杂系统仿真评估器为例,作为复杂系统仿真应用的有效评估工具,该仿真评估器提供了动态采集仿真数据,应用多种评估算法进行评估,以及仿真过程回放分析等功能,实现了复杂系统建模仿真工程实施中对原型系统的评估。其特色在于,支持组件技术开发实现复杂评估模型的建模、集成、部署和运行,具有开放性、可定制性、可重用性以及灵活性;支持动态数据采集、评估模型加载及仿真回放;支持以数据驱动方式有效连接各算法模型,实现评估过程自动运行。
      基于脑科学的智能评估技术将是未来复杂系统仿真实验及结果分析与评估技术值得关注的一个发展方向。
      几点建议
      1. 复杂系统高效能仿真技术是指融合高效能计算技术和现代建模与仿真技术,以优化复杂系统建模、仿真运行及结果分析等整体性能为目标的一类建模仿真技术。
      2.复杂系统高效能仿真技术是21世纪人类认识和改造世界的重要研究手段,是我国实现创新型国家战略目标的重要科学技术。
      3. 提高复杂系统高效能仿真技术的作用,必须重视同时开展“被研究对象仿真模型、高效能仿真系统、应用工程”等三个方面的理论、方法和技术的研究。
      4.当前,复杂系统高效能仿真研究中值得关注的几类技术:
      高效能仿真建模技术:
      (1)复杂系统高效能仿真语言
      (2)复杂系统高效能仿真算法
      高效能仿真系统及支撑技术:
      (3)高效能仿真系统体系结构
      (4)高效能仿真硬件优化技术
      (5)高效能仿真软件支撑技术
      (6)高效能云仿真技术
      高效能仿真应用工程技术:
      (7)复杂系统高效能仿真VV&A技术
      (8)海量数据管理技术
      (9)复杂系统仿真实验及结果分析与评估技术


转载自《中国指挥与控制学会》,作者:李伯虎(中国工程院院士),李潭 侯宝存(北京仿真中心专家柴旭东),林廷宇 邢驰 张霖(北京航空航天大学专家),姚益平(国防科技大学专家)

本网站由阿里云提供云计算及安全服务 Powered by CloudDream