CN104615502A - 一种基于高效能仿真云的容错方法 - Google Patents

一种基于高效能仿真云的容错方法 Download PDF

Info

Publication number
CN104615502A
CN104615502A CN201510024122.9A CN201510024122A CN104615502A CN 104615502 A CN104615502 A CN 104615502A CN 201510024122 A CN201510024122 A CN 201510024122A CN 104615502 A CN104615502 A CN 104615502A
Authority
CN
China
Prior art keywords
simulation
fault
emulation
members
simulated members
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510024122.9A
Other languages
English (en)
Other versions
CN104615502B (zh
Inventor
邢驰
柴旭东
侯宝存
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Simulation Center
Original Assignee
Beijing Simulation Center
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Simulation Center filed Critical Beijing Simulation Center
Priority to CN201510024122.9A priority Critical patent/CN104615502B/zh
Publication of CN104615502A publication Critical patent/CN104615502A/zh
Application granted granted Critical
Publication of CN104615502B publication Critical patent/CN104615502B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于高效能仿真云的容错方法,该方法的步骤包括根据仿真采用计算机的特点,确定容错类型;各仿真成员加入仿真系统中,同时创建共享数据区对仿真过程进行记录;利用心跳检测对各仿真成员是否正常运行,若运行正常,则数据共享区对当前数据进行记录并保存,若运行异常,则将整个仿真系统退回至上一个记录的检测点;判断异常情况的容错类型,重新部署仿真模型,单独对异常的仿真成员进行离线纠错后,与其他正常的仿真成员一同恢复仿真运行。本发明能够通过自身保存的交互数据迅速恢复到出错前状态,并重新恢复仿真系统的运行,使得仿真系统不需要重新加载运行,也避免了重新运行时同样会出现仿真错误的可能。

Description

一种基于高效能仿真云的容错方法
技术领域
本发明涉及计算机领域,特别是涉及一种基于高效能仿真云的容错方法。
背景技术
基于HLA的仿真体系结构的高效能仿真云是一种利用网络和专门定制的高性能仿真计算机硬件,并且仿真遵从HLA高层体系结构的标准,按照仿真用户的仿真需求,按需组织各种仿真软件和提供高性能仿真计算节点的新的仿真模式。高效能仿真云目标是为高端仿真用户和海量仿真用户,按需构建仿真环境,每个仿真用户所需求的仿真环境不同,如仿真节点个数,仿真软件种类等,因此仿真支撑环境能够基于高性能计算机为仿真硬件载体,为不同的用户/租户构建所需的仿真系统,并且保证用户/租户之间数据、模型的隔离高安全特性;并且在大规模的仿真中,模型与模型之间需要进行协同、互操作等,因此根据高性能计算机本身多CPU,多核的特点,将仿真任务合理的安排到节点和核上,以提高仿真协同的高效性。正因为要支持海量的仿真用户,以及高性能仿真计算机自身的特点,在仿真运行过程中会因为网络、计算节点宕机等问题导致仿真联邦或者成员的不正常退出,严重影响仿真结果。大规模复杂的仿真系统,因为其的模型复杂且精度高,多实体等特点,一次完整的仿真运行往往需要数天甚至更久,而高性能计算机本身多核的特点,加上面向多仿真用户,因此仿真节点因为硬件本身或者网络出错导致失效的概率很高,如果重新部署仿真环境,重头开始仿真运行,势必浪费极大的时间和计算能力,同时在重新运行的时候也不保证不会出现某个或者多个仿真节点失效。目前,仿真系统的容错技术已经研究多年,包括HLAE规范也已经将仿真容错收录到HLA仿真标准中,仿真算法也层出不穷,但目前仿真的容错技术主要还集中在理论的高度,在实际的仿真运行运行过程中还未能起到很好的支撑,并且针对高性能计算机自身的特点,也没有相应的解决方法。
因此,需要提供一种容错方法,以保证仿真支撑环境能够对仿真系统进行容错,并对出错模型进行迁移和恢复运行,使得模型迁移后,整个仿真系统恢复到失效的前一个状态记录点,继续仿真运行。
发明内容
本发明要解决的技术问题是提供一种基于高效能仿真云的容错方法,以解决以高性能仿真计算机为载体的仿真运行过程中仿真出错后快速可靠的识别出错误的问题。
为解决上述技术问题,本发明采用下述技术方案一种基于高效能仿真云的容错方法,该方法的步骤包括
根据仿真采用计算机的特点,确定容错类型;
各仿真成员加入仿真系统中,同时创建共享数据区对仿真过程进行记录;
利用心跳检测对各仿真成员是否正常运行,若运行正常,则数据共享区对当前数据进行记录并保存,若运行异常,则将整个仿真系统退回至上一个记录的检测点;
判断异常情况的容错类型,重新部署仿真模型,单独对异常的仿真成员进行离线纠错后,与其他正常的仿真成员一同恢复仿真运行。
优选的,所述容错类型包括仿真计算节点失效、CPU失效和Core失效。
优选的,采用以10秒为一个周期的被动心跳检测对个仿真成员进行检测。
优选的,所述仿真记录的时间点大于心跳周期的时间间隔。
优选的,所述共享数据区记录存储的内容包括仿真对象、仿真实体交换数据的过程以及数据细节,并设置时间保存点。
优选的,所述恢复仿真运行的步骤包括
判断异常情况的容错类型后,当前正常状态的仿真成员处于等待状态;
异常状态的仿真成员重新加入到仿真联邦中,并重新从共享数据区中读取与自己相关的仿真数据;
单独对异常状态的仿真成员从仿真开始进行推进,直至出错前的上一个记录的检测点。
本发明的有益效果如下:
本发明所述技术方案实现了在HLA架构下的基于高效能仿真云的容错技术,根据高效能仿真计算机的特点,对可能出现的仿真错误进行了分类;能够有效的对仿真运行过程中因为网络,多核架构下Core、CUP以及计算节点失效和高效能仿真计算机宕机引起的仿真成员不正常退出等情况进行有效监测;能够在整个仿真系统运行开始时创建共享的数据区,用来存储仿真中所有仿真对象、仿真实体交换数据的过程以及数据细节,并设置时间保存点,在仿真系统回退时候使用;在监测到仿真失效的时候,支持仿真对象“离线”恢复,并在恢复好后加入到仿真系统,然后进行“在线”运行,从而整个仿真系统继续正常运行。
附图说明
下面结合附图对本发明的具体实施方式作进一步详细的说明;
图1示出基于高性能仿真计算机的容错分级示意图;
图2示出本发明实施例中仿真系统容错过程的示意图。
具体实施方式
本发明公开了一种基于高性能仿真云的容错方法,该方法以高性能仿真计算机为载体,在仿真运行过程中仿真出错后快速可靠的识别出错误,并且对模型进行迁移和恢复运行,使得整个仿真系统恢复到失效的前一个状态记录点,继续仿真运行,该方法的步骤包括
基于高性能仿真计算机的仿真错误分类
在复杂系统高效能仿真中,为了大大缩短仿真周期,因此现在的仿真运行都以高性能计算机作为硬件载体。在HLA高层体系结构的框架下,仿真任务、仿真联邦以及仿真对象会被分配在高性能计算机的不同部分,仿真模型可分别被部署到仿真计算节点之间,一个仿真计算节点的多个CPU上,以及小的仿真对象可被分配到一个CPU得core内,因此,根据高性能计算机的硬件特点,将容错分为Core失效、CPU失效和节点失效三个等级。
仿真系统的出错检测
本发明对错误的检查手段是通过心跳机制来检测的,心跳信息的存在代表目前的仿真成员或者联邦处于健康运行状态。心跳机制分为两种:主动心跳和被动心跳,其中主动心跳是在仿真运行的过程中,在周期内向运行支撑环境RTI发送心跳消息,一旦RTI在几个周期内没有接收到来自仿真成员的心跳消息,则判断为该仿真成员出错;被动心跳则是RTI以广播形式主动向每个成员进行发送心跳请求,接受到心跳请求后的成员返回心跳消息,汇报RTI自己是否健康运行。因为高效能仿真云需要为海量用户提供仿真环境,并且仿真的系统复杂、规模庞大,要求的通讯量巨大,主动心跳要求网络开销会很大,因此本发明采用被动心跳方式来检测。并且仿真的推进步长通常是毫米级的,如果每一个步长周期内进行心跳检测,势必会对网络带来巨大的压力,因此,可以设置以10秒为一个周期做一个心跳检测,这样既能保证仿真错误检测的可靠性,又能保证不浪费网络资源,保证仿真运行的高效性。除此之外,还能够根据仿真规模的大小,动态的调整心跳周期,以适应不同规模、不同精度的仿真运行。
针对错误类型进行错误处理
在仿真系统运行过程中,设置一个共享数据区,每个仿真成员在仿真数据交互的同时将交互的数据类型、数据内容、数据来源对象和数据的目的对象等数据记录到仿真系统的共享数据区,并且在一定的时间段做一个仿真时间点,此时要保证仿真记录的时间点能够大于心跳周期的时间间隔。当此仿真时间点当仿真系统一个或多个仿真成员发生错误时,共享数据区记录了这个仿真成员在之前所接收和发送的所有数据,以便于仿真恢复使用。
仿真系统恢复运行
在检测到仿真系统中一个或多个仿真节点失效后,将整个仿真系统进行回退,回退到上一个记录的仿真时间点,健康存在的仿真成员处于等待状态,而已经出错的仿真成员能够重新加入到仿真联邦中,并且能够读取共享数据区中跟自己有关的仿真数据,以获得其他仿真成员发送给自己的数据消息,单独对出错的仿真成员从仿真开始进行“离线”推进,当推进到时间记录点时,标志着此时的整个仿真系统的仿真状态已经达到此成员出错前的状态,然后开始同时“在线”进行仿真推进,继续仿真运行。
下面结合一组实施例及附图对本发明做进一步描述。
首先根据仿真计算机本身的硬件特点和仿真系统中的仿真模型,将仿真实例分配到不同的核,CPU以及节点上来运行的,根据此分配将容错分为三个等级:Core失效、CPU失效和节点失效。各仿真成员加入仿真系统,同时创建共享数据区对仿真过程进行记录,通常仿真的推进步长通常是毫米级的,并且仿真系统规模大、仿真系统复杂,将被动心跳检测的周期设置为10秒做一个心跳检测,这样既能保证仿真错误检测的可靠性,又能保证不浪费网络资源,保证仿真运行的高效性。除此之外,还能够根据仿真规模的大小,动态的调整心跳周期,以适应不同规模、不同精度的仿真运行。在仿真系统运行过程中,每个仿真成员在仿真数据交互的同时将交互的数据类型、数据内容、数据来源对象和数据的目的对象等数据都记录并保存到仿真系统的共享数据区,并且在一定的时间段做一个仿真时间点,保证仿真记录的时间点大于心跳周期的时间间隔。当检测到仿真系统中一个或多个仿真节点失效后,将整个仿真系统进行回退,回退到上一个记录的仿真时间点,健康存在的仿真成员处于等待状态,而已经出错的仿真成员能够重新加入到仿真联邦中,并且能够读取共享数据区中跟自己有关的仿真数据,以获得其他仿真成员发送给自己的数据消息,系统重新部署仿真模型,根据从共享数据区读取的数据,对出错的仿真成员进行单独的“离线”推进,当推进到时间记录点时,标志着此时的整个仿真系统的仿真状态已经达到此成员出错前的状态,然后开始同时“在线”进行仿真推进,继续仿真运行。
本发明针对高效能仿真云技术,结合高性能仿真计算机的特点,研究的容错技术能够快速准确的检测出仿真的失效,并周期的对仿真运行过程进行状态保存,在仿真失效后能够将失效模型以及子系统快速重新部署,并根据所保存历史输入输出交互数据,让新部署的仿真模型正确且迅速的运行至出错前的状态,并加入到整个仿真系统,仿真系统继续运行。本发明使仿真系统不需要重新加载运行,也避免了重新运行时同样会出现仿真错误的可能。在保证仿真系统高效运行的同时还保证仿真系统运行结果的正确性。从而真正的做到仿真系统运行的高效。
综上所述,本发明所述技术方案在大规模复杂系统的仿真运行过程中,能够及时发现和应对仿真出现的错误,能够对错误点进行检测,对出错前的数据与状态进行保存,将出错的仿真模型或仿真子系统快速恢复运行,重新加入仿真系统,并且能够通过自身保存的交互数据迅速恢复到出错前状态,并重新恢复仿真系统的运行,使得仿真系统不需要重新加载运行,也避免了重新运行时同样会出现仿真错误的可能。本发明适用于不同规模,不同精度的基于高效能仿真云平台的系统仿真,适用于国防科技领域各军工行业,同时也支持社会网络、地理、生物等仿真的民用领域。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定,对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动,这里无法对所有的实施方式予以穷举,凡是属于本发明的技术方案所引伸出的显而易见的变化或变动仍处于本发明的保护范围之列。

Claims (6)

1.一种基于高效能仿真云的容错方法,其特征在于,该方法的步骤包括
根据仿真采用计算机的特点,确定容错类型;
各仿真成员加入仿真系统中,同时创建共享数据区对仿真过程进行记录;
利用心跳检测方法对各仿真成员是否正常运行,若运行正常,则数据共享区对当前数据进行记录并保存,若运行异常,则将整个仿真系统退回至上一个记录的检测点;
判断异常情况的容错类型,重新部署仿真模型,单独对异常的仿真成员进行离线推进后,与其他正常的仿真成员一同恢复仿真运行。
2.根据权利要求1所述的容错方法,其特征在于,所述容错类型包括仿真计算节点失效、CPU失效和Core失效。
3.根据权利要求1所述的容错方法,其特征在于,采用以10秒为一个周期的被动心跳检测对个仿真成员进行检测。
4.根据权利要求3所述的容错方法,其特征在于,所述仿真记录的时间点大于心跳周期的时间间隔。
5.根据权利要求1所述的容错方法,其特征在于,所述共享数据区记录存储的内容包括仿真对象、仿真实体交换数据的过程以及数据细节,并设置时间保存点。
6.根据权利要求1所述的容错方法,其特征在于,所述恢复仿真运行的步骤包括
判断异常情况的容错类型后,当前正常状态的仿真成员处于等待状态;
异常状态的仿真成员重新加入到仿真联邦中,并重新从共享数据区中读取与自己相关的仿真数据;
单独对异常状态的仿真成员从仿真开始执行仿真过程,直至出错前的上一个记录的检测点。
CN201510024122.9A 2015-01-16 2015-01-16 一种基于高效能仿真云的容错方法 Active CN104615502B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510024122.9A CN104615502B (zh) 2015-01-16 2015-01-16 一种基于高效能仿真云的容错方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510024122.9A CN104615502B (zh) 2015-01-16 2015-01-16 一种基于高效能仿真云的容错方法

Publications (2)

Publication Number Publication Date
CN104615502A true CN104615502A (zh) 2015-05-13
CN104615502B CN104615502B (zh) 2018-01-02

Family

ID=53149958

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510024122.9A Active CN104615502B (zh) 2015-01-16 2015-01-16 一种基于高效能仿真云的容错方法

Country Status (1)

Country Link
CN (1) CN104615502B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107612962A (zh) * 2017-07-31 2018-01-19 北京航天长征飞行器研究所 一种分布式仿真评估试验管理系统
CN108388748A (zh) * 2018-03-12 2018-08-10 北京理工大学 一种爆轰数值仿真串行程序中断续算方法
CN108459922A (zh) * 2018-03-12 2018-08-28 北京理工大学 一种爆轰数值仿真并行程序中断续算方法
CN112818538A (zh) * 2021-01-29 2021-05-18 北京仿真中心 一种想定参数层次设计方法
CN114567627A (zh) * 2022-02-25 2022-05-31 山东云海国创云计算装备产业创新中心有限公司 一种仿真平台管理方法、系统、设备以及介质
CN115617703A (zh) * 2022-12-20 2023-01-17 北京赛目科技股份有限公司 用于车辆仿真测试的方法、装置、系统、设备和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030093255A1 (en) * 2001-11-09 2003-05-15 Freyensee James P. Hot plug and hot pull system simulation
CN103365748A (zh) * 2012-03-30 2013-10-23 国际商业机器公司 用于资源放置的计算和协调中的管理域集成的系统和方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030093255A1 (en) * 2001-11-09 2003-05-15 Freyensee James P. Hot plug and hot pull system simulation
CN103365748A (zh) * 2012-03-30 2013-10-23 国际商业机器公司 用于资源放置的计算和协调中的管理域集成的系统和方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
刘云生 等: "基于Markov链的分布式仿真系统可用度研究", 《系统仿真学报》 *
张雅彬 等: "基于虚拟化技术的云仿真资源迁移技术研究", 《系统仿真学报》 *
金士尧 等: "HLA分布式仿真中容错机制研究", 《第十届全国容错计算学术会议论文集》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107612962A (zh) * 2017-07-31 2018-01-19 北京航天长征飞行器研究所 一种分布式仿真评估试验管理系统
CN107612962B (zh) * 2017-07-31 2020-07-14 北京航天长征飞行器研究所 一种分布式仿真评估试验管理系统
CN108388748A (zh) * 2018-03-12 2018-08-10 北京理工大学 一种爆轰数值仿真串行程序中断续算方法
CN108459922A (zh) * 2018-03-12 2018-08-28 北京理工大学 一种爆轰数值仿真并行程序中断续算方法
CN112818538A (zh) * 2021-01-29 2021-05-18 北京仿真中心 一种想定参数层次设计方法
CN112818538B (zh) * 2021-01-29 2023-07-07 北京仿真中心 一种想定参数层次设计方法
CN114567627A (zh) * 2022-02-25 2022-05-31 山东云海国创云计算装备产业创新中心有限公司 一种仿真平台管理方法、系统、设备以及介质
CN114567627B (zh) * 2022-02-25 2024-01-26 山东云海国创云计算装备产业创新中心有限公司 一种仿真平台管理方法、系统、设备以及介质
CN115617703A (zh) * 2022-12-20 2023-01-17 北京赛目科技股份有限公司 用于车辆仿真测试的方法、装置、系统、设备和存储介质

Also Published As

Publication number Publication date
CN104615502B (zh) 2018-01-02

Similar Documents

Publication Publication Date Title
CN104615502A (zh) 一种基于高效能仿真云的容错方法
CN106470133B (zh) 系统压力测试方法及装置
US10474563B1 (en) System testing from production transactions
Campbell et al. Extreme scale with full sql language support in microsoft sql azure
CN104252481A (zh) 主从数据库一致性的动态校验方法和装置
CN103502942A (zh) 虚拟机管理设备、虚拟机管理方法及其程序
AU2012203537A1 (en) Method and system for automated system migration
CN103888306A (zh) 一种对消息转发系统的性能测试方法及性能测试设备
CN107168297B (zh) 一种飞行控制计算机的可靠性验证方法及平台
CN106802865B (zh) 用于软件测试的应答模拟装置及方法
EP3696658A1 (en) Log management method, server and database system
Chuah et al. Towards comprehensive dependability-driven resource use and message log-analysis for HPC systems diagnosis
CN102055780A (zh) 磁盘阵列测试系统及方法
CN107038095A (zh) 用于冗余地处理数据的方法
Tseitlin The Antifragile Organization: Embracing Failure to Improve Resilience and Maximize Availability
Kago et al. Development of a scalable and flexible data logging system using NOSQL databases
CN109144669A (zh) 一种mcs系统下nas虚拟机系统的压力测试方法与系统
CN105760373A (zh) 一种异常数据处理方法和异常数据处理设备
Liu et al. D-Paxos: building hierarchical replicated state machine for cloud environments
Sun et al. An approach to minimizing downtime induced by taking live snapshot of virtual cluster
CN102521095B (zh) 队列乱序的芯片模拟方法及系统
Wang et al. A density-based anomaly detection method for mapreduce
US20190026198A1 (en) Method and device for configuring an execution means and for detecting a state of operation thereof
Taerat et al. Proficiency metrics for failure prediction in high performance computing
CN108073502B (zh) 一种测试方法及其系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant