留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

面向多用户的微观交通仿真实验系统设计

吴春江 周世杰 陈鹏飞

吴春江, 周世杰, 陈鹏飞. 面向多用户的微观交通仿真实验系统设计[J]. 电子科技大学学报, 2021, 50(4): 544-550. doi: 10.12178/1001-0548.2020446
引用本文: 吴春江, 周世杰, 陈鹏飞. 面向多用户的微观交通仿真实验系统设计[J]. 电子科技大学学报, 2021, 50(4): 544-550. doi: 10.12178/1001-0548.2020446
WU Chun-jiang, ZHOU Shi-jie, CHEN Peng-fei. Design and Research of Multi-User Oriented Micro Traffic Simulation Experiment System[J]. Journal of University of Electronic Science and Technology of China, 2021, 50(4): 544-550. doi: 10.12178/1001-0548.2020446
Citation: WU Chun-jiang, ZHOU Shi-jie, CHEN Peng-fei. Design and Research of Multi-User Oriented Micro Traffic Simulation Experiment System[J]. Journal of University of Electronic Science and Technology of China, 2021, 50(4): 544-550. doi: 10.12178/1001-0548.2020446

面向多用户的微观交通仿真实验系统设计

doi: 10.12178/1001-0548.2020446
基金项目: 四川省科技厅重大专项(2018GZDZX0033);四川省科技厅重点研发项目(2020YFG0143)
详细信息
    作者简介:

    吴春江(1982-),男,博士生,高级工程师,主要从事交通仿真及人工智能方面的研究

    通讯作者: 周世杰,E-mail:sjzhou@uestc.edu.cn
  • 中图分类号: TP311

