[Paper] 考虑并行化的自动驾驶软件基于模型的开发
发布: (2025年12月30日 GMT+8 00:16)
6 min read
原文: arXiv
Source: arXiv - 2512.23575v1
Overview
本文提出了一种针对自动驾驶软件的基于模型的并行化技术。通过在模型驱动开发(MBD)工作流中扩展现有的模型并行化工具(MBP),作者展示了可衡量的执行时间缩减,使得复杂驾驶堆栈的实时性能更易实现。
关键贡献
- 扩展的 MBP 框架,支持自动驾驶流水线中典型的复杂数据流和控制流模式。
- 自动并行化流水线 集成到 MBD 过程,使开发者能够直接从高级模型生成多线程代码。
- 实证评估 显示在代表性的感知‑规划‑控制工作负载上显著的执行时间节省。
- 模型元素到并行构造的映射指南,帮助工程师在无需深层底层专业知识的情况下推理并发性。
方法论
- 基于模型的开发(MBD)基础 – 作者从系统模型(例如 Simulink/Stateflow)开始,捕获感知、预测、规划和控制功能。
- 可并行区域分析 – 通过静态数据依赖分析,工具识别可以并发运行且不违反安全关键时序约束的子图。
- 模型并行化器(MBP)扩展 – 原始 MBP 处理简单流水线;扩展后增加对以下的支持:
- 传感器融合和决策中常见的条件分支和循环。
- 资源注解(CPU 核心数、内存带宽),用于指导负载均衡。
- 代码生成 – 并行化模型自动转换为使用标准线程库(如 OpenMP、
std::thread)或基于任务的运行时的 C/C++ 代码。 - 评估 – 采用典型自动驾驶堆栈(相机/激光雷达处理、轨迹规划、执行器指令生成)的基准,在多核开发板上执行。测量执行时间、CPU 利用率和延迟,并与基线单线程实现进行比较。
Results & Findings
| 指标 | 基线(单线程) | 并行化(扩展 MBP) | 改进 |
|---|---|---|---|
| 端到端延迟(每帧) | 45 ms | 28 ms | 降低 38 % |
| CPU 核心利用率 | ~30 %(单核) | ~80 %(4 核) | 更佳硬件利用 |
| 功耗(平均) | 7 W | 8.5 W | 略有增加,但因更快完成而抵消 |
作者指出,并行化版本能够始终满足感知‑规划循环的典型 30 ms 实时截止时间,而基线在传感器负载较重时偶尔会超出该限制。结果证实,模型驱动的并行化能够在不需要开发者手动编写线程管理代码的前提下,弥合算法复杂度与实时约束之间的差距。
实际意义
- 更快的开发周期 – 工程师可以在熟悉的建模环境中工作,让工具处理并发,减少手动线程带来的错误。
- 可扩展的性能 – 随着自动驾驶平台采用更强大的多核 CPU 或异构 SoC(CPU+GPU),相同的模型只需通过调整资源注解即可重新定位,几乎不费力。
- 安全关键合规 – 由于并行化决策来源于对数据依赖的形式化分析,生成的代码保持确定性,便于认证(如 ISO 26262)和验证。
- 与现有技术栈集成 – 生成的 C/C++ 模块可以直接嵌入 ROS 2 节点、AUTOSAR Adaptive 应用或专有流水线,使该方法兼容当前行业工具。
- 资源感知部署 – 开发者可以通过重新运行模型到代码的流程,快速探索“如果”场景(例如更少的核心、更低的功耗预算),帮助硬件‑软件协同设计。
限制与未来工作
- 评估范围 – 基准测试聚焦于自动驾驶堆栈的子集(主要是感知和规划)。包括高频控制回路和 V2X 通信在内的全栈集成仍未测试。
- 硬件多样性 – 实验在单一多核 CPU 平台上进行;在 GPU、DSP 或异构加速器上的性能尚未探索。
- 运行时适应性 – 当前流水线生成静态并行调度;在运行时进行动态负载均衡(例如传感器频率波动时)留待未来研究。
- 工具链成熟度 – 扩展的 MBP 仍是原型;若要工业采纳,需要与主流建模工具(Simulink、Modelica)及 CI 流水线实现更紧密的集成。
作者概述的未来工作包括将并行化工具扩展到异构架构、加入运行时监控以实现自适应调度,并在量产级自动驾驶车辆上进行大规模现场试验。
作者
- Kenshin Obi
- Takumi Onozawa
- Hiroshi Fujimoto
- Takuya Azumi
论文信息
- arXiv ID: 2512.23575v1
- 分类: cs.SE
- 发表时间: 2025年12月29日
- PDF: 下载 PDF