System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于光纤反射内存的飞行器集群仿真方法技术_技高网

一种基于光纤反射内存的飞行器集群仿真方法技术

技术编号:40712673 阅读:3 留言:0更新日期:2024-03-22 11:14
本发明专利技术涉及一种基于光纤反射内存的飞行器集群仿真方法,属于飞行器仿真领域,解决了现有仿真节点无法对多样化的仿真任务进行自动竞争并提供仿真计算的问题。包括组网竞争任务阶段:确定1个调度节点和N个计算节点,获取计算节点的属性;调度节点下发若干属性不同的子任务;各计算节点从子任务中竞争与自身属性相同的子任务,待所有子任务分配完毕;及仿真阶段:调度节点下发仿真开启指令,使各节点开启仿真线程;接着下发飞行零点指令,使节点运行任务;调度节点更新模型输入量,计算节点更新模型输出量;任务结束后调度节点下发仿真停止指令,使各节点退出光纤网络。实现了对包含多模型、多仿真模式的飞行器集群任务的自动竞争和仿真服务。

【技术实现步骤摘要】

本专利技术涉及飞行器集群仿真,尤其涉及一种基于光纤反射内存的飞行器集群仿真方法


技术介绍

1、飞行器集群的半实物仿真采用分布式仿真系统,包含若干个仿真节点,每个仿真节点作为一个飞行节点,均包括仿真计算机和光纤反射内存板卡;为满足系统数据交互的实时性,采用光纤反射内存网络实现数据的共享。

2、由于半实物仿真系统每次接入的飞控设备不同,每次所需运行的仿真任务的数目和类型多样化,如何让接入光纤反射网络的仿真节点自组网进行任务竞争,实现任务的自动分配,为系统提供动态、随机的仿真计算服务是半实物仿真过程中亟待解决的问题;为此,本专利技术提出一种基于光纤反射内存的飞行器集群仿真方法。


技术实现思路

1、鉴于上述的分析,本专利技术实施例旨在提供一种基于光纤反射内存的飞行器集群仿真方法,用以解决现有飞行器集群仿真节点无法根据多样化的仿真任务,自动地、动态地竞争仿真任务并提供仿真计算的问题。

2、本专利技术实施例提供了一种基于光纤反射内存的飞行器集群仿真方法,包括仿真前的组网竞争任务阶段和仿真阶段;其中,

3、组网竞争任务阶段包括:从所有仿真节点中确定1个调度节点和n个计算节点,获取各计算节点的属性;调度节点下发包括num_r个子任务的仿真任务列表;各计算节点加入光纤反射内存网络,读取调度节点下发的子任务,从中竞争与自身属性相同的子任务,直到所有子任务分配完毕;

4、仿真阶段包括:调度节点下发仿真开启指令,使各计算节点开启仿真线程,等待启控;调度节点下发飞行零点指令,令所需的计算节点运行仿真任务;调度节点更新模型外部输入量下发至相应的计算节点,计算节点更新模型输出量,获得仿真结果;仿真任务完成后,调度节点下发仿真停止指令,使各计算节点退出光纤反射内存网络。

5、具体的,所述属性包括仿真模式和模型编号;所述模型数目为m,模型编号m=1,2,…,m;

6、所述仿真模式包括数学仿真模式和半实物仿真模式,计算节点包括半实物仿真节点和数学仿真节点;任一数学仿真节点能够提供所有模型的数学仿真计算,任一半实物仿真节点能够提供其相应模型的半实物仿真计算。

7、具体的,所述仿真任务列表{rr}中任一子任务rr的仿真模式为数学仿真或者半实物仿真,模型编号为rr_m,需1个计算节点执行;其中r=1,2,…,num_r。

8、具体的,各计算节点读取调度节点下发的子任务,从中竞争与自身属性相同的子任务,包括:

9、步骤s1、各计算节点读取各子任务,根据自身属性和子任务的属性,获取自身可执行的子任务队列;其中,所有数学仿真节点具有同一子任务队列,包含所有的数学仿真任务,任一半实物仿真节点i的子任务队列i_r中的所有子任务,具有相同的仿真模式和模型编号;

10、步骤s2、具有相同子任务队列的若干计算节点为同类节点,每一同类节点中的各计算节点,根据任务竞争算法,从相应的子任务队列中抢占子任务;

11、步骤s3、等待所有子任务队列中的各子任务均得到分配,任务竞争阶段结束。

12、具体的,所述任务竞争算法,包括:所述任务竞争算法,包括:步骤s201、为同类节点l中的各计算节点设置不同的随机延迟时间;

13、步骤s202、定义竞争节点计数cn,初始值为0;定义子任务队列中每一子任务的分配状态为“未分配”;同类节点l中的每一计算节点竞争状态均为“未竞争”;每一计算节点均执行以下操作:

14、步骤ss1、待达到自身延迟时间后,更新竞争节点计数,令cn=cn+1;

15、步骤ss2、休眠tmax,等待所有计算节点完成计数;所述tmax为各计算节点延迟时间中的最大值;

16、步骤ss3、读取子任务队列中第一个任务的分配状态;若是“未分配”,则该计算节点抢占第一个任务,将该任务状态更改为“已分配”,更新竞争节点计数,令cn=cn-1,同时更改计算节点自身的竞争状态为“已竞争”;若是“已分配”,则更新节点计数,令cn=cn-1;

17、步骤ss4、待cn减为0,说明所有参与竞争的节点均已退出对子任务队列中第一个任务的竞争,则将子任务队列中的第一个任务移除,获取更新的子任务队列,将“已竞争”的计算节点从同类节点l中移除,获取更新的同类节点l;

18、步骤s203、基于更新的同类节点l和更新的子任务队列,重复步骤s201-s203。