Design and Research of Multi-User Oriented Micro Traffic Simulation Experiment System

  • 摘要: 针对现有交通虚拟仿真系统既无法支持多用户同时在线仿真,又无法满足实际的虚拟仿真教学实验需求,也难以大规模扩展等问题,该文首次从系统架构和仿真引擎方面设计并实现了一种面向多用户的微观交通仿真实验系统。并且从单仿真引擎仿真车辆数变化、单仿真引擎仿真加速比变化和多仿真引擎并发执行3个性能指标对该系统进行测试。测试结果表明,该文所实现的交通虚拟仿真系统能够支持多仿真引擎、多仿真任务的并发执行,满足多用户的同时在线仿真需求。
  • 图  1  面向多用户的微观交通仿真实验系统架构图

    图  2  仿真引擎集群示意图

    图  3  分布式交通仿真引擎消息通信

    图  4  仿真车辆数变化

    图  5  随仿真车辆数的CPU占用率

    图  6  随仿真车辆数变化的计算耗时

    图  7  随仿真加速比变化的CPU占用率

    图  8  随仿真加速比变化的计算耗时

    图  9  多仿真引擎并发执行的CPU占用率

    表  1  交通仿真系统对比

    仿真系统仿真类型代码开源仿真功能仿真地图车辆行为模型在线仿真仿真控制
    Aimsun[10]微观/介观/宏观评估交通仿真、交通需求管理策略评估支持路网导入并提供路网编辑功能Gipps的安全距离模型改进Gipps的换道模型改进
    TransModeler[11]微观/介观/宏观交通仿真和交通规划,与交通预测软件结合等支持路网导入并提供路网编辑功能心理-生理跟驰模型基于规则的换道模型
    Paramics[12]微观交通仿真模拟,协助交通评估等支持路网导入并提供路网编辑功能基于规则的换道模型
    PTV Vissim[13]微观交通分析和预测,信号优化等支持路网导入并提供路网编辑功能基于规则的换道模型
    SUMO[14]微观/介观/宏观提供自定义模型,离散时间下的微观交通仿真支持路网导入并提供路网编辑功能Stefan Krauß模型的拓展SUMO自带的换道模型
    Corsim[15]微观/介观/宏观交通仿真,提供多种车道方案支持路网导入并提供路网编辑功能Pitt跟驰模型Pitt换道模型
    Matsim[16]微观需求建模、公共交通、多功能分析,提供基于代理的动态交通仿真等开源api,提供路网编辑功能多代理交通模型
    MITsim[18]微观交通仿真可模拟监视能力,支持需求建模、公共交通、多功能分析等提供路网编辑功能心理-生理模型与GHR模型基于规则的换道模型
    TJTS[18]微观微观交通仿真,基于仿真数据的评估功能,提供城市道路实验和测试平台//
    SUTSS[19]微观/介观/宏观提供交通规划、交通建设、运行管理等//
    本系统微观在线交通微观仿真提供路网编辑模块自带的换道模型/换道模型
    下载: 导出CSV

    表  2  微观交通仿真引擎性能测试实验环境

    实验环境实验环境描述
    CPUIntel(R) Xeon(R) Silver 4110 CPU @ 2.10GHz
    内存/GB64
    操作系统Windows 专业版
    空闲CPU占用率/%6~7
    下载: 导出CSV

    表  3  单仿真引擎仿真车辆数性能测试

    仿真步数仿真车辆数CPU占用率/%仿真计算耗时/ms
    1021310.0438
    3040410.5609
    5059610.9719
    7077812.5828
    9092012.8906
    110107114.31016
    130121414.21125
    150137015.31234
    170147115.81375
    190158916.61344
    210166917.01453
    230174416.91485
    250181317.11546
    270187517.31515
    290194017.71594
    310199218.31657
    330202718.61703
    350205118.61766
    370208918.71703
    390212518.61672
    410213618.81703
    430216419.41750
    450215819.51766
    470217419.41796
    下载: 导出CSV

    表  4  单仿真引擎仿真加速比变化性能测试

    仿真加数比仿真车辆数CPU占用率/%仿真计算耗时/ms
    103638.5203
    203669.1360
    3036410.4578
    4036211.6781
    5037012.4906
    6037314.01218
    7037414.81375
    8036816.21578
    9036318.21844
    10036518.01984
    下载: 导出CSV

    表  5  多仿真引擎并发执行性能测试

    并发仿真
    引擎数
    CPU最高占用率
    (无任务)/%
    CPU最高占用率
    (任务并发执行)/%
    0418
    11125
    21836
    32544
    43251
    53859
    64568
    75279
    86087
    96793
    1076100
    下载: 导出CSV
  • [1] ANYA A R, ROUPHAIL N M, FREY H C, et al. Application of AIMSUN microsimulation model to estimate emissions on signalized arterial corridors[J]. Transportation Research Record Journal of the Transportation Research Board, 2014, 2428: 75-86. doi:  10.3141/2428-09
    [2] 韦栋, 郑淑鉴, 佘文晟. 基于TransModeler的中观仿真模型研究与应用[J]. 交通科技与经济, 2015, 17(2): 50-55. doi:  10.3969/j.issn.1008-5696.2015.02.012

    WEI Dong, ZHENG Shu-jian, SHE Wen-sheng. Research and application of microscopic traffic simulation model based on trans modeler software[J]. Technology & Economy in Areas of Communications, 2015, 17(2): 50-55. doi:  10.3969/j.issn.1008-5696.2015.02.012
    [3] CAMERON G, WYLIE B J N, MCARTHUR D. PARAMICS-moving vehicles on the connection machine[C]//Proceedings of the 1994 ACM/IEEE Conference on Supercomputing. Washington: IEEE, 1994: 291-300.
    [4] 盖春英. VISSIM微观仿真系统及在道路交通中的应用[J]. 公路, 2005(8): 118-121. doi:  10.3969/j.issn.0451-0712.2005.08.029

    GAI Chun-ying. Microscopic simulation system VISSIM and its application to road and transportation[J]. Highway, 2005(8): 118-121. doi:  10.3969/j.issn.0451-0712.2005.08.029
    [5] 吴亦政, 孙健, 彭春露, 等. Vissim和Corsim在城市道路微观仿真中的对比研究[J]. 交通信息与安全, 2012, 4: 116-121. doi:  10.3963/j.issn.1674-4861.2012.04.026

    WU Yi-zheng, SUN Jian, PENG Chun-lu, et al. Comparative study of micro-simulation performances for urban road network between Vissim and Corsim[J]. Journal of Transport Information and Safety, 2012, 4: 116-121. doi:  10.3963/j.issn.1674-4861.2012.04.026
    [6] SERRAS J. The multi-agent transport simulation MATSim[M]. London: Ubiquity Press, 2016.
    [7] CHEN Chen-yi, HU Jian-ming, GENG Chen-yao. Calibration of MITSIM and IDM car-following model based on NGSIM trajectory datasets[C]//Proceedings of 2010 IEEE International Conference on Vehicular Electronics and Safety. [S.l.]: IEEE, 2010: 48-53.
    [8] 韩光辉, 陈笑蓉, 俞洋, 等. 基于SUMO平台的微观交通仿真研究[J]. 计算机工程与科学, 2012, 7: 195-198. doi:  10.3969/j.issn.1007-130X.2012.07.036

    HAN Guang-hui, CHEN Fu-rong, YU Yang, et al. A study of microscopic traffic simulation based on the SUMO platform[J]. Computer Engineering & Science, 2012, 7: 195-198. doi:  10.3969/j.issn.1007-130X.2012.07.036
    [9] 刘运通. 交通系统仿真技术[M]. 北京: 人民交通出版社, 2002.

    LIU Yun-tong. Traffic system simulation technology[M]. Beijing: China Communications Press, 2002.
    [10] 申丽君, 董悦, 周超雄, 等. 基于AIMSUN的城市交叉口优化方法仿真研究[J]. 公路交通科技, 2010, 10: 265-268.

    SHEN Li-jun, DONG Yue, ZHOU Chao-xiong, et al. Simulation research on urban intersection optimization method based on AIMSUN[J]. Journal of Highway and Transportation Research and Development, 2010, 10: 265-268.
    [11] 杨慧, 成卫, 肖海承, 等. 基于TransModeler的拥堵区域交通流量调控方法研究[J]. 科学技术与工程, 2011, 8: 1746-1750. doi:  10.3969/j.issn.1671-1815.2011.08.021

    YANG Hui, CHENG Wei, XIAO Hai-chen. Study of traffic flow adjustment methods to congestion area based on trans modeler[J]. Science Technology and Engineering, 2011, 8: 1746-1750. doi:  10.3969/j.issn.1671-1815.2011.08.021
    [12] 李伦. 微观交通仿真软件Paramics的工程应用实例[J]. 交通世界, 2018, 9: 42-44.

    LI Lun. Engineering application examples of microscopic traffic simulation software Paramics[J]. Transpoworld, 2018, 9: 42-44.
    [13] 虞笑晨, 陈怡立, 王崇伟. 基于Vissim微观交通仿真的交叉口优化分析与研究[J]. 交通世界, 2019, 2: 12-15.

    YU Xiao-cheng, CHEN Yi-li, WANG Chong-wei. Analysis and research on intersection optimization based on vissim microscopic traffic simulation[J]. Transpoworld, 2019, 2: 12-15.
    [14] ERDMANN J. Lane-changing model in SUMO[C]//Proceedings of the SUMO2014 Modeling Mobility with Open Data. Berlin: [s.n.], 2014, 24: 77-88.
    [15] OWEN L E, ZHANG Yun-long, RAO Lei, et al. Traffic flow simulation using CORSIM[C]//Winter Simulation Conference. [S.l.]: IEEE, 2000: 1143-1147.
    [16] 潘莹, 陈家琪. 基于Multi-Agent仿真的动态车辆路径算法研究[J]. 信息技术, 2015, 5: 121-124.

    PAN Yin, CHEN Jia-qi. Dynamic vehicle routing algorithm based on Multi-Agent simulation[J]. Information Technology, 2015, 5: 121-124.
    [17] 谢寒. 换车道模型研究[J]. 知识经济, 2010, 17: 5.

    XIE Han. Research on lane change model[J]. Knowledge Economy, 2010, 17: 5.
    [18] 邹智军, 杨东援. 城市道路交通仿真系统软件设计[J]. 交通运输工程学报, 2001, 1(3): 86-88. doi:  10.3321/j.issn:1671-1637.2001.03.021

    ZHOU Zhi-jun, YANG Dong-yuan. Software design of urban road traffic simulation system[J]. Journal of Traffic and Transportation Engineering, 2001, 1(3): 86-88. doi:  10.3321/j.issn:1671-1637.2001.03.021
    [19] CHEN Jian-kai, GAO Zuo-gang. Urban transport simulation system based shenzhen integrated traffic information services research[J]. Traffic & Transportation, 2013, 1: 62-64.
    [20] 邹智军. 新一代交通仿真技术综述[J]. 系统仿真学报, 2010, 9: 2037-2042.

    ZHOU Zhi-jun. Journal of system simulation[J]. Journal of System Simulation, 2010, 9: 2037-2042.
  • [1] 周睿, 张翔引, 宋德宇, 秦开宇, 徐利梅.  基于粒子群的无人机蜂群网络拓扑快速构建方法 . 电子科技大学学报, 2023, 52(4): 506-511. doi: 10.12178/1001-0548.2023112
    [2] 胡泽林, 叶启彬, 黄驿轩, 胡苏.  基于频分多址的多用户OFDM通信雷达一体化方案 . 电子科技大学学报, 2023, 52(2): 196-202. doi: 10.12178/1001-0548.2022359
    [3] 黄庆东, 石斌宇, 郭民鹏, 袁润芝, 陈晨.  基于Q-learning的分布式自适应拓扑稳定性算法 . 电子科技大学学报, 2020, 49(2): 262-268. doi: 10.12178/1001-0548.2019076
    [4] 周世杰, 宋竹, 罗嘉庆.  微观交通仿真的安全换道模型研究 . 电子科技大学学报, 2015, 44(5): 725-730. doi: 10.3969/j.issn.1001-0548.2015.05.015
    [5] 施玉晨, 白宝明.  基于多元LDPC码的多用户协作方案 . 电子科技大学学报, 2013, 42(2): 205-208. doi: 10.3969/j.issn.1001-0548.2013.02.005
    [6] 张健, 刘元安, 谢刚, 毛峻岭, 刘芳.  低复杂度的多用户MIMO下行链路块对角化算法 . 电子科技大学学报, 2011, 40(5): 662-666. doi: 10.3969/j.issn.1001-0548.2011.05.005
    [7] 陈智, 李少谦, 董彬虹, 程郁凡.  瑞利衰落信道下差分跳频同步多用户性能 . 电子科技大学学报, 2008, 37(2): 206-209.
    [8] 刘洪武, 冯全源.  MC-CDMA系统中基于遗传算法的多用户检测 . 电子科技大学学报, 2008, 37(4): 485-488.
    [9] 刁鸣, 高洪元, 马杰, 缪善林.  应用神经网络粒子群算法的多用户检测 . 电子科技大学学报, 2008, 37(2): 178-180,281.
    [10] 任诚, 唐普英, 方峻.  拉伸技术粒子群优化算法的多用户检测器 . 电子科技大学学报, 2007, 36(5): 915-917.
    [11] 王启科, 刘心松, 邱元杰, 周涛, 黎屹.  分布式并行安全操作系统的用户一致性算法 . 电子科技大学学报, 2007, 36(2): 239-241,270.
    [12] 戴江山, 李向阳, 张增军, 肖军模.  网络取证日志分布式安全管理 . 电子科技大学学报, 2007, 36(2): 235-238.
    [13] 熊万安, 佘堃, 龚耀寰.  WTLS协议性能仿真 . 电子科技大学学报, 2005, 34(4): 489-492.
    [14] 韩江洪, 江波, 杜诗研, 张利.  一种基于多Agent系统的智能家庭网络研究 . 电子科技大学学报, 2005, 34(2): 233-235,276.
    [15] 吴知, 许家珆.  免疫原理在多Agent入侵检测系统中的应用 . 电子科技大学学报, 2005, 34(3): 381-384.
    [16] 唐续, 刘心松, 杨峰, 刘谐.  分布式并行服务器中的高性能通信研究 . 电子科技大学学报, 2005, 34(2): 213-216.
    [17] 戴江山, 肖军模, 张增军.  分布式网络实时取证系统研究与设计 . 电子科技大学学报, 2005, 34(3): 347-350.
    [18] 唐普英, 李志辉, 黄顺吉.  基于遗传算法和禁忌搜索的多用户检测器 . 电子科技大学学报, 2004, 33(5): 499-502.
    [19] 杨东林, 叶梧.  Turbo CDMA多用户检测的研究 . 电子科技大学学报, 2000, 29(3): 247-251.
    [20] 桑楠, 龚天富, 陈文宇.  CASE-DDB的设计和不确定性问题的解决 . 电子科技大学学报, 1997, 26(2): 185-189.
  • 加载中
