面向复杂系统的高效能仿真云体系架构及应用技术研究

2015-05-25 04:18柴旭东
关键词:高效能租户高性能

邢 驰,柴旭东

(1.北京航空航天大学 自动化科学与电气工程学院,北京 100083;2.北京仿真中心,北京 100854)

面向复杂系统的高效能仿真云体系架构及应用技术研究

邢 驰1,柴旭东2

(1.北京航空航天大学 自动化科学与电气工程学院,北京 100083;2.北京仿真中心,北京 100854)

本文针对复杂系统仿真规模的不断扩大,建模与仿真的精度要求不断提高等因素对仿真系统以及仿真支撑环境提出的更高要求,首先指出了复杂系统高效能仿真云的发展需求,其次提出了以高性能仿真计算机为仿真硬件载体的高效能仿真云架构,然后对基于云计算的仿真系统多租户,面向复杂系统的高性能RTI,以及高效能仿真云环境下的仿真容错等技术开展研究,得到了相应的研究和解决方法。通过本文的方法能够解决在大规模、复杂系统工程建模仿真过程中面临的协同互操作,可重用性等问题,同时保证仿真运行的高效性及可靠性。

复杂系统;高性能计算机;仿真云;多租户;高性能RTI;容错

1 研究背景

复杂系统[1]在社会、生物、环境、军事、水利工程等领域普遍存在。在复杂系统的建模仿真中存在多学科的异构仿真模型,且模型之间需要频繁的数据交互进行协同仿真,以保证各个子系统组成的复杂系统性能最优。例如在水利工程全生命周期的建模与仿真中,既要保证水库模型符合外观要求,还必须保证水库的安全运行,同时还要满足水库群的最优化调度需求等。复杂系统的建模与仿真对仿真系统以及仿真支撑环境提出了更高的要求,在技术上要求保证整个仿真的高效、可靠的运行,在应用上减小运行成本使得用户能够“用得起”高效的仿真资源。因此为了实现该目标,不少专家学者对建模仿真系统开展研究。其中,建模仿真系统包括仿真软件、仿真硬件以及仿真支撑环境,其中仿真支撑环境又包括了各种技术,如有运行支撑技术、仿真容错技术等。

为了完成上述目标,建模与仿真技术结合了“云计算”服务模式,提出了“云仿真”概念[2]。云仿真平台提供对仿真资源(仿真的硬件资源以及软件资源)的动态管理,以及进行网络化建模仿真系统的协同运行。

随着高性能计算机技术的不断发展,建模仿真应用也被搬上了高性能计算机。典型的分布式仿真技术(DIS)以及高层体系结构(HLA)也都应用在高性能计算机上。在基于高性能计算机通讯技术的RTI方面(RTI是HLA[3~5]框架的核心),为多种类型的仿真盟员间的交互提供了一组通用服务实现盟员间数据的有序及按需传送,通过盟员之间的接口规范实现无缝连接,完成盟员之间的互操作和可重用。现如今,建模仿真界针对高性能计算机平台对HLA进行了改进,其中包括美国Georgia大学的FDK[6](Federated simulations Development Kit),Steinman等人基于并行仿真框架SPEEDES[7](Synchronous Parallel Environment for Emulation and Discrete Event Simulation)实现了高性能RTI(HPC RTI),法国太空宇航局开发了面向高性能计算平台的RTI软件HP-CERTI[8],国防科技大学也开展了相应研究,提出了针对不同网络环境的自适应RTI[9]。综上,虽然高性能RTI的研究已取得了可喜的成果,但应用起来仍不能满足复杂系统的仿真需求。

在仿真容错方面,基于HLA的分布式仿真系统的容错也有相关研究,其主要特点是在仿真节点上,根据仿真运行的特点进行容错。其并未考虑到在高性能计算机的多核情况下,以及仿真系统本身特性的条件下的容错技术。同时,现阶段的仿真容错都聚焦在理论领域中,在实际的工程应用中还尚未见到具体的使用。

