一种基于Agent感知区域的有限乐观并行仿真同步方法技术

技术编号:16506227 阅读:169 留言:0更新日期:2017-11-04 21:15
本发明专利技术涉及一种基于Agent感知区域的有限乐观并行仿真同步方法,属于仿真同步领域。该方法包括以下步骤:S1:调度服务器初始化;S2:初始化每个调度逻辑进程LP的状态链表T;S3:调度服务器计算安全Agent;调度每个LP执行下一个周期;S4:每个LP执行完成后,将输出数据发送到调度服务器,并等待调度服务器发送的调度;S5:调度服务器接收LP的仿真输出结果,更新Agent数据链表S;若仿真未完成,则执行步骤S2,否则执行步骤S6;S6:程序结束。本发明专利技术与现有的保守同步算法相比基于Agent感知区域的有限乐观同步算法能够并行的执行仿真程序的同时,保证了没有死锁的产出,相邻节点的调度保证在安全的区域内。

【技术实现步骤摘要】
一种基于Agent感知区域的有限乐观并行仿真同步方法
本专利技术属于仿真并行化空间的同步
,涉及一种基于Agent感知区域的有限乐观并行仿真同步方法。
技术介绍
分布式交互仿真中同步算法主要有两种同步方式:保守的同步算法和乐观的同步算法。保守同步算法在进行同步算法时,保证了所有事件都按因果关系出现,此算法属于无风险的同步算法,但是在保守计算的同时也导致了仿真运行的并行化不高、仿真执行速度较慢的问题,保守算法在执行过程中很容易造成虚假的阻塞、死锁等问题。乐观的同步算法在执行时,并没有采取措施去保障本地因果关系的正确性。每个LP总是假设处理本地事件队列的下一个事件是安全的,直到收到了某个消息的丢失通知,才会通过某种回退算法将所有已经错误执行的事件回退。现有的时间管理算法主要是通过确定时间推进区间来保证事件的一致性,这一类算法通过LP之间发送的时间消息来确定时间推进的范围,保证各个节点在确定的时间范围内不会收到超出时间范围的消息。基于时间窗口的有限乐观同步算法中时间窗口定义了在本时间窗口中各LP只能乐观的处理时间窗口内的事件,这种方法能够保证各个LP之间的仿真时钟差不会大于时间窗口,同时保证了回退操作的可控制性。基于时间窗口的有限乐观同步算法中窗口的大小对仿真性能有很大的影响,窗口选取过小限制了不同节点的乐观的处理,窗口太大则会引起过多的回退,不同LP的时间窗口也有可能不同,因此,最优的时间窗口能够根据仿真程序运行自动的调整,这些使得仿真窗口的确定变得很困难。综上所述,仿真并行化中的同步算法需要解决的问题有:(1)如何保证因果关系一致性约束的同时,保证仿真事件的执行能够有较高的并行性。(2)如何减少仿真运行中不必要的内存开销。
技术实现思路
有鉴于此,本专利技术的目的在于提出一种基于Agent感知区域的有限乐观并行仿真同步方法。该算法保证了仿真程序运行中的因果关系约束,避免了仿真乐观执行过程中的回退操作,在保证仿真结果正确性的同时,提高了大规模并行仿真的效率。为达到上述目的,本专利技术提供如下技术方案:一种基于Agent感知区域的有限乐观并行仿真同步方法,该方法包括以下步骤:S1:调度服务器初始化:初始化Agent数据链表S;S2:初始化每个调度逻辑进程LP的状态链表T;S3:调度服务器计算安全Agent;初始状态下,所有Agent都是安全的,调度每个LP执行下一个周期;S4:每个LP执行完成后,将输出数据发送到调度服务器,并等待调度服务器发送的调度;S5:调度服务器接收LP的仿真输出结果,更新Agent数据链表S;若仿真未完成,则执行步骤S2,否则执行步骤S6;S6:程序结束。进一步,步骤S1中,所述Agent数据链表S是一个二维链表,相同执行周期的Agent组成一个链表,不同的链表根据执行周期顺序构成二维链表;初始状态下,二维链表只有一个链表节点,所有Agent在执行周期为0的链表中设置每个Agent对象在某个执行周期中的触发事件的范围半径(AreaOfInterest,AOI)与线速度建议值。进一步,步骤S2中,所述状态链表T是一个二维链表,保存LP空间区域内的Agent当前结果状态;相同执行周期的每个Agent的结果状态构成一个链表,不同链表按照执行周期顺序构成二维链表。进一步,所述AOI满足:AOI-t=线速度*周期时间*t+AOI,其中AOI-t表示每个Agent在后面t次仿真周期中可能触发事件的范围半径。进一步,步骤S5具体为:在仿真程序的执行过程中,设任意两个Agent为A和B;若A与B同步,在仿真周期为i时调度A和B执行仿真;若B先于A进入仿真周期i+1,并且有AOI-1(A)+AOI-1(B)<AB,其中AOI-(A)为AgentA的触发事件的半径,AOI-(B)为AgentB的触发事件半径,AB为A到B的直线距离;则A与B在第i+1个执行周期中互为安全Agent,即在执行B或A的第i+1个执行周期中,不会与A或B发生交互;从初始状态即第0个执行周期开始,在不同的LP上执行若干个Agent分组的仿真,若某个Agent分组先执行完毕,则找到这个分组中的安全Agent,即执行周期为1的Agent相对于其他所有执行周期为0的Agent都是安全的;调度执行完周期1的Agent执行下一个周期2时,则会有其他分组的Agent完成执行周期1,在执行第2个周期的Agent相对于执行第1个周期的Agent同样属于安全的;以此类推,当对Agent基于安全判断执行若干次调度之后,执行周期为i的Agent相对于执行周期为j的Agent都是安全的,其中j>i。进一步,步骤S5具体为:在仿真程序的执行过程中,设任意两个Agent为A和B;当A已经执行完第i个执行周期,B已经执行完第j个执行周期,其中j>i,那么A在第i+1到j个执行周期中,则判断A相对于B为安全Agent,如果有AOI-[j-i+1](A)+AOI-1(B)<AB,其中AOI-[j-i+1]为A从i到j的周期中的感知距离,AOI-(B)为AgentB的触发事件半径,AB为A到B的直线距离;则A与B在第j+1个执行周期中互为安全Agent,在执行B或A的第j+1个仿真周期中,不会与A或B发生交互;若所有的Agent都执行完周期i,令执行完周期i的Agent为M[0],执行完周期i+1的Agent为M[1],执行完周期i+j的Agent为M[j],根据安全Agent的定义,M0的所有Agent安全的执行i+1个执行周期,根据M0与M1找到M1中安全执行i+2个执行周期的Agent,根据M0,M1,M2找到M2中安全执行第i+3个执行周期的Agent,根据M0,M1,M2,……,M[j-1],Mj找到Mj中安全执行第i+j+1个执行周期的Agent。进一步,所述调度服务器计算安全Agent时,满足以下协议:(1)创建一个AOI对象,同时设置其默认AOI半径;每个对象都有一个默认的AOI半径,AOI半径为0表示这个Agent不会主动与其他Agent发生交互;(2)更新一个新的AOI对象,设置新的2D或3D坐标,并给出线速度的建议值;(3)删除一个AOI对象;(4)调度服务器将所计算的安全区域内Agent发送给各个逻辑服务器中的LP。本专利技术的有益效果在于:(1)与现有的保守同步算法相比基于Agent感知区域的有限乐观同步算法能够并行的执行仿真程序的同时,保证了没有死锁的产出。相邻节点的调度保证在安全的区域内。(2)基于感知区域的仿真同步方式,在调度服务器调度的过程中,计算周边Agent事件的触发范围,对安全范围内的Agent进行处理,因此既保证了可靠计算,又能积极的处理事件,不会使处理器处于等待的状态。(3)基于Agent感知区域空间的有限乐观同步算法属于积极但是有限的乐观算法,采取了必要的措施约束了乐观执行的程度。他不会发送有风险的消息,具备消息确认机制,因此不会出现诸如:一次回退,二次回退,回退风暴等问题,保证了仿真系统的正常运行的同时,减少了仿真开销,节省了仿真时间。附图说明为了使本专利技术的目的、技术方案和有益效果更加清楚,本专利技术提供如下附图进行说明:图1为本专利技术的调度服务器的执行流程图;图2为本专利技术的LP服务器的执行流程图。本文档来自技高网
...
一种基于Agent感知区域的有限乐观并行仿真同步方法