图(9) / 表(5)
计量
  • 文章访问数:  4406
  • HTML全文浏览量:  1336
  • PDF下载量:  36
  • 被引次数: 0
出版历程
  • 收稿日期:  2020-12-21
  • 修回日期:  2021-04-24
  • 网络出版日期:  2021-07-23
  • 刊出日期:  2021-06-28

面向多用户的微观交通仿真实验系统设计

doi: 10.12178/1001-0548.2020446
    基金项目:  四川省科技厅重大专项(2018GZDZX0033);四川省科技厅重点研发项目(2020YFG0143)
    作者简介:

    吴春江(1982-),男,博士生,高级工程师,主要从事交通仿真及人工智能方面的研究

    通讯作者: 周世杰,E-mail:sjzhou@uestc.edu.cn
  • 中图分类号: TP311

摘要: 针对现有交通虚拟仿真系统既无法支持多用户同时在线仿真,又无法满足实际的虚拟仿真教学实验需求,也难以大规模扩展等问题,该文首次从系统架构和仿真引擎方面设计并实现了一种面向多用户的微观交通仿真实验系统。并且从单仿真引擎仿真车辆数变化、单仿真引擎仿真加速比变化和多仿真引擎并发执行3个性能指标对该系统进行测试。测试结果表明,该文所实现的交通虚拟仿真系统能够支持多仿真引擎、多仿真任务的并发执行,满足多用户的同时在线仿真需求。