针对上述问题,本文提出了一个面向复杂系统高效能仿真云的建模仿真运行的支撑环境,其无论是在技术上还是在应用上都势在必行。本文首先从应用和技术两方面,分析了高效能仿真云的需求,然后在高性能计算机的硬件载体上提出了高效能仿真云的框架,最后对复杂系统高效能仿真云应用的三项技术提出了研究思路。

2 复杂系统高效能仿真云的发展需求

2.1 应用需求现有的仿真支撑环境已不能完全满足复杂系统的全生命周期的仿真运行,这样对于仿真支撑环境需要提出新的要求。

(1)更高的计算能力。在仿真系统运行过程中,往往对一次仿真的分析、评估、论证需要运行成百上千、甚至上万次,所消耗的时间从几天到几十天不等。这种耗时的仿真计算妨碍了仿真应用的发展,因此仿真系统需要更高的计算能力来提高仿真运行的速度。

(2)解决模型重用、异构的问题。越来越大规模的仿真系统中,有的模型是依据新的建模仿真标准规范重新开发的(如HLA[10]或PDES等),但有的模型是以前仿真系统遗留下的,这种共存的局面,要求仿真支撑环境能够兼容模型,让已有的模型重用,并和新模型联合仿真。

(3)能够支持“海量用户”的仿真支撑环境。建设一套完整的“高效”仿真环境,无论是在建设方面还是在运行方面都要投入非常巨大的人力和财力,这就要求高效能仿真云能够满足资源共享,支持“海量用户”的租用资源模式。

(4)保证仿真运行的高可靠。复杂系统仿真运行中会出现:硬件故障、网络延迟、数据交换和通信出错概率大幅度的提升等问题,这就要求构建的仿真运行支撑环境在遇到这些问题时,能够有应对措施,以保证仿真运行的高可靠性。

2.2 技术需求复杂系统高效能仿真的应用需求需要相应的技术需求做支撑。

(1)基于高性能计算机的仿真环境构建。仿真支撑环境以高性能计算机为仿真硬件载体,为不同的用户/租户构建所需的仿真系统,并且保证用户/租户之间数据、模型的隔离高安全特性。

(2)仿真服务的高效协同。根据高性能计算机本身多CPU、多核的特点,将仿真任务合理的安排到节点和核上,以提高仿真协同的高效性。

(3)仿真系统的容错迁移。仿真支撑环境能够对仿真系统进行容错,并对出错模型进行迁移和恢复运行,使得模型迁移后,整个仿真系统恢复到失效的前一个状态记录点,继续仿真运行。

综上所述复杂系统高效能仿真系统,要求建立一套以高性能计算机为硬件运行环境,以高层体系结构HLA为仿真规范,在高性能计算机上运行RTI来支撑整个仿真系统的运行,并且能将仿真资源以云模式提供给海量用户,不断保证仿真运行过程中用户之间数据的安全和隔离,并且能对仿真进行容错,保证仿真能够高效可靠的运行。

3 面向复杂系统的高效能仿真云系统架构

面向复杂系统的高效能仿真云系统要求能够运行在高性能计算机上,并且能支撑复杂系统的建模仿真运行,其架构见图1所示。

该系统架构首先要满足通信网络的要求,即能够运行在Infiniband网络以及合理利用共享内存,其次设计仿真管理的中间件模块,其中包括:仿真错误点检测单元,仿真数据保存单元,仿真对象通信单元,在RTI总线上进行通信管理单元以及仿真推进管理单元。

仿真错误点检测单元:对仿真对象的每一个线程进行监控,能够检测仿真中是否因为仿真线程运行的问题导致仿真错误。

图1 面向复杂系统的高效能仿真云系统架构

仿真数据保存单元:对每个节点上仿真对象的通信数据进行保存,以便在仿真运行过程中检测到错误后进行仿真快速恢复。

仿真对象管理单元:管理节点内CPU之间与核之间的仿真线程,进程之间的通信。

通信管理单元:管理定性、定量、连续、离散系统之间的通信方式,实现复杂系统中的子系统、仿真模型之间交换数据,以达到复杂系统协同仿真。