【技术保护点】
一种基于Agent感知区域的有限乐观并行仿真同步方法,其特征在于:该方法包括以下步骤:S1:调度服务器初始化:初始化Agent数据链表S;S2:初始化每个调度逻辑进程LP的状态链表T;S3:调度服务器计算安全Agent;初始状态下,所有Agent都是安全的;调度每个LP执行下一个周期;S4:每个LP执行完成后,将输出数据发送到调度服务器,并等待调度服务器发送的调度;S5:调度服务器接收LP的仿真输出结果,更新Agent数据链表S;若仿真未完成,则执行步骤S2,否则执行步骤S6;S6:程序结束。

【技术特征摘要】
1.一种基于Agent感知区域的有限乐观并行仿真同步方法,其特征在于:该方法包括以下步骤:S1:调度服务器初始化:初始化Agent数据链表S;S2:初始化每个调度逻辑进程LP的状态链表T;S3:调度服务器计算安全Agent;初始状态下,所有Agent都是安全的;调度每个LP执行下一个周期;S4:每个LP执行完成后,将输出数据发送到调度服务器,并等待调度服务器发送的调度;S5:调度服务器接收LP的仿真输出结果,更新Agent数据链表S;若仿真未完成,则执行步骤S2,否则执行步骤S6;S6:程序结束。2.如权利要求1所述的一种基于Agent感知区域的有限乐观并行仿真同步方法,其特征在于:步骤S1中,所述Agent数据链表S是一个二维链表,相同执行周期的Agent组成一个链表,不同的链表根据执行周期顺序构成二维链表;初始状态下,二维链表只有一个链表节点,所有Agent在执行周期为0的链表中设置每个Agent对象在某个执行周期中的触发事件的范围半径(AreaOfInterest,AOI)与线速度建议值。3.如权利要求1所述的一种基于Agent感知区域的有限乐观并行仿真同步方法,其特征在于:步骤S2中,所述状态链表T是一个二维链表,保存LP空间区域内的Agent当前结果状态;相同执行周期的每个Agent的结果状态构成一个链表,不同链表按照执行周期顺序构成二维链表。4.如权利要求2所述的一种基于Agent感知区域的有限乐观并行仿真同步方法,其特征在于:所述AOI满足:AOI-t=线速度*周期时间*t+AOI,其中AOI-t表示每个Agent在后面t次仿真周期中可能触发事件的范围半径。5.如权利要求1所述的一种基于Agent感知区域的有限乐观并行仿真同步方法,其特征在于:步骤S5具体为:在仿真程序的执行过程中,设任意两个Agent为A和B;若A与B同步,在仿真周期为i时调度A和B执行仿真;若B先于A进入仿真周期i+1,并且有AOI-1(A)+AOI-1(B)<AB,其中AOI-(A)为AgentA的触发事件的半径,AOI-(B)为AgentB的触发事件半径,AB为A到B的直线距离;则A与B在第i+1个执行周期中互为安全Agent,即在执行B或A的第i+1个执行周期中,不会与A或B发生交互;从初始状态即第0个执行周期开始,在不同的LP上执行若干个Agent分组...

【专利技术属性】
技术研发人员:屈洪春姚献慧宋卫贞唐晓铭王平
申请(专利权)人:重庆邮电大学
类型:发明
国别省市:重庆,50

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

1