English Abstract

吴春江, 周世杰, 陈鹏飞. 面向多用户的微观交通仿真实验系统设计[J]. 电子科技大学学报, 2021, 50(4): 544-550. doi: 10.12178/1001-0548.2020446
引用本文: 吴春江, 周世杰, 陈鹏飞. 面向多用户的微观交通仿真实验系统设计[J]. 电子科技大学学报, 2021, 50(4): 544-550. doi: 10.12178/1001-0548.2020446
WU Chun-jiang, ZHOU Shi-jie, CHEN Peng-fei. Design and Research of Multi-User Oriented Micro Traffic Simulation Experiment System[J]. Journal of University of Electronic Science and Technology of China, 2021, 50(4): 544-550. doi: 10.12178/1001-0548.2020446
Citation: WU Chun-jiang, ZHOU Shi-jie, CHEN Peng-fei. Design and Research of Multi-User Oriented Micro Traffic Simulation Experiment System[J]. Journal of University of Electronic Science and Technology of China, 2021, 50(4): 544-550. doi: 10.12178/1001-0548.2020446
  • 随着大数据、人工智能、物联网等新兴技术的发展,智慧交通已成为智慧城市建设的关键环节,面向智慧交通的虚拟仿真实验也成为国家虚拟仿真实验教学项目的重要组成部分。在城市管理、交通工程、交通运输等专业的教学实验中,往往需要开展单路口、单道路、区域路网甚至城市路网的复杂交通实验。然而,通过在实际交通环境中调整交通信号灯、改变路网结构、增减车道数量等路网参数来开展以上实验,成本高、影响大,绝大多数情况下不可行。为此,往往需要借助道路交通虚拟仿真系统,运用计算机仿真技术,模拟道路交通复杂状况,揭示交通流时空变化规律,有利于用户掌握道路交通设计、预测、控制、诱导等知识与技术。

    目前的交通仿真软件如Aimsun next[1]、TransModeler[2]、Paramics[3]、Vissim[4]、CORSIM[5]、Matsim[6]、MITSim[7]等都只是对具体场景进行仿真,不能满足虚拟仿真教学实验需求,即使是开源的SUMO[8]也不支持实时在线仿真以及在指定路网中进行不同类别的仿真实验。

    • 交通仿真作为计算机仿真的一个分支,起源于20世纪50年代[9],该技术能够在计算机上实现对真实路网及车流状况的模拟,用以对交通态势随时间和空间的变化进行跟踪描述。

      本文对10个具有代表性的交通仿真系统从仿真类型、代码开源、仿真功能、仿真地图、车辆行为模型、在线仿真、仿真控制等几个方面进行比较,结果如表1所示。目前的交通仿真软件[10-20]都只是对具体场景进行仿真且功能较少,并不能满足虚拟仿真教学实验的要求,不支持实时在线仿真以及在指定路网中进行不同类别的仿真实验,并且这些仿真系统操作起来都非常复杂。

      针对以上这些问题,本文首次研究并设计了一种面向多用户的微观交通仿真实验系统(http://its.uestc.cn),具体贡献如下:

      1)设计并实现了一种微观交通仿真引擎,该仿真引擎具有消耗低、易扩展等特点,支持独立运行和分布式通信;

      2) 设计并实现了一种面向多用户的微观交通仿真实验系统,该系统采用分布式计算、分布式消息通信等技术,支持多个仿真引擎、多个仿真任务并发执行;

      3) 本文对面向多用户的微观交通仿真实验系统进行了性能测试,测试结果表明微观交通仿真引擎的性能与仿真车辆数和仿真加速比成正比,并且在单台服务器上,该仿真实验系统能够支持多个仿真引擎、多个仿真任务的并发执行。

      表 1  交通仿真系统对比

      仿真系统仿真类型代码开源仿真功能仿真地图车辆行为模型在线仿真仿真控制
      Aimsun[10]微观/介观/宏观评估交通仿真、交通需求管理策略评估支持路网导入并提供路网编辑功能Gipps的安全距离模型改进Gipps的换道模型改进
      TransModeler[11]微观/介观/宏观交通仿真和交通规划,与交通预测软件结合等支持路网导入并提供路网编辑功能心理-生理跟驰模型基于规则的换道模型
      Paramics[12]微观交通仿真模拟,协助交通评估等支持路网导入并提供路网编辑功能基于规则的换道模型
      PTV Vissim[13]微观交通分析和预测,信号优化等支持路网导入并提供路网编辑功能基于规则的换道模型
      SUMO[14]微观/介观/宏观提供自定义模型,离散时间下的微观交通仿真支持路网导入并提供路网编辑功能Stefan Krauß模型的拓展SUMO自带的换道模型
      Corsim[15]微观/介观/宏观交通仿真,提供多种车道方案支持路网导入并提供路网编辑功能Pitt跟驰模型Pitt换道模型
      Matsim[16]微观需求建模、公共交通、多功能分析,提供基于代理的动态交通仿真等开源api,提供路网编辑功能多代理交通模型
      MITsim[18]微观交通仿真可模拟监视能力,支持需求建模、公共交通、多功能分析等提供路网编辑功能心理-生理模型与GHR模型基于规则的换道模型
      TJTS[18]微观微观交通仿真,基于仿真数据的评估功能,提供城市道路实验和测试平台//
      SUTSS[19]微观/介观/宏观提供交通规划、交通建设、运行管理等//
      本系统微观在线交通微观仿真提供路网编辑模块自带的换道模型/换道模型
    • 本文所设计的一种面向多用户的微观交通仿真实验系统的架构如图1所示。

      在面向多用户的微观交通仿真实验系统中,每个交通仿真引擎执行独立的仿真任务,各个仿真引擎之间相互独立、互不干扰。单台仿真引擎服务器可以创建出多个仿真引擎,支持多个仿真任务的并发执行。再通过分布式计算技术和分布式消息通信机制,将多台仿真引擎服务器进行统一管理,实现对每台服务器上的每个仿真引擎的统一管理。通过仿真引擎服务器数量的增加,可以实现更多仿真引擎的管理与并行计算,达到面向多用户的交通仿真任务并发执行的目的。

      图  1  面向多用户的微观交通仿真实验系统架构图

    • 本文所设计的面向多用户的微观交通仿真实验系统,以仿真任务为功能单元,每个仿真引擎执行独立的仿真任务,各个仿真引擎之间相互独立、互不干扰,再通过微观交通仿真实验系统统一的任务调度和仿真引擎管理,创建多个仿真引擎执行不同的仿真任务,从而实现面向多用户的并发仿真任务。

      图2所示,在面向多用户的微观交通仿真实验系统中,每个仿真引擎都是一个独立的进程或安装在Docker容器中,仿真引擎管理模块负责仿真引擎进程或Docker容器的创建及回收。

      图  2  仿真引擎集群示意图

      当有新的仿真任务创建时,仿真引擎管理模块会根据仿真任务的规模来预估仿真任务所需要的计算资源。如果系统中空闲的计算资源满足仿真任务的需要,仿真引擎管理模块则会分配一个仿真引擎去执行仿真任务。如果系统中没有足够的计算资源,仿真引擎管理模块首先会将仿真任务放到等待队列中,等待其他仿真任务执行结束释放出足够的计算资源,再分配一个仿真引擎去执行该仿真任务。等待队列中的仿真任务按照先来先得的顺序分配仿真引擎和计算资源。并且,根据前面所设计的系统架构,本文设计的实验系统可以通过增加仿真引擎服务器的数量来扩展计算资源,用以满足多个不同规模仿真任务的运行需求。

    • 本文所设计的面向多用户的微观交通仿真实验系统采用kafka作为任务管理端和仿真引擎之间的通信方式,以满足高吞吐量的分布式消息通信。

      当仿真引擎和计算资源分配成功后,任务管理模块会将创建仿真任务需要的参数数据放入kafka消息队列当中,仿真引擎会从kafka消息队列中获取参数数据,进行任务创建。同时,仿真引擎在执行完一定步数的仿真计算后,也会将仿真结果放入kafka队列中,以供仿真总控端提取仿真数据,如图3所示。

      图  3  分布式交通仿真引擎消息通信

      在面向多用户的微观交通仿真实验系统中,仿真数据分为车辆仿真数据和信号灯仿真数据。为了区分这两种实验数据,仿真引擎在发送到kafka队列的时候,会对数据加以处理,对于车辆仿真数据,数据是以“vehicle_”加上16位的仿真ID号组成;对于信号灯数据,数据是以“phase_”加上16位的仿真ID号组成。当kafka队列收到这些数据之后,可以通过数据的标志进行车辆仿真数据和信号灯仿真数据的判断。

    • 根据本文所提出的微观交通仿真实验系统设计思路,需要达到面向多用户并发执行仿真任务的目的,为此,本文首先对该微观交通仿真实验系统进行性能分析。

      根据所描述的仿真引擎设计,在本文微观交通仿真引擎设计中,所有仿真车辆的每一步仿真计算方式都是相同的。由此可以分析出,本文所设计的微观交通仿真引擎的计算消耗与仿真车辆数强相关,仿真车辆数越大,每一步仿真计算的消耗就越大,其时间复杂度为step×O(n),其中,step为仿真加速比(即仿真步数),n为仿真车辆数。同时,在本文所设计的微观交通仿真引擎中,每个仿真车辆占用的内存为100 B左右,100万仿真车辆占用的内存仅100 M。

      根据以上分析,本文所设计的微观交通仿真引擎对CPU的计算消耗需求大,对内存的消耗可忽略不计。同时,本文所设计的微观交通仿真引擎的计算时间复杂度为step×O(n),即与仿真加速比和仿真车辆数相关。因此,本文设计了单仿真引擎仿真车辆数变化、单仿真引擎仿真加速比变化和多仿真引擎并发执行3种实验来测试性能。

      本文所设计的微观交通仿真引擎性能测试的实验环境如表2所示。

      表 2  微观交通仿真引擎性能测试实验环境

      实验环境实验环境描述
      CPUIntel(R) Xeon(R) Silver 4110 CPU @ 2.10GHz
      内存/GB64
      操作系统Windows 专业版
      空闲CPU占用率/%6~7
    • 单仿真引擎仿真车辆数变化主要测试仿真车辆数对计算资源的消耗。本文选取双向8车道的9个十字路口地图作为仿真地图,该仿真地图的最大容量为2400辆仿真车辆。在单仿真引擎仿真车辆数测试实验中,车辆生成速率设置为50,仿真加速比固定设置为20,通过仿真车辆数的变化观察单仿真引擎的CPU资源消耗变化。测试结果如表3图4图5图6所示。

      表 3  单仿真引擎仿真车辆数性能测试

      仿真步数仿真车辆数CPU占用率/%仿真计算耗时/ms
      1021310.0438
      3040410.5609
      5059610.9719
      7077812.5828
      9092012.8906
      110107114.31016
      130121414.21125
      150137015.31234
      170147115.81375
      190158916.61344
      210166917.01453
      230174416.91485
      250181317.11546
      270187517.31515
      290194017.71594
      310199218.31657
      330202718.61703
      350205118.61766
      370208918.71703
      390212518.61672
      410213618.81703
      430216419.41750
      450215819.51766
      470217419.41796

      图  4  仿真车辆数变化

      图  5  随仿真车辆数的CPU占用率

      图  6  随仿真车辆数变化的计算耗时

      可以看出,随着仿真车辆数的增加,单仿真引擎所占用的CPU与仿真计算耗时也随之增加,增长趋势基本相符,与仿真引擎的性能分析结果一致。

    • 单仿真引擎仿真加速比主要测试仿真加速比对仿真计算资源的消耗。本文选取双向8车道的十字路口地图作为仿真地图,该仿真地图的最大容量为380辆仿真车辆。实验中,仿真车辆生成速率设置为50,当仿真车辆数达到仿真地图最大容量时,通过调整仿真加速比来观察CPU资源消耗的情况。测试结果如表4图7图8所示。

      表 4  单仿真引擎仿真加速比变化性能测试

      仿真加数比仿真车辆数CPU占用率/%仿真计算耗时/ms
      103638.5203
      203669.1360
      3036410.4578
      4036211.6781
      5037012.4906
      6037314.01218
      7037414.81375
      8036816.21578
      9036318.21844
      10036518.01984

      图  7  随仿真加速比变化的CPU占用率

      表4图7图8所展示的结果可以看出,随着仿真加速比的增加,单仿真引擎所占用的CPU与仿真计算耗时也随之增加,与仿真引擎的性能分析结果一致。

      图  8  随仿真加速比变化的计算耗时

    • 本文在如表2所示的单台服务器上,对面向多用户的微观交通仿真实验系统进行了多仿真引擎并发执行的性能测试。本文选取双向8车道的单十字路口地图作为仿真地图,该仿真地图的最大容量为380辆仿真车辆,通过对仿真引擎数的增加来观察仿真任务并发执行数对服务器CPU资源消耗的影响,测试结果如表5图9所示。

      表 5  多仿真引擎并发执行性能测试

      并发仿真
      引擎数
      CPU最高占用率
      (无任务)/%
      CPU最高占用率
      (任务并发执行)/%
      0418
      11125
      21836
      32544
      43251
      53859
      64568
      75279
      86087
      96793
      1076100

      图  9  多仿真引擎并发执行的CPU占用率

      表5图9所展示的结果可以看出,在无仿真任务和仿真任务并发执行的情况下,CPU占用率与仿真引擎的数量成线性比例增长。在单台服务器上,本文所实现的一种面向多用户的微观交通仿真系统可以支持多个仿真引擎、多个仿真任务的并发执行。并且,还可以通过增加服务器的数量来支持更多的仿真任务并发执行。

      同时,由于仿真引擎只有在请求仿真任务的时候才会增加对CPU的消耗,而且仿真任务的执行时长是根据仿真请求步数确定的,不会无限地执行下去,会有一定的空闲期。因此,在实际的应用过程中,出现多个仿真任务并发执行的情况相对较少,从理论上讲,单台服务器可以支持更多的仿真引擎和仿真任务执行。

    • 本文从仿真类型、代码开源、仿真功能、在线仿真、仿真控制等几个方面对多种交通仿真系统进行了横向比较。其次,针对道路交通虚拟仿真实验的多用户、多并发、可操作等特性,提出了一种面向多用户的微观交通仿真实验系统,并从系统架构和仿真引擎方面对该仿真系统进行了设计。最后,对面向多用户的微观交通仿真实验系统的性能进行了分析,并从单仿真引擎仿真车辆数变化、单仿真引擎仿真加速比变化和多仿真引擎并发执行3个方面对该系统进行了测试。测试结果表明,本文所实现的一种面向多用户的微观交通仿真系统可以支持多个仿真引擎、多个仿真任务的并发执行,并且可以通过增加服务器的数量来支持更多的仿真任务并发执行,能够满足多用户的同时在线仿真需求。

参考文献 (20)

目录

    /

    返回文章
    返回