仿真推进管理单元:在RTI总线上加入仿真推进管理单元可针对不同的仿真子系统,如连续系统可采用时间步长推进方式,离散系统能够采用时间推进的方式。

4 复杂系统高效能仿真云应用技术研究

面向复杂系统高效能仿真云的根本目的是解决目前大规模复杂系统仿真所面临的上述应用需求,针对以上需求,提炼出了以下三个关键技术,并开展了初步研究。

4.1 基于云计算的仿真系统多租户技术

4.1.1 多租户的系统架构 针对多租户[11-12]的内涵,以及实现技术手段的不同,多租户实现主要有以下各个阶段,如图2、表1所示[12]。

基于虚拟化技术的“云仿真”模式在图2中属于“共享硬件”阶段,其能够很好地利用虚拟化技术,从操作系统的层面将软件分开,真正的做到了共享硬件的功能,为用户创建虚拟机或集群,来满足用户的仿真需求。但在支持海量用户方面,高性能仿真计算机资源非常宝贵,一台高性能计算机资源能够构建的虚拟机是极其有限的,同时引入虚拟化技术对计算机性能有影响,这种“共享硬件”的方式不足以支持海量用户。因此,要在多租户方面做到不但共享硬件,而且共享软件和操作系统,才能更好的支持多租户以及保证高效能“仿真云”的高效性。

图2 多租户体系架构

表1 多租户不同阶段

高效能“仿真云”平台的多租户系统模式,可按图3的结构进行设计:在数据层面上,公共数据可以用来记录租户自身的信息,每个租户中用户的个数,租户操作的一些信息,客户数据指租户间单独的仿真模型以及仿真数据。通过底层数据的合理划分,租户能够通过验证,利用上层的共享的软件只能访问租户自己的数据区,而相对其他的租户,数据具有隔离和安全性。

在这样的层级架构中,不同的应用程序会组成不同的服务,为不同的租户提供仿真服务,而在数据基础层中,客户数据管理根据通过公共数据区中记录的租户信息来判断租户的访问权限,并在成功登录操作后在租户自己的客户数据区存放仿真计算结果,或从中提取已完成的仿真结果展现给登陆租户。

4.1.2 海量多租户负载均衡 高效能仿真云环境下的多租户技术不但是要保证数据的安全和隔离,整个系统能支持海量的仿真用户,并且还能保证仿真运行的高效性。针对复杂系统按照HLA标准规范组件仿真系统,RTI的体系结构模型使用的是层次式结构模型,这样的结构能够减少全局操作的延迟,数据通信的高效,从而提高仿真系统运行的效率。

图3 多租户的数据架构

但在云环境下,就带来一个问题,高效能仿真云中,每个计算节点都可以作为RTI中心服务器,如果仿真系统很大,会对网络带来很大的压力。因此,在为用户分配仿真环境时,尽量避免将不同仿真系统的RTI中心服务器分配在不同的计算节点上。如果在海量用户存在情况下,即仿不同用户的仿真系统数量大于高效能云环境的计算节点,可以将仿真系统较小,即通信量较小的两个或多个RTI中心服务器部署在同一个仿真节点中。

将仿真高效能云资源建模,并进行实施监控,作为多个仿真系统部署的依据,模型如下[13]:

与高性能计算中心所建立的资源模型不同之处在于高性能计算中心是将计算任务进行提交,进行多核并行计算,因此不考虑网络因素。但多学科协同仿真中,多个仿真联邦,仿真模型之间存在着频繁的交互,因此网络带宽严重影响仿真运行效率以及可靠性,因此除了要均衡计算节点资源,还需要均衡网络带宽资源。

4.2 面向复杂系统高性能RTI技术面向复杂系统的高性能RTI技术主要分为两个方面,第一,将RTI运行在高性能计算机上,以提高RTI本身的通信速度。第二,RTI能够支撑复杂系统中所包含的定性系统,定量系统,连续系统以及离散系统的仿真。

