APP下载

分布式虚拟地理环境中时间同步问题研究

2010-11-15赵晓亮

测绘工程 2010年1期
关键词:时钟分布式节点

辛 欣 ,游 雄 ,刘 芳 ,赵晓亮

(信息工程大学 测绘学院,河南 郑州 450052)

分布式虚拟地理环境中时间同步问题研究

辛 欣 ,游 雄 ,刘 芳 ,赵晓亮

(信息工程大学 测绘学院,河南 郑州 450052)

分布式虚拟地理环境中的时间同步问题是达成系统时空一致,确保仿真正确,是用户对虚拟地理环境形成正确认识的前提条件。文中针对分布式虚拟地理环境中3个时间概念,重点对机器时间和仿真时间同步问题进行研究,基于网络延时、各仿真节点时间偏移和PC机及操作系统本身时间分辨率不高的因素对时间不同步造成的影响,提出时间同步自适应模型和算法。

分布式虚拟地理环境;时间同步;自然时间;机器时间;仿真时间

分布式虚拟地理环境(Distributed Virtual Geographic Environment,DVGE)[1-4]是利用虚拟现实技术[5]与网络技术建立起来的分布共享虚拟地理空间,是一种可供多用户同时异地参与的基于可计算信息的沉浸式交互环境[6]。

在分布式虚拟地理环境系统中,时间是系统进行仿真所面临的很重要的概念,其中有3个主要的时间概念:自然时间(N T),又称真实时间或实际时间,指自然界客观存在的真实时间;机器时间(M T),又称物理时间,指仿真系统根据仿真计算机的时钟物理部件产生的时间计数所折算的时间;仿真时间(ST),又称虚拟时间或仿真模型时间,指仿真模型运行时由仿真系统产生的仿真世界的时间[7]。

1 自然时间同步

对于自然时间的同步B IH通过引入闰秒(leapsecond)解决了问题,当用原子计时和用太阳秒计时的差距增到800μs时,使用闰秒。这种纠正使在基于连续的 TA I秒时间系统加值,但却可以和太阳的运动保持一致,它称作统一协调时间(Universal Time Coordinated,U TC),U TC是所有现代人使用的时间,它基本上取代了老标准——格林威治天文时间。为了保持时间的精确,操作系统在一年内必须使用专用的软件。到目前为止,U TC中引入闰秒大约有30次。通过对DVGE系统中时间服务器连接到可接收U TC信号的设备上,可以实现系统内部与外部的自然时间同步,其同步精度可以使得上百万个时钟能够在几个U TC毫秒内同步,甚至更高。

2 机器时间同步性分析

每台计算机上的计时器通常是由一个精确的石英晶体制成,石英晶体以一定的频率振荡,其计数频率约为3.6 M Hz,该频率也会因环境温度变化、磁场、震动等随机因素的影响而有所变化。与每个晶体相关的是2个寄存器、1个计数器和1个保持寄存器。每次振荡时计数器减1,当计数器减到0时,产生一次中断,计数器重新在保持寄存器中装入起始值,通过这种编程方法可以使得一个计时器每秒产生60个中断或以其他希望的频率产生中断成为可能,每次中断都称作一个时钟点(Clock Tick)。一旦当系统中有n台计算机时,引入了多个CPU时间系统,每个CPU将拥有自己的时钟。所有n个计算机中的石英晶体计时器将以略微不同的频率振荡,导致时间逐渐不同步,尽管每个晶体的振荡频率总是相当稳定,要保证不同计算机上的晶体以完全相同的频率震荡是不现实的,并且随着仿真计算机本身时间偏移的积累,使得计算机本地时间不再精确,导致无法在分布式虚拟地理环境系统内部,保持各仿真节点上的机器时间一致,从而造成时间产生不同步现象的发生。

计算机器时间的数学模型[8]为

