一种用于对分布式仿真系统进行协同运算的方法及系统与流程

文档序号:21198444发布日期:2020-06-23 19:02阅读:336来源:国知局
一种用于对分布式仿真系统进行协同运算的方法及系统与流程

本发明涉及分布式仿真系统进行协同运算技术领域,更具体地,涉及一种用于对分布式仿真系统进行协同运算的方法及系统。



背景技术:

随着智能电网和电力信息化的不断发展,电力通信网络规模持续扩大,光传输网承载的业务种类和信息量飞速增长,电力通信系统仿真需求不断增多。单平台的集中式仿真系统难以将国家电网公司现有的和未来的仿真平台整合起来,不能协同工作完成复杂的仿真任务,造成不必要的资源浪费。单平台的集中式仿真系统作为封闭、独立的系统,仿真应用和功能相对单一,而分布式仿真系统是一个开放的体系结构,各子平台可以任意地、方便地加入或离开系统,这种动态变化并不影响整个系统的正常运行,使得大规模复杂系统的仿真成为可能。

除此之外,由于仿真系统所承担的任务越来越广,仿真系统构建越来越复杂,仿真网络规模越来越大,所需计算资源、存储资源也越来越多,单平台的集中式仿真系统无法满足电力通信系统仿真的实时性或准实时性需求。在分布仿真系统中,各个仿真系统子平台在地理位置上是分布的,在功能和计算能力上同样是分布的,可以独立运行各自的仿真功能,提高仿真效率以及降低仿真成本。因此需要研究用于分布式仿真的同步执行技术和协同运算技术,支持不同通信网络结构的灵活构建和业务通道的动态创建,从而可以进行功能与性能验证以及业务应用。

因此,需要一种技术,以实现对分布式仿真系统进行协同运算的方法。



技术实现要素:

本发明技术方案提供一种用于对分布式仿真系统进行协同运算的方法及系统,以解决如何对分布式仿真系统进行协同运算的问题。

为了解决上述问题,本发明提供了一种用于对分布式仿真系统进行协同运算的方法,所述方法包括:

分布式仿真系统中包括时间同步管理器,通过所述时间同步管理器采用标量逻辑时间统一所述分布式仿真系统中各子系统的时钟周期;

基于所述分布式仿真系统中事件频率期望调整所述时间同步管理器的同步时钟频率;

对所述分布式仿真系统中仿真事件传输的时延进行计算,获取时延计算结果;根据所述时延计算结果控制所述仿真事件的到达时序,以进行所述分布式仿真系统中各子系统的协同运算。

优选地,还包括:

启动所述时间同步管理器;

判断所述时间同步管理器是否为所述分布式仿真系统中惟一的所述时间同步管理器;

当所述时间同步管理器为所述分布式仿真系统中惟一的所述时间同步管理器时,检查所述分布式仿真系统中各子系统的时间同步性;

当所述分布式仿真系统中各子系统的时间具有同步性时,通过预定的频率调用时间同步函数,通过数据分发服务dds接口为各子系统发送时间同步消息;

当所述时间同步管理器不是所述分布式仿真系统中惟一的所述时间同步管理器时,保留一个时间同步管理器。

优选地,所述基于所述分布式系统中事件频率期望调整所述时间同步管理器的同步时钟频率,包括:

根据子系统中的发布节点在某个时间区间内的事件频率、事件量情况,确定时钟同步包频率调整值,根据所述时钟同步频率调整值对所述时钟同步频率进行调整。

优选地,所述对所述分布式仿真系统中仿真事件传输的时延进行计算,包括:对子系统内的时延进行计算以及对子系统间的时延进行计算。

优选地,所述对所述分布式仿真系统中仿真事件传输的时延进行计算,获取时延计算结果,还包括:

定义数据分发服务dds时延计算模型:

tdelay=tpub+tsub+tdds

其中tdelay为总时延大小,tpub为调用数据发送函数publisher_send()函数时延,代表a节点发送时延,tsub为调用数据订阅函数subsriber_main()函数时延,代表b节点订阅时延,tdds为经过数据分发服务dds传送通道的时延。

