[发明专利]分布式虚拟试验系统中的节点同步方法有效
申请号: | 201210130065.9 | 申请日: | 2012-04-28 |
公开(公告)号: | CN102662770A | 公开(公告)日: | 2012-09-12 |
发明(设计)人: | 胡君朋;黄芝平;刘纯武;蔡郭汕;张羿猛;苏绍璟;郭晓俊 | 申请(专利权)人: | 中国人民解放军国防科学技术大学 |
主分类号: | G06F9/52 | 分类号: | G06F9/52 |
代理公司: | 湖南兆弘专利事务所 43008 | 代理人: | 周长清 |
地址: | 410073 湖南省长沙市砚瓦池正街47号中国人*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 虚拟 试验 系统 中的 节点 同步 方法 | ||
技术领域
本发明主要涉及到虚拟试验系统领域,特指一种适用于分布式虚拟试验系统中的节点同步方法。
背景技术
虚拟试验系统由于其耗费小、可重复且无破坏的特点,逐渐成为一种重要的评价手段和试验手段,在国民经济的各领域得到快速发展。在分布式虚拟试验系统中,多个分布在不同位置的节点共同完成试验任务,各节点一般是通过局域网相连,通过计算机网络完成相互间的通信和数据交互。由于各节点分布在不同的地理位置,相互间需要实时交互数据,如何保证各个节点的数据以及与时间有关的事件在时间逻辑上的一致性是虚拟试验系统需要解决的一个关键问题。
目前常用的方法有两种:一是采用时间同步算法实现各节点时钟的精确同步,在时间触发机制下实现数据同步;二是是采用高层体系结构(HLA,High Level Architecture),在HLA的时间管理机制下实现各节点的同步推进。
方法一要实现较好同步效果的前提是能实现较精确的时钟同步,但是,一方面时间同步算法的执行会增加系统的开销,降低系统运行效率,另一方面,网络传输延时的不确定性使得时钟同步的精度很难得到保证。
方法二中,在基于HLA的时间同步方式下,需要运行支撑环境(RTI)的支持,在系统运行全过程,需要维持一个联邦执行的存在,每个参与运算的节点作为一个联邦成员加入联邦。联邦时间推进采用步长推进的方式,在每个执行步长内,联邦成员完成模型计算、结果输出和数据发送等任务。当所有联邦成员均完成当前步长内的计算任务时,联邦向下一步推进;如果有一个成员未完成当前步长的任务,联邦将继续等待直到满足推进条件。在HLA的时间管理机制下,由于各节点步长推进时存在互相控制和约束的关系,系统各节点的数据能保持严格的同步。但是这种以成员间的相互控制和约束实现的严格同步也带来了由于某个节点的延迟导致整个系统延迟的危险。另一方面,由于HLA本身的机制复杂,对虚拟试验系统而言存在较多的冗余,会在一定程度上降低系统的效率和实时性。
在虚拟试验系统中,可将时间划分为墙上时间和逻辑时间两大类。墙上时间就是真实世界的时间,逻辑时间是虚拟试验系统中从虚拟试验起始点开始计算的各节点约定步长推进的时间值。因此,虚拟试验系统中的节点同步又可分为基于真实时间的同步和基于逻辑时间的同步。
发明内容
本发明所要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种原理简单、操作简便、能保证节点时间同步、简化系统设计、提高整个系统运行效率的分布式虚拟试验系统中的节点同步方法。
为解决上述技术问题,本发明采用以下技术方案:
一种分布式虚拟试验系统中的节点同步方法,步骤为:
(1)配置节点并启动虚拟试验系统进行初始化:在虚拟试验系统中设置通过网络互联的一控制节点和一个以上的运算节点,所述控制节点和运算节点中均设置有用于完成节点数据处理和模型计算任务的工作线程、数据发送线程、数据接收线程以及共享内存区;所述控制节点的工作线程为控制线程;
(2)分级同步:
(2.1)第一级同步:在所述控制节点和运算节点中,所述数据发送线程通过在所述共享内存区读取所述工作线程提供的数据实现逻辑时间同步;
(2.2)第二级同步:在上述节点之间,所述控制线程通过网络统一控制并协调各运算节点内的工作线程,实现节点间的逻辑时间和步长推进的同步;
(2.3)第三级同步:在所述控制节点和运算节点中,所述数据接收线程通过所述共享内存区将数据交给工作线程实现逻辑时间的同步。
作为本发明的进一步改进:
所述共享内存区包括数据发送区和数据接收区,所述数据发送区和数据接收区中分别设有用于标示当前数据是否更新的数据更新标志。
所述步骤(2.1)的具体步骤为:在各节点内,均维持着一个本地逻辑时钟,其逻辑时间以虚拟试验开始为起算节点并在控制线程协调下逐步递增;新的步长开始后,所述工作线程保持检测数据接收区的数据更新标志;若数据已更新,则读取数据、进行计算并将需要发送的计算结果保存在数据发送区中,更新数据发送区的数据更新标志;数据发送线程检测到数据发送区的数据更新标志为有效后,将数据读取、封装并加上逻辑时戳,通过网络发送给其他节点,向控制节点请求推进到下一步长。
所述工作线程检测所述数据接收区的数据更新标志时,工作线程在经过n0次查询等待仍未收到新数据时,则放弃等待,向所述控制节点请求推进至下一步长,其中n0为根据虚拟试验对步长的要求而设置的阀值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科学技术大学,未经中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210130065.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:带滑轮的UPS电源机柜
- 下一篇:具有太阳能电池板和电池的电源供应装置