本文的高性能RTI主要是服务复杂系统,包含定性,定量,连续,离散系统所组成的更大的复杂系统能够在RTI上进行协同仿真。

在第3章中提出的高效能仿真云架构中,RTI中心服务器中的仿真推进管理单元的任务就是完成复杂仿真系统的子系统的分配部署,将一类系统(如连续子系统,离散子系统)分配在单一一个或多个节点中,使得在一个节点中不出现两类仿真子系统,对不同的仿真子系统可以使用不同的时间推进机制,例如对离散系统使用事件推进机制,连续系统使用时间推进机制,在子系统之间存在协同交互时,RTI服务器采用事件推进机制,这样可以保证各子系统的高效性,并且子系统之间能够进行协同仿真。

4.3 高效能仿真云环境下的仿真容错技术仿真系统的容错的重点主要包含两个方面的内容:第一,仿真模型失效检测,第二,错误后的仿真恢复。

4.3.1 仿真模型失效检测 根据仿真运行的过程中,仿真实例是被分配到不同的核,CPU以及节点上运行的。将失效等级分为三个等级:①Core失效,②CPU失效,③节点失效。

目前针对失效检测的方法大多使用周期心跳的方法,这种方法是运行过程中仿真节点主动按周期发送心跳信号或主程序在周期内进行心跳检测,这种方法在计算机节点检测中应用非常广泛,用于检测计算机是否宕机。但基于HLA规范的仿真系统,这种心跳法除了影响仿真数据通讯之外,还会由于收到网络延迟等产生失效误判。而且计算节点没有宕机,但仿真对象“死掉”这种情况无法及时检测。

因此在系统中设计并实现仿真错误点检测单元,其原理类似计算机心跳的方式,在每隔固定周期内监控仿真联邦、仿真对象是否依旧存在,但不同的是不是简单的查询计算机在线的网络心跳方式,而是在仿真对象管理单元为每个仿真对象在不同的核上创建仿真线程后,对每一个仿真线程、CPU进程进行监控,并采用主动“推”的方式告诉RTI仿真对象是否“活着”,这种方法能够及时发现仿真运行过程中的仿真错误。

4.3.2 仿真过程中的数据保存 在仿真系统运行过程中,设置一个共享数据区,每个仿真成员在仿真数据交互的同时将交互的数据类型、数据内容、数据来源对象和数据的目的对象等数据记录到仿真系统的共享数据区,并且在一定的时间段做一个仿真时间点。对此仿真时间点当仿真系统一个或多个仿真成员发生错误时,共享数据区记录了这个仿真成员在之前所接收和发送的所有数据,以便于仿真恢复使用。

在检测到仿真系统中一个或多个仿真节点失效后,将整个仿真系统进行回退,回退到上一个记录的仿真时间点,健康存在的仿真成员处于等待状态,而已经出错的仿真成员能够重新加入到仿真联邦中,并且能够读取共享数据区中跟自己有关的仿真数据,以获得其他仿真成员发送给自己的数据消息,进行“离线”推进,当推进到时间记录点时,标志着此时的整个仿真系统的仿真状态已经达到此成员出错前的状态,然后开始同时“在线”进行仿真推进,继续仿真运行。

5 结语

本文针对越来越复杂的仿真系统对仿真环境提出的新需求,以及根据云计算理念所要求对仿真资源应用的新模式,提出了面向复杂系统高效能仿真云环境,总结并提炼了其中的关键技术,首先提出了高效能仿真云的体系架构,其次,对基于云计算的仿真系统多租户技术,面向复杂系统高性能RTI技术以及高效能仿真云环境下的仿真容错技术展开研究,并提出了相应的研究方法。从而能够解决在大规模、复杂系统工程建模仿真过程中面临的协同互操作,可重用性等已存在的问题,并且保证仿真的运行效率以及仿真运行的可靠性。

[1]李伯虎,柴旭东,侯宝存,等.复杂工程系统高效能仿真技术中的几个问题[J].高性能计算发展与应用,2010,33:3-12.

[2]李伯虎,柴旭东,侯宝存,等.一种基于云计算理念的网络化建模与仿真平台——“云仿真平台”[J].系统仿真学报,2009,21(17):5292-5299.

[3]Draft Standard for Modeling and Simulation(M&S)High LevelArchitecture(HLA)-Object Model Template(OMT)Specification[S].2008.

[4]Draft Standard for Modeling and Simulation(M&S)High LevelArchitecture(HLA)-Framework and Rules[S]. 2008.

[5]Draft Standard for Modeling and Simulation(M&S)High LevelArchitecture(HLA)-Interface Specification[S]. 2008.

[6]Fujimoto R,Mclean T,Perumalla K,et al.Design of High Performance RTI Software[C]//Distributed Simulation and Real Time Applications,IEEE ACM International Symposium onIEEE Computer Society,2000:89.

[7]Steinman J S.WarpIV Kernel:Real Time HPC-RTI Prototype[C]//Proceedings of the Spring Simulation Interoperability Workshop,05S-SIW-071,2005.

[8]Adelantado M.HP-CERTI:Towards a high performance,high availability open source RTI for composable simulations[M].04F-SIW-014.Orlando,USA:IEEE,2004.

[9]梁洪波,柳林,等.高性能RTI自适应通信机制研究[J].国防科技大学学报,2012,34(3):148-153.

[10]周彦,戴剑伟.HLA仿真程序设计[M].北京:电子工业出版社,2002.

[11]Guo C J,Sun W,Huang Y,et al.A Framework for Native Multi-Tenancy Application Development and Management[C]//E-Commerce Technology,IEEE International Conference on,and Enterprise Computing,E-Commerce,and E-Services,IEEE International Conference onIEEE Computer Society,2007:551-558.

[12]蔡维德.云计算中的多租户及多租户架构[R].北京:中国航天科工集团第二研究所,2013.

[13]Xing C,Chai X D,Al Q W E.Simulation Job Scheduling on Clusters with Heterogeneous Scheduling Systems[C]//AsiaSim2013,CCIS 402,2013:403-408.

Research on architecture and application technology of high efficiency simulation cloud for complex systems

XING Chi1,CHAI Xudong2
(1.College of Automation Science and Electrical Engineering,Beihang University,Beijing 100083,China,2.Beijing Simulation Center,Beijing 100854,China)

With the expanding simulation scale of complex engineering systems,requirements of modeling and simulation accuracy continue to increase,which highly demand on simulation systems and simulation run support environment.In such a case,this paper first proposed the architecture of high efficiency simulation cloud,which is supported by high performance simulation computer,and propose the key technologies of high efficiency simulation cloud.Secondly,the paper is in depth research on key technologies,such as multi-tenant for simulation system,high performance RTI for complex system,and fault tolerance in the process of the simulation run which run on the high efficiency simulation cloud environment.Finally,this paper gives the corresponding research and solutions.By this method not only can we solve problems that already exist,such as collaborative interoperability,simulation model reuse issue in the process of largescale,complex systems engineering modeling and simulation,but also ensure reliability and efficiency when the simulation runs.

complex system;high efficiency simulation cloud;multi-tenant;high performance RTI(run time infrastructure);fault tolerance

TP391.9

A

10.13244/j.cnki.jiwhr.2015.06.008

1672-3031(2015)06-0449-07

(责任编辑:李福田)

2015-07-10

科技部863项目(2013AA041302);新型分析仿真及绿色设计软件开发

邢驰(1984-),男,陕西人,博士生,主要从事导航制导与控制方向研究。E-mail:xingchi09@163.com

猜你喜欢
高效能租户高性能
多租户数据隔离及加密研究
基于多租户隔离的云安全建设
一种新型高效的多租户共享数据模型
一款高性能BGO探测器的研发
基于MVC模式的多租户portlet应用研究*
高性能砼在桥梁中的应用
《高效能人士的七个习惯》导读
浅析高效能营销人员应具备的基本素质
浅谈中国新能源汽车发展趋势
SATA推出全新高性能喷枪SATAjet 5000 B