tpub和tsub的计算方式是通过windows平台高分辨率时间函数queryperformancecounter()测量出来的,用来度量节点向中间件事件代理系统(dds)发布或订阅主题数据所需的时间延迟。tdds的计算方式采用同步时钟信息synclockmessage中的时间戳字段进行计算;由于所述分布式仿真系统采用时钟同步管理器进行同步,各子系统都是通过接收同步时钟信息来推动所述分布式仿真系统的事件;

当a节点接收同步时钟信息,假设该同步时钟信息中时间戳为ts,然后a节点将时间戳数目写入到发布的同步时钟信息中并通过数据分发服务dds数据通道传输到节点b;节点b收到a节点发布的数据后等待下一个同步时钟信息,假设该同步时钟信息中时间戳为te;数据分发服务dds通道传输时延tdds=te-ts。

基于本发明的另一方面,提供一种用于对分布式仿真系统进行协同运算的系统,所述系统包括:

初始单元,用于分布式仿真系统中包括时间同步管理器,通过所述时间同步管理器采用标量逻辑时间统一所述分布式仿真系统中各子系统的时钟周期;

调整单元,用于基于所述分布式仿真系统中事件频率期望调整所述时间同步管理器的同步时钟频率;

计算单元,用于对所述分布式仿真系统中仿真事件传输的时延进行计算,获取时延计算结果;根据所述时延计算结果控制所述仿真事件的到达时序,以进行所述分布式仿真系统中各子系统的协同运算。

优选地,所述初始单元,还用于:

启动所述时间同步管理器;

判断所述时间同步管理器是否为所述分布式仿真系统中惟一的所述时间同步管理器;

当所述时间同步管理器为所述分布式仿真系统中惟一的所述时间同步管理器时,检查所述分布式仿真系统中各子系统的时间同步性;

当所述分布式仿真系统中各子系统的时间具有同步性时,通过预定的频率调用时间同步函数,通过数据分发服务dds接口为各子系统发送时间同步消息。

当所述时间同步管理器不是所述分布式仿真系统中惟一的所述时间同步管理器时,保留一个时间同步管理器。

优选地,所述调整单元用于基于所述分布式仿真系统中事件频率期望调整所述时间同步管理器的同步时钟频率,包括:

根据子系统中的发布节点在某个时间区间内的事件频率、事件量情况,确定时钟同步包频率调整值,根据所述时钟同步频率调整值对所述时钟同步频率进行调整。

优选地,所述计算单元,用于对所述分布式仿真系统中仿真事件传输的时延进行计算,包括:对子系统内的时延进行计算以及对子系统间的时延进行计算。

优选地,所述计算单元用于对所述分布式仿真系统中仿真事件传输的时延进行计算,获取时延计算结果,包括:

定义数据分发服务dds时延计算模型:

tdelay=tpub+tsub+tdds

其中tdelay为总时延大小,tpub为调用数据发送函数publisher_send()函数时延,代表a节点发送时延,tsub为调用数据订阅函数subsriber_main()函数时延,代表b节点订阅时延,tdds为经过数据分发服务dds传送通道的时延。

tpub和tsub的计算方式是通过windows平台高分辨率时间函数queryperformancecounter()测量出来的,用来度量节点向中间件事件代理系统(dds)发布或订阅主题数据所需的时间延迟。

tdds的计算方式采用同步时钟信息synclockmessage中的时间戳字段进行计算;由于所述分布式仿真系统采用时钟同步管理器进行同步,各子系统都是通过接收同步时钟信息来推动所述分布式仿真系统的事件;

当a节点接收同步时钟信息,假设该同步时钟信息中时间戳为ts,然后a节点将时间戳数目写入到发布的同步时钟信息中并通过数据分发服务dds数据通道传输到节点b;节点b收到a节点发布的数据后等待下一个同步时钟信息,假设该同步时钟信息中时间戳为te;数据分发服务dds通道传输时延tdds=te-ts。