19、具体的,所述为同类节点l中的各计算节点设置不同的随机延迟时间,具体操作为:

20、以gettickcount()函数的返回值作为随机数种子,采用随机数引擎mt19937,生成均匀分布于[tmin,tmax]区间内的若干个随机数,分别作为各计算节点的延迟时间;其中,随机数的数目与同类节点l中的计算节点数目相同。

21、具体的,所述调度节点下发包括num_r个子任务的仿真任务列表,具体操作为:

22、调度节点在首地址为a2的光纤地址区间写入任务指令,包含的信息为任务数目与任务编号;

23、调度节点在首地址为a3的光纤地址区间写入每一任务的仿真模式;

24、调度节点在首地址为a4的光纤地址区间写入每一任务模型编号;

25、所述定义子任务队列中每一子任务的分配状态,具体操作为:

26、确定首地址为a5的光纤地址区间,写入每一任务相应的分配状态;

27、所述计算节点读取子任务队列中第一个任务的分配状态,具体操作为:

28、读取首地址为a5的光纤地址区间内的数据,获取该任务相应的分配状态。

29、具体的,所述调度节点更新模型外部输入量,具体操作为:

30、选取首地址为a9的光纤地址区间;

31、根据模型编号所属的任务编号i,获取该模型外部输入量写入地址相对于a9的偏移量pi,根据下式计算:

32、pi=0x1000×(i-1);

33、在a9偏移pi处,写入该模型的外部输入量;

34、所述计算节点更新模型输出量,具体操作为:

35、选取首地址为a10的光纤地址区间;

36、根据模型编号所属的任务编号i,获取该模型输出数据写入地址相对于a10的偏移量qi,根据下式计算:

37、qi=0x1000×(i-1);

38、在a10偏移qi处,写入该模型的输出数据。

39、具体的,所述仿真任务完成后,各计算节点退出光纤反射内存网络,具体操作为:

40、调度节点监测任务运行状态,记录已结束任务的编号和数目,将其与下发的仿真子任务比较,当运行已结束的任务数目与所下发的仿真子任务数目相等,下发仿真停止指令;

41、各计算节点读取到仿真停止指令后,全部退出光纤反射内存网络。

42、进一步的,所述调度节点下发的仿真开启指令和仿真停止指令,均在首地址a1的光纤地址区间内写入;所述飞行零点指令,写入本文档来自技高网...

【技术保护点】

1.一种基于光纤反射内存的飞行器集群仿真方法,其特征在于,包括仿真前的组网竞争任务阶段和仿真阶段;其中,

2.根据权利要求1所述的基于光纤反射内存的飞行器集群仿真方法,其特征在于,所述属性包括仿真模式和模型编号;所述模型数目为M,模型编号m=1,2,…,M;

3.根据权利要求2所述的基于光纤反射内存的飞行器集群仿真方法,其特征在于,所述仿真任务列表{Rr}中任一子任务Rr的仿真模式为数学仿真或者半实物仿真,模型编号为Rr_m,需1个计算节点执行;其中r=1,2,…,Num_R。

4.根据权利要求3所述的基于光纤反射内存的飞行器集群仿真方法,其特征在于,各计算节点读取调度节点下发的子任务,从中竞争与自身属性相同的子任务,包括:

5.根据权利要求4所述的基于光纤反射内存的飞行器集群仿真方法,其特征在于,所述任务竞争算法,包括:步骤S201、为同类节点L中的各计算节点设置不同的随机延迟时间;

6.根据权利要求5所述的基于光纤反射内存的飞行器集群仿真方法,其特征在于,所述为同类节点L中的各计算节点设置不同的随机延迟时间,具体操作为:

7.根据权利要求1-6任一项所述的基于光纤反射内存的飞行器集群仿真方法,其特征在于,所述调度节点下发包括Num_R个子任务的仿真任务列表,具体操作为:

8.根据权利要求7所述的基于光纤反射内存的飞行器集群仿真方法,其特征在于,所述调度节点更新模型外部输入量,具体操作为:

9.根据权利要求8所述的基于光纤反射内存的飞行器集群仿真方法,其特征在于,所述仿真任务完成后,各计算节点退出光纤反射内存网络,具体操作为:

10.根据权利要求9所述的基于光纤反射内存的飞行器集群仿真方法,其特征在于,所述调度节点下发的仿真开启指令和仿真停止指令,均在首地址A1的光纤地址区间内写入;所述飞行零点指令,写入首地址A7的光纤地址区间内;所述已结束任务的编号和数目,写入首地址A8的光纤地址区间内。

...

【技术特征摘要】

1.一种基于光纤反射内存的飞行器集群仿真方法,其特征在于,包括仿真前的组网竞争任务阶段和仿真阶段;其中,

2.根据权利要求1所述的基于光纤反射内存的飞行器集群仿真方法,其特征在于,所述属性包括仿真模式和模型编号;所述模型数目为m,模型编号m=1,2,…,m;

3.根据权利要求2所述的基于光纤反射内存的飞行器集群仿真方法,其特征在于,所述仿真任务列表{rr}中任一子任务rr的仿真模式为数学仿真或者半实物仿真,模型编号为rr_m,需1个计算节点执行;其中r=1,2,…,num_r。

4.根据权利要求3所述的基于光纤反射内存的飞行器集群仿真方法,其特征在于,各计算节点读取调度节点下发的子任务,从中竞争与自身属性相同的子任务,包括:

5.根据权利要求4所述的基于光纤反射内存的飞行器集群仿真方法,其特征在于,所述任务竞争算法,包括:步骤s201、为同类节点l中的各计算节点设置不同的随机延迟时间;

6.根...

【专利技术属性】
技术研发人员:董晨韩健白成超
申请(专利权)人:北京机电工程研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1