式中:t为当前时间,T(t)是从时间t0开始到当前时间t的时钟偏移量,R为时钟频率偏移,D为由于计算机的可变频率振荡器的老化引起的漂移率。通常情况下,时钟频率偏移 R主要受温度的影响较大,其误差的范围可从几PPM(Parts-Per-M illion)到几百PPM。由式(1)的右边第三项引起的误差主要由其前两项决定,因此,可以只对式(1)的前两项进行计算,确定机器时间的偏移量,从而调整计算机本地时间,确保时间保持一致。

从上面的分析可以看出,引起时钟偏差的主要因素是可变频率振荡器的频率漂移。因此,如果利用PC机性能计数器构造新的时钟,理论上时间分辨率可高达0.3μs左右(性能计数器的计数周期),而在实际测试中Window s 2000/N T操作系统下,以GPS时统板提供的时间为基准,在某台主频为2.6GHz的DELLE PC机上对系统时间函数 Get System Time的时间误差积累情况和时间分辨率进行测试,测试结果如图1所示。从测试结果可以看出,系统时间函数分辨率为15~16m s,并且时间误差积累速度很快,大约24 m s/h。通过对多台其它型号的PC机进行相同测试,从测试结果来看,时间分辨率都是大致相同的,时间漂移率也大致一样。因此,可以得出这样的结论:PC机系统时钟时间分辨率只有15~16m s,时间漂移率约为60m s/h。受计算机操作系统时间分辨率较低和时间漂移等因素的影响,DVGE系统的时间同步精度往往不可能很高,也就是说如果在分布式实时仿真系统中使用系统时钟,不管时间同步有多精确,计算机之间的时间同步精度都不可能超过16 m s,即不可能超过系统时间的分辨率。并且时间同步的网络开销和CPU时间开销也会比较大,而采用硬件同步模式不但会增加系统成本,也不利于系统扩展。因此,为了在不增加系统硬件成本的前提下,获取高的时间同步精度,就必须为 PC机构建新的高性能(高时间分辨率、低时间漂移率)时间同步算法。

图1 Get System Time函数时间误差累积曲线图

3 仿真时间同步性分析

实际上在分布式虚拟地理环境仿真中,如果两个进程不相互作用,它们的时间就无需同步,即使缺少同步也察觉不出来,不会产生什么问题,所以全部机器并不需要在进程时间上保持一致,而是在事件发生的时间顺序上要完全一致,也就是说在同一时间上达到一致就足够了,重要的不是它们是否都与自然时间严格一致,而是系统内部各节点时间的一致。自然时间和机器时间相比较,仿真时间对系统仿真可靠性的影响最直接、最关键。其所造成的不一致对分布式虚拟地理环境的影响主要表现在两个方面:①导致仿真过程中的计算错误;②影响用户对虚拟地理环境的正确认识。因此,对于仿真时间的同步性问题关注程度也是最高。

对于仿真时间同步性分析的思路:①假设在DVGE中仿真执行过程中,除时间不同步外不存在其它影响实体状态计算正确性的不稳定因素,其中单个仿真节点的仿真过程如图2所示;②将实际计算出的实体真实状态变化过程及结果与理论情况下计算出的实体真实状态变化过程及结果进行比较,如果它们之间的差异符合仿真计算正确性要求,说明该过程中的仿真时间同步性对于保证分布式虚拟地理环境中仿真计算正确性来说,是可以接受的[9-10];③如果对于任意仿真节点,它输出的虚拟地理环境变化过程同理论仿真计算得到的实体真实状态相比较,可以被用户接受,就说明该过程中的仿真时间同步性对于保证用户正确认识虚拟地理环境来说,是可以容忍的。

图2 单个节点上仿真过程中的时间延迟

从图2中可以看出,影响DVGE中仿真时间不同步主要是由网络延迟和机器时间不同步导致的延迟。其中,网络延迟导致的延迟是正数,机器时间不同步导致的延迟可以是正数也可以是负数,当仿真节点的时间落后于发送节点的时间时,机器时间不同步导致的延迟是负数,否则为正数。

4 DVGE系统中时间同步自适应模型