本发明技术方案提供一种用于对分布式仿真系统进行协同运算的方法及系统,其中方法包括:分布式仿真系统中包括时间同步管理器,通过时间同步管理器采用标量逻辑时间统一分布式仿真系统中各子系统的时钟周期;基于分布式仿真系统中事件频率期望调整时间同步管理器的同步时钟频率;对分布式仿真系统中仿真事件传输的时延进行计算,获取时延计算结果;根据时延计算结果控制仿真事件的到达时序,进行分布式仿真系统中各子系统的协同运算。本发明技术方案通过设置时钟同步管理器,协调分布式仿真系统中各子系统之间的时钟同步,确保仿真系统之间的数据准确、及时地交互。各子系统间进行协同运算能确保分布式仿真系统具有高度的内聚性和透明性,并可以解决大规模、时间同步、适配性的问题。

附图说明

通过参考下面的附图,可以更为完整地理解本发明的示例性实施方式:

图1为根据本发明优选实施方式的一种用于对分布式仿真系统进行协同运算的方法流程图;以及

图2为根据本发明优选实施方式的时钟同步管理器工作流程图;

图3为根据本发明优选实施方式的时钟同步管理器频率调整流程图;

图4为根据本发明优选实施方式的分布式仿真系统数据传输方式示意图;

图5为根据本发明优选实施方式的同步执行示意图;

图6为根据本发明优选实施方式的协同运算技术示意图;以及

图7为根据本发明优选实施方式的一种用于对分布式仿真系统进行协同运算的系统结构示意图。

具体实施方式

现在参考附图介绍本发明的示例性实施方式,然而,本发明可以用许多不同的形式来实施,并且不局限于此处描述的实施例,提供这些实施例是为了详尽地且完全地公开本发明,并且向所属技术领域的技术人员充分传达本发明的范围。对于表示在附图中的示例性实施方式中的术语并不是对本发明的限定。在附图中,相同的单元/元件使用相同的附图标记。

除非另有说明,此处使用的术语(包括科技术语)对所属技术领域的技术人员具有通常的理解含义。另外,可以理解的是,以通常使用的词典限定的术语,应当被理解为与其相关领域的语境具有一致的含义,而不应该被理解为理想化的或过于正式的意义。

图1为根据本发明优选实施方式的一种用于对分布式仿真系统进行协同运算的方法流程图。为了满足电力通信光传输网络大规模、高效率的仿真需求,系统内部接口需要实现大量分布式节点进行同步和实时的通信,从而提高通信效率,满足大规模电力通信光传输网络仿真对低延迟、高吞吐量数据分发的需求,支持对实际电力通信光传输网络的连接方式、协议部署、网络结构等方面的验证,为通信网规划设计、网络优化升级提供重要数据依据。本申请通过设置时钟同步管理器,协调各子系统之间的时钟同步,确保分布式仿真系统的数据准确、及时地交互。各子系统间进行协同运算能确保分布式仿真系统具有高度的内聚性和透明性,并可以解决大规模、时间同步、适配性的问题。由于电力系统中对于节点之间的传输时延有着高精度要求,只有设置恰当的时钟周期和同步时钟频率才能在满足分布式系统性能稳定的条件下(系统仿真是否堵塞、丢包、子系统之间数据能否顺利传输等状况)在时延计算结果控制下实现源目的节点之间数据的正常交互。如图1所示,本申请提供一种用于对分布式仿真系统进行协同运算的方法,方法包括:

优选地,在步骤101:分布式仿真系统中包括时间同步管理器,通过时间同步管理器采用标量逻辑时间统一分布式仿真系统中各子系统的时钟周期。优选地,分布式仿真系统中设置时间同步管理器,通过时间同步管理器采用标量逻辑时间统一分布式仿真系统中各子系统的时钟周期,还包括:启动时间同步管理器;判断时间同步管理器是否为分布式仿真系统中惟一的时间同步管理器;当时间同步管理器为分布式仿真系统中惟一的时间同步管理器时,检查分布式仿真系统中各子系统的时间同步性;当分布式仿真系统中各子系统的时间具有同步性时,通过预定的频率调用时间同步函数,通过数据分发服务dds接口为各子系统发送时间同步消息。

