[发明专利]并行微观交通仿真中非阻塞式的车辆移动方法有效
申请号: | 201510051451.2 | 申请日: | 2015-02-01 |
公开(公告)号: | CN104778299B | 公开(公告)日: | 2017-08-25 |
发明(设计)人: | 张子健;陆宇飞;陈奇;江洁羽 | 申请(专利权)人: | 浙江成功软件开发有限公司 |
主分类号: | G06F17/50 | 分类号: | G06F17/50 |
代理公司: | 杭州求是专利事务所有限公司33200 | 代理人: | 邱启旺 |
地址: | 310012 浙江省杭州市文三路*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种并行微观交通仿真中非阻塞式的车辆移动方法,该方法首先为每个路段中的车道创建一个车辆管理装置,用于管理车道上的车辆,并将组成路网的所有路段划分成多个组,每个组分配一个线程负责仿真车辆的状态。当车辆跨路段行驶时,则会带来并发与线程竞争问题,为解决这个问题,本方法利用一条硬件级的原子指令CAS指令,实现基于冲突检测的乐观并发策略,也就是非阻塞式的同步方案,避免了锁的使用,降低了并发仿真环境下线程间交互的性能损耗,使得整个微观交通仿真系统的性能有了明显提升,满足了城市规模道路交通系统的实时仿真需要。 | ||
搜索关键词: | 并行 微观 交通 仿真 中非 阻塞 车辆 移动 方法 | ||
【主权项】:
一种并行微观交通仿真中非阻塞式的车辆移动方法,其特征在于,包括以下步骤:(1)仿真初始化阶段,包括以下子步骤:(1.1)为每一个路段中的每一条车道创建一个车辆管理装置LVC;(1.2)将每一个路段映射到一个线程;(2)仿真进行阶段,若车辆仅在路段内部移动,则不涉及线程间的交互,否则,若车辆从上游路段的车道进入下游路段中的车道,执行以下操作:(2.1)上游路段所处的线程将车辆从当前车道的LVC中除去,并将车辆标记为游离状态,表示车辆不再属于任何路段;(2.2)上游路段所处的线程将车辆提交到下游车道的缓冲区中;具体为:利用compare‑and‑swap(CAS)指令,上游线程将车辆与下游车道缓冲区中的值进行一次原子交换,若交换得到空值,则表示原缓冲区为空,表示车辆已经成功放入缓冲区中;否则上游线程交换得到另一辆车,说明缓冲区中已有其它车辆,表示车辆发生碰撞,流程终止;(2.3)下游路段的线程从缓冲区中提取车辆并把车辆加入到下游车道的LVC中,从而在并发环境下高性能地实现车辆的跨路段移动;具体为:利用CAS指令,下游线程将空值与缓存区中的值进行一次原子交换,交换后下游线程得到缓冲区中的值,而缓冲区被换入空值;交换得到两种结果:a)若下游线程交换得到空值,说明缓冲区中原本就没有车辆,此时终止流程;b)若下游线程交换得到的值非空,则该值即为从上游车道驶入的车辆,此时将车辆加入到下游车道的LVC中,将车辆状态更新为属于下游路段。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江成功软件开发有限公司,未经浙江成功软件开发有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201510051451.2/,转载请声明来源钻瓜专利网。