保持实体对象在各个计算节点上时间同步的方法有很多,例如,可进行时间扭曲和异地延时,但从其根源上讲,认为其关键在于保证不同事件的发生时间对所有相关计算节点来说是相同的。由于各类分布式虚拟环境的应用领域不同、目标不同、环境内实体的类型、特点不同,因而对时间一致性的要求强度也各不相同。例如,用于协同工作的分布式虚拟环境在工作对象为连续媒体时,对时间一致性的要求很高;而分布式虚拟战场环境通常在实体交互时对时间一致性要求较强,除此之外对实体其它状态时间误差要求较低;另外,不同系统的操作平台对时间一致性的影响也不尽相同。因此,对DVGE系统中时间同步模型的建立必须要有一定的自适应性。

4.1 DVGE系统中标准时间基的确立

对系统中的各节点时间进行同步,首先,必须要确立一个标准时间基,其直接关系到时间同步的精度。可以通过统计DVGE系统中所有时钟运行时间段的均值来获得这个标准时间基。随着仿真的进行和时间变换,可以再次选择运行更为准确的时钟作为标准时间基节点,因此,它的确立过程是动态的。其思路是:

首先,选中系统中一个节点,并假设其为标准时间基节点。这个标准时间基节点向下面每个从节点发出一个收集时间信息的广播。然后,根据下面从节点返回的时间值来计算当前标准时间。如果此时所使用的时间是即时时间,那么网络链路的状态将对即时时间的传送带来很大的影响。由于采用的是广播方式,下面的节点几乎是在同一时刻进行应答,这样大量时间信息几乎会同时到达标准时间基节点,为了避免造成网络的拥塞,导致时间延时的增大,可以定义一个时间间隔τ,在τ时间间隔内,下面的各个节点主动向标准时间基节点发送当前的时间信息。在具有 N个时间节点的系统中,每个非标准时间基节点以周期τ向标准时间基节点发送带有时间戳的数据报。其对应的时序图如图3所示。

图3 发送数据报时序

在进行时间比较时,使用的是一个连续的时间段,而不是某一刻的时间值[11]。在这里比较 tj-ti和 t′j-t′i。如果在 t′i+1时刻发送出去的时间标识遇到较大的网络延迟时,在ti+1时刻到达标准时间基节点,如果使用此时刻的时间来判定2个时间之间的误差是很不精确的。但是从长时间的运行看,链路状态还是相对稳定的。如果采用tj-ti和t′jt′i来计算2个时钟间的误差的话,就能有效地减小由于链路延迟造成的形响。在具有 N个节点的系统中,作为标准时间基节点在第 i次时间同步时,计算整个系统运行的平均时间的公式为

在完成调整时间的同时,系统也要重新确定标准时间基节点,即时间间隔最接近这个平均值的时间服务器为标准时间基节点。在标准时间基调整后以及当前标准时间基节点确定完成后,原标准时间基节点将发送广播,通知下面各个节点新的标准时间基节点信息。

4.2 时间同步算法

系统中各时间客户端以一定的时间周期向标准时间基节点发送同步请求,并且在发送的数据报中带有本地的时间戳 T1。标准时间基节点收到客户端的同步请求后响应一个数据报,其中包括3个时间戳:客户端发送的请求数据报中的客户端本地时间戳 T1,标准时间基节点收到同步请求时的时间戳T2和标准时间基节点发送响应数据报时的时间戳T3。客户端接受到标准时间基节点的响应数据报后,向其中添加第4个时间戳,即客户端收到此数据报时的时间戳 T4。设系统中第k-1次与第 k次同步,间隔时间延时为 T′delay,并且认为客户端到标准时间基节点消息传输时间延时与标准时间基节点到客户端的消息传输时间延时近似相同,设为 Ttrans,在此基础上可以计算出时间同步间隔延迟和网络信息传输延时为

在系统完成第一轮时间同步后,为了减少时钟同步过程中对网络带宽的需求,可以根据DVGE的仿真需要,控制系统时间同步的时间间隔,当时间同步精度较差时,同步的时间间隔就相对较短;当时间同步精度较好时,则同步的时间间隔较长,或者当某一节点的时间与标准时间基的误差超过某一个阈值时,系统就开始启动同步过程。