本申请用于分布式仿真系统进行协同运算方法主要分为三部分:基于标量逻辑时间推进的时钟同步方法、基于业务频率期望的同步时钟频率动态调整方法、分布式仿真系统的协同运算方法。本申请基于标量逻辑时间推进的时钟同步方法,分布式仿真系统环境是基于物理网络的。分布式仿真系统运行时,环境状况是一个动态变化的过程。在分布式仿真系统运行的过程中,各个子系统的进程合作完成仿真工作。仿真子系统以exata仿真器为核心,该仿真器将事件作为驱动系统运行的实体,单个子系统对任务的执行往往会引起其他子系统上任务序列的变化,且各个系统上的离散事件的时间分布并不统一。因此,传统基于时间同步算法的同步方法不再适用。为了能够协调推进各子系统的仿真进程,这里在分布式仿真系统中加入时间同步管理器,基于事件同步时间点的方法统一管理各子系统,进行各个子系统事件时间序列统一以及各子系统时钟周期性同步工作。

本分布式仿真系统时钟同步方法采用的是标量逻辑时间。虽然标量逻辑时间对于内部事件的时间推进不能体现,但是由于分布式仿真系统使用的分布式时钟同步方法将时间管理从主体进程级别提升到处理器内核级别,直接通过exata仿真器对计算机内核进行调度,也就是本地逻辑时间是针对本计算机内核而言的,所以标量方法也能适用。

基于标量逻辑时钟设计的时钟同步管理器是仿真模型在分布式环境下全局时间的管理者,时钟同步管理器的系统特征是全局唯一性。分布式仿真系统和仿真模型是建立在基于网络的分布环境中,各个子系统的内核独立处理,通过参与仿真模型的方式构成一个计算网络。时钟同步管理器与每个子系统的边缘节点进行通信,整个网络中只允许一个时钟同步管理器存在。时钟同步管理器的具体工作是周期性通过基于数据分发服务(datadistributionservice,dds)的通信接口发布时钟同步消息(synclockmessage)到各子系统的边缘节点上。具体流程图如图2所示。

图2为时钟同步管理器的工作流程图。时钟同步管理器是一个独立运行在分布式仿真系统中的某台设备上的程序,由于整个分布式仿真系统在一个服务器上,可能存在多个时钟同步管理器程序,为了避免干扰,在启动时钟同步管理器后,首先会检测时钟管理器在整个系统中是否唯一,然后确认系统同步性,最后以一定频率通过数据分发服务dds通信接口向各个子系统发送synclockmessage信息。

优选地,在步骤102:基于分布式仿真系统中事件频率期望调整时间同步管理器的同步时钟频率。优选地,基于分布式仿真系统中事件频率期望调整时间同步管理器的同步时钟频率,还包括:根据子系统中的发布节点在某个时间区间内的事件频率、事件量情况,确定时钟同步包频率调整值,根据时钟同步频率调整值对时钟同步频率进行调整。

本申请基于业务频率期望对同步时钟频率进行动态调整。本申请的分布式仿真系统中使用标量逻辑时间推进各系统事件发生的过程,在多数情况下能保证系统的正常运行,但是当仿真系统的中业务较多或者同步包频率设置过慢的时候,系统会出现仿真数据更新缓慢、仿真链路堵塞的问题;如果同步包频率过快,则会占用子系统过多的资源,这里提出基于业务频率期望的同步时钟频率动态调整方法,通过对实际仿真网络情况动态调整同步时钟频率,以此来解决仿真推进速率以及系统效率低的问题。

针对动态网络调整时钟同步包频率问题,本申请主要研究目标包括以下三点:

1)如何判断调整时钟同步包频率的边界值大小;2)若需调整时钟同步包频率大小,设置频率多少比较合适;3)调整完毕后如何根据仿真状态判断系统更优性。

针对上述三个研究目标,本申请将算法分为三部分,第一部分是根据子系统中的发布节点在某个时间区间内的业务频率、业务量情况,确定时钟同步包频率调整值大小,并根据该值大小对时钟同步包频率进行调整;第二部分是若确定需要调整时钟同步包频率,根据本申请对时钟同步包频率的定义,如何合理调整时钟同步包频率;第三部分是调整了时钟同步频率参数后,如何进行相关测试得到指标来验证该方法的可行性及优化效率值。

本申请是调整时钟同步包频率的过程,包括判断是否调整和调整时钟同步管理器发送频率,具体的实现思想如下:

