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) 表示将交