5 结束语

分布式系统本身的特点,决定着各节点的物理地域有所不同,由于分布式虚拟地理环境实体类型日益复杂、规模日益扩大,再加之PC机计时器和操作系统的局限,使在DVGE中时间同步问题成为一个重要而又不能从根本上彻底解决的问题。影响系统时间同步的因素多而复杂,解决的方法也还有很多,比如推算定位(DR)技术、时间扭曲技术、异地状态延迟技术、相关数据过滤技术、减少心跳技术等。由于单一的时空一致性控制技术通常局限性较大、应用领域也比较有限,如滞后策略很难确定一个满足各项要求的滞后量;回卷策略不适合实时仿真,有时会给用户造成仿真结果自相矛盾的印象;推算定位策略有时会造成推算结果与仿真结果的不一致。因此,集成多种技术来共同实现DVGE的时间同步,是达成系统时空一致,保证仿真正确,用户对虚拟地理环境的正确认识的必然要求。

[1]潘志庚,姜晓红.分布式虚拟环境综述[J].软件学报,2000,11(4):461-467.

[2]D.LEE,M.L IM,S.HAN.A tlas:a scalable network framework for distributed virtual environments[J].Bonn,Germany,September 30-October,2002,2.

[3]惠天舒,李伯虎.分布交互仿真技术综述[J].系统仿真学报,1998,10(1):1-7.

[4]陈 谊.分布式虚拟环境关键技术及其在复杂系统仿真中的应用研究[D].北京:北京理工大学,2002.

[5]汪成为,高 文,王行仁.灵境(虚拟现实)技术的理论、实现和应用[M].北京:清华出版社,1996.

[6]杨孟洲,姜晓红.多用户分布式虚拟环境系统MUDVE的实现技术[J].计算机辅助设计与图形学学报,2001,13(2):173-178.

[7]李 军,黄绍军,龚光红.战术仿真系统中数据交互的实时性研究[J].系统仿真学报,2006,18(2):381-382.

[8]DAV ID L.M ILLS,Computer Network Time Synchronization Executive Summary,http://www.eecis.udel.edu/%7emills/exec.htm l,2003.3.20/2004.2.5.

[9]李 元.利用相似理论来指导建模[J].计算机仿真,1999,16(1):49-51.

[10]M.MAUVE,J.VOGEL,V H IL T et al..Local-lag and Timewarp:Providing Consistency fo r Rep licated Continuous App lications.IEEE Transactions on M ultimedia,2004,6(1):45-57.

[11]贺 鹏,李 菁,吴海涛.网络时间同步算法研究和实现[J].计算机应用,2003,23(2):15-17.

The research of time synchronization in distributed virtual geographic environment

XIN Xin,YOU Xiong,L IU Fang,ZHAO Xiao-liang
(Institute of Surveying and Mapping,Info rmation Engineering University,Zhengzhou 450052,China)

The time synchronization in distributed virtual geographic environment is the p rem ise to timespace consistency of the system and to make sure it can simulate co rrectly,in w hich w ay the user can cognize the virtual geographic environment accurately.In this paper,among the three time concep tions in distributed virtual geographic environment,the research of machine time synchronization and simulation time synchronization have been emphasized.A self-adap tive time synchronization model and algorithm have been put forward w hich based on network time-lapse,time deviation of system nodes and low-time-dip of operating system and computer itself.

distributed virtual geographic environment;time synchronization;natural time;machine time;simulation time

TP273

A

1006-7949(2010)01-0021-04

2009-05-17

辛 欣(1981-),男,博士研究生.

[责任编辑李铭娜]

猜你喜欢

时钟分布式节点
CM节点控制在船舶上的应用
别样的“时钟”
Analysis of the characteristics of electronic equipment usage distance for common users
基于AutoCAD的门窗节点图快速构建
古代的时钟
分布式光伏热钱汹涌
分布式光伏:爆发还是徘徊
有趣的时钟
时钟会开“花”
基于DDS的分布式三维协同仿真研究