仿真开始的时候,将时钟同步管理器的时钟同步包频率预设值为tstart,假设仿真的总时间为t,本文将总时间t以等间隔时间划分为n段,分别为(t1、t2…tn),仿真开始运行后,根据子系统中的发布节点在ti时间段内业务的频率、数量等情况,此时网络中的总流量记为traffic(i)。

traffic(i)=∑(p*f)+tb(1)

其中p为业务的包长,f为业务的频率,tb为网络中的背景流量,ti时间内总流量为i时间段内所有业务流量加上背景流量大小。dds底层实现是利用了实时发布订阅(real-timepublishsubscribe,rtps)协议,而rtps协议运行在无连接的尽力而为的网络环境中,会采用大量的确认包来确保传输的可靠性,因此网络中不可避免的有大量的确认包以及用于dds交互的状态信息。计算时钟同步管理器在ti时间段内的时钟频率增量期望值,记为et(i,ti)。

其中ti和tn分别为业务的开始时间和结束时间。当ti时间段完成并且进入ti+1时间段时,执行时钟频率比较阶段。由于每个时间段的计算过程相同,因此以第ti+1时间段为例描述该方法的核心问题。由子系统发布节点在ti+1时间段内产生的所有仿真事件,并记录在该事件段内总流量大小traffic(i+1),通过比较traffic(i)和traffic(i+1)大小判断时钟同步包频率是否要进行调整。同时对ti+1时间段内产生的事件的时钟同步包频率增量期望值进行计算得到et(i,ti+1),如果需要对时钟同步包频率进行调整,则通过时钟同步包频率fsyn(i)=et(i,ti)计算调整大小,为了保证业务数据的正常转发,时钟同步包频率还需要满足以下条件:

在ti时间范围内fsyn(i)≥max{f1,f2,……fn},其中f1,f2…fn为ti时间内业务的频率。e(i,ti)为子系统发布节点i在ti时间段中时钟同步包频率增量期望值依据上述公式进行计算后,然后在时钟同步管理器应用程序中修改时钟同步包的发送间隔。图3为时间同步管理器的同步时钟频率调整方法流程图。

优选地,在步骤103:对分布式仿真系统中仿真事件传输的时延进行计算,获取时延计算结果;根据时延计算结果控制仿真事件的到达时序,以进行分布式仿真系统中各子系统的协同运算。

优选地,对分布式仿真系统中仿真事件传输的时延进行计算,还包括:对子系统内的时延进行计算以及对子系统间的时延进行计算。

优选地,对分布式仿真系统中仿真事件传输的时延进行计算,获取时延计算结果,还包括:

定义数据分发服务dds时延计算模型:

tdelay=tpub+tsub+tdds

其中tdelay为总时延大小,tpub为调用数据发送函数publisher_send()函数时延,代表a节点发送时延,tsub为调用数据订阅函数subsriber_main()函数时延,代表b节点订阅时延,tdds为经过数据分发服务dds传送通道的时延。

tpub和tsub的计算方式是通过windows平台高分辨率时间函数queryperformancecounter()测量出来的,用来度量节点向中间件事件代理系统(dds)发布或订阅主题数据所需的时间延迟。

tdds的计算方式采用同步时钟信息synclockmessage中的“时间戳”字段进行计算;由于分布式仿真系统采用时钟同步管理器进行同步,各子系统都是通过接收同步时钟信息来推动分布式仿真系统的事件;

当a节点接收同步时钟信息,假设该同步时钟信息中时间戳为ts,然后a节点将时间戳数目写入到发布的同步时钟信息中并通过数据分发服务dds数据通道传输到节点b;节点b收到a节点发布的数据后等待下一个同步时钟信息,假设该同步时钟信息中时间戳为te;数据分发服务dds通道传输时延tdds=te-ts。

