Page 280 - 《软件学报》2025年第8期
P. 280

何贤浩 等: 面向天河新一代超算的大规模平行城市交通仿真                                                    3703



                                交叉口                                                  N
                                 相位                          8
                                交叉口                15
                               内部车道
                               前驱车道                64   后继车道                64
                               车辆数目    车辆数目   车辆数目      车辆数目   车辆数目   车辆数目


                                  8       8×15
                            LaneID

                           车辆数目
                           压力值
                                                  图 5 交叉口数据存储结构


                                       加速簇 1                               加速簇 2
                                       Acc  Acc                          Acc   Acc
                                                        CPU    CPU
                              32 GB    Acc  Acc                          Acc   Acc     32 GB
                              DDR4                      CPU    CPU                     DDR4
                                         GSM                                GSM
                                        HBSM            CPU    CPU         HBSM
                                  Load                  CPU    CPU
                                        HBSM                               HBSM
                                                  Load
                                         GSM            CPU    CPU          GSM
                              32 GB                                                    32 GB
                              DDR4     Acc  Acc                           Acc  Acc     DDR4
                                                        CPU    CPU
                                       Acc  Acc                           Acc  Acc
                                        加速簇 3                              加速簇 4
                                             Store                           Load
                               Acc 计算信号灯控制逻辑
                               CPU 计算车辆行驶逻辑
                                                     图 6 数据同步过程

                    根据第   3.3  节描述, 每个路口的信号灯控制计算逻辑分配到一个加速核进行单独处理, 然而天河新一代架构
                 的特性使得加速簇无法直接访问远端的内存                [15] . 为了实现数据同步, 当车辆被调度到       CPU  时, 首先进行当前时刻
                 的仿真, 根据是否变道或进入下一个路口, 选择新的车道, 并将当前的车辆运动状态信息更新到新道路对应簇的内
                 存. 如果新的车道与当前车道不属于同一个加速簇, 则                CPU  产生一次跨簇的内存更新操作. 此外, 每个加速核等待
                 簇内存中相关数据更新, 并将更新后的数据加载到高速带宽共享内存进行信号灯控制处理. 信号灯控制的结果写
                 回高速带宽共享内存, 因此在         CPU  中仿真的车辆可以直接通过访问共享内存获得信号灯数据, 并根据该数据完成
                 下一步动作. 通过     CPU  直接访问加速簇中共享内存的数据传输方式, 极大地提高交通仿真的性能.

                 3.5   性能分析
                    对于上述提出的算法        1, 结合第  3.1–3.3  节实现的并行计算策略, 现对其进行理论上的性能分析. 假设                M 台车
                                                 N
                 辆在  P 个节点进行模拟, 且路网的大小为   (表示车道和交叉口数量规模),                  M  台车辆在单节点的每一步模拟计算
                 时间  T(M,N) 的公式如下:

                                                                         ′
                                            T (M,N) = max{C (M)+ L(N),D(N)+T (N)}                    (12)
                                                                                             ′
                 其中,  C (M)、  L(N) 和  D(N) 分别表示车辆并行行驶、车道并行更新和信号灯并行控制的时间, 而                  T (N) 表示将交
   275   276   277   278   279   280   281   282   283   284   285