本申请在分布式仿真系统中,基于rtidds的协同运算技术对时延的计算与单台仿真系统仿真对时延的计算有所区别,如图4所示。将仿真网络划分为三个子系统进行仿真,其中a→b和c→d链路从原本仿真链路变成dds传输通道进行数据传输。通过这样的方式,仿真拓扑的处理时延会发生变化。原本从a节点到b节点的时间延迟由三部分组成,分别是处理时延、传输时延和排队时延,传输时延按照光纤链路中传输时延5μs/km,在仿真中相对于总体时延较小,本系统忽略此时延。而现分布式仿真系统从a节点到b节点的时间延迟由五个部分组成,分别是a节点发布时延、b节点订阅时延、处理时延、排队时延和dds传输通道时延。所以分布式仿真的时延和单系统仿真时延差异性由dds发布/订阅时延以及dds传输通道时延造成。除此之外,分布式系统总体响应时间和发布/订阅延迟也受到网络行为以及系统资源的影响。为了得到更加真实的仿真数据,最终仿真结果时延需要做出处理。基于此,这里建立了一个dds实时通信时延模型,用来处理分布式仿真系统由dds传输产生的时延问题。

首先定义dds实时通信时延模型:

tdelay=tpub+tsub+tdds(3)

其中tdelay为总时延大小,tpub为调用数据发送函数publisher_send()函数时延,代表a节点发送时延,tsub为调用数据订阅函数subsriber_main()函数时延,代表b节点订阅时延,tdds为经过dds传送通道的时延。

tpub和tsub的计算方式是通过windows平台高分辨率时间函数queryperformancecounter()测量出来的,用来度量节点向中间件事件代理系统(dds)发布或订阅主题数据所需的时间延迟。

tdds的计算方式采用同步时钟信息(synclockmessage)中的时间戳字段进行计算。由于本系统采用时钟同步管理器进行同步,每个子系统都是通过接收同步时钟信息来推动本系统的事件。因此,当a节点受到某个同步时钟信息,假设该同步时钟信息中“时间戳”为ts,然后a节点将“时间戳数目”写入到发布的信息中并通过dds数据通道传输到节点b。节点b收到a节点发布的数据后等待下一个同步时钟信息,假设该同步时钟信息中“时间戳”为te。dds通道传输时延tdds=te-ts。

本申请通过设置时钟同步管理器,通过向各个子系统发送同步时钟信号,各仿真子系统通过响应同步时钟触发信号来保证仿真的同步执行,从而保证分布式仿真系统中涉及的多个子系统之间仿真的同步和一致性。本申请通过对仿真事件传输的时延进行运算,协调控制仿真事件到达的时序,来保证各仿真子系统间的协同运算,主要包括了子系统内的时延协同运算、子系统间的时延协同运算。

本申请提出的分布式仿真系统使用同步管理器发送同步时钟消息给各个子系统,各个子系统收到时钟同步消息后,定时器时钟触发,推动子系统事件,使各个子系统的时间同步。时钟同步方法采用的是标量逻辑时间,虽然标量逻辑时间对于内部事件的时间推进不能体现,但是由于本申请使用的分布式时钟同步方法将时间管理从主体进程级别提升到处理器内核级别,直接通过exata仿真器对计算机内核进行调度,也就是本地逻辑时间是针对本计算机内核而言的,所以标量方法也能适用。基于标量逻辑时钟设计的时钟同步管理器是仿真模型在分布式环境下全局时间的管理者,时钟同步管理器的系统特征是全局唯一性。分布式仿真系统和仿真模型是建立在基于网络的分布环境中,各个子系统的内核独立处理,通过参与仿真模型的方式构成一个计算网络。时钟同步管理器与每个子系统的边缘节点进行通信,整个网络中只允许一个时钟同步管理器存在。时钟同步管理器的具体工作是周性通过dds通信接口的发布时钟同步消息(synclockmessage)消息到各子系统的边缘节点上。如图5所示。

本申请提出了分布式仿真系统的协同运算技术,提出了协同运算的方法:通过对仿真事件传输的时延进行运算,协调控制仿真事件到达的时序,来保证各仿真子系统间的协同运算,主要包括了子系统内的时延协同运算、子系统间的时延协同运算。子系统内时延计算公式为tw1=tl1*(t1-t0),其中tw1为等待时间,tl1为实际传输时延,t0为发送时延,传送到smgn的时间为t1。子系统间时延运算公式为tw2=tl2-(t2-t0)-(offset1-offset2),其中tw2为等待时间,tl2为实际传输时延,协调器与子系统1的时间偏差为offset1,协调器与子系统1的时间偏差为offset2。coordinator发送业务控制命令给每个smgn,在子系统订阅触发函数里面完成发送数据的过程。如图6所示。

本申请通过设置时钟同步管理器,协调各分系统之间的时钟同步,确保仿真系统的数据准确、及时地交互。分布式仿真系统的协同运算方法,主要包括子系统内的时延协同运算和子系统间的时延协同运算。

图7为根据本发明优选实施方式的一种用于对分布式仿真系统进行协同运算的系统结构示意图。如图7所示,本申请提出一种用于对分布式仿真系统进行协同运算的系统,系统包括:

初始单元701,用于分布式仿真系统中包括时间同步管理器,通过时间同步管理器采用标量逻辑时间统一分布式仿真系统中各子系统的时钟周期。优选地,初始单元701,用于分布式仿真系统中设置时间同步管理器,通过时间同步管理器采用标量逻辑时间统一分布式仿真系统中各子系统的时钟周期,还用于:启动时间同步管理器;判断时间同步管理器是否为分布式仿真系统中惟一的时间同步管理器;当时间同步管理器为分布式仿真系统中惟一的时间同步管理器时,检查分布式仿真系统中各子系统的时间同步性;当分布式仿真系统中各子系统的时间具有同步性时,通过预定的频率调用时间同步函数,通过数据分发服务dds接口为各子系统发送时间同步消息。

调整单元702,用于基于分布式仿真系统中事件频率期望调整时间同步管理器的同步时钟频率。优选地,调整单元702用于基于分布式仿真系统中事件频率期望调整时间同步管理器的同步时钟频率,还用于:根据子系统中的发布节点在某个时间区间内的事件频率、事件量情况,确定时钟同步包频率调整值,根据时钟同步频率调整值对时钟同步频率进行调整。

计算单元703,用于对分布式仿真系统中仿真事件传输的时延进行计算,获取时延计算结果;根据时延计算结果控制仿真事件的到达时序,以进行分布式仿真系统中各子系统的协同运算。

优选地,计算单元703,用于对分布式仿真系统中仿真事件传输的时延进行计算,还用于:对子系统内的时延进行计算以及对子系统间的时延进行计算。

优选地,计算单元703用于对分布式仿真系统中仿真事件传输的时延进行计算,获取时延计算结果,还用于:

定义数据分发服务dds时延计算模型:

tdelay,=tpub+tsub+tdds

其中tdelay为总时延大小,tpub为调用数据发送函数publisher_send()函数时延,代表a节点发送时延,tsub为调用数据订阅函数subsriber_main()函数时延,代表b节点订阅时延,tdds为经过数据分发服务dds传送通道的时延。

tpub和tsub的计算方式是通过windows平台高分辨率时间函数queryperformancecounter()测量出来的,用来度量节点向中间件事件代理系统(dds)发布或订阅主题数据所需的时间延迟。

tdds的计算方式采用同步时钟信息synclockmessage中的“时间戳”字段进行计算;由于分布式仿真系统采用时钟同步管理器进行同步,各子系统都是通过接收同步时钟信息来推动分布式仿真系统的事件;

当a节点接收同步时钟信息,假设该同步时钟信息中时间戳为ts,然后a节点将时间戳数目写入到发布的同步时钟信息中并通过数据分发服务dds数据通道传输到节点b;节点b收到a节点发布的数据后等待下一个同步时钟信息,假设该同步时钟信息中时间戳为te;数据分发服务dds通道传输时延tdds=te-ts。

本发明优选实施方式的一种用于对分布式仿真系统进行协同运算的系统700与本发明优选实施方式的一种用于对分布式仿真系统进行协同运算的方法100相对应,在此不再进行赘述。

已经通过参考少量实施方式描述了本发明。然而,本领域技术人员所公知的,正如附带的专利权利要求所限定的,除了本发明以上公开的其他的实施例等同地落在本发明的范围内。

通常地,在权利要求中使用的所有术语都根据他们在技术领域的通常含义被解释,除非在其中被另外明确地定义。所有的参考“一个/所述/该[装置、组件等]”都被开放地解释为所述装置、组件等中的至少一个实例,除非另外明确地说明。这里公开的任何方法的步骤都没必要以公开的准确的顺序运行,除非明确地说明。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1