张玉兰 | 中国汽车工程研究院股份有限公司 数智中心数据运营专家
—— 本文收录于《话数 · 第3期》
【摘要】随着智能汽车感知系统向多模态演进,视频、点云、车载总线等异构数据激增,带来严峻存储挑战。本文从数据、应用、管理三层剖析存力瓶颈,探讨对象存储+加速层、并行文件系统、融合架构等主流方案在训练效率与成本间的权衡,并提出面向未来的数据平台设计方向,支撑算法迭代与智能应用落地。
一、现状及挑战
针对数据规模及应用价值最大的智能驾驶研发场景,其涉及数据的采集、标注、训练、仿真等全流程,不同阶段对存储需求各异。本文从数据、应用、管理三个维度分析当前面临的主要挑战。
1. 数据维度的挑战
1)小文件风暴与元数据瓶颈
自动驾驶数据处理中,会将长时视频拆解为数以百万计的图片帧,产生海量小文件,在训练阶段需频繁访问大量小文件,带来严重的元数据操作压力。传统单机文件系统难以支撑数十亿文件的元数据压力,传统HDFS存算一体方案亦难线性扩展元数据性能。元数据处理能力成为小文件并发读取的关键瓶颈。
2)冷热数据失衡与存储成本
智能汽车数据中仅少量“热数据”(近期采集的关键场景、难例数据等)被频繁访问,绝大部分长期沉淀为不可删除的“冷数据”。若全部存放于高性能介质,成本将随规模激增;但冷数据下沉至低性能存储又会导致访问延迟过高。如何自动识别冷热并实现分层存放,成为平衡性能与成本的关键难题。
2. 应用维度的挑战
1)多阶段数据孤岛与搬移
自动驾驶研发链条长,涉及采集、清洗、训练、仿真等环节,各环节使用不同存储系统。阶段间常靠脚本导出、转换、导入,导致流程繁琐、数据冗余与孤岛并存。每环节保存副本,既浪费存储,又难以同步更新,严重阻碍数据在算法闭环中的高效流转,影响研发效率。
2)算力受限与训练阻塞
在模型训练与仿真阶段,GPU是最昂贵的计算资源,但传统单机文件系统或集中式存储架构受限于存储侧单节点I/O吞吐与元数据处理能力,在高并发访问场景下难以支撑训练负载,GPU利用率常低于50%。尤其在小文件随机读取场景中,单个存储节点或集中式元数据服务成为性能瓶颈,无法向大量GPU计算节点持续提供数据,导致计算节点频繁等待I/O、GPU空转,训练任务被阻塞甚至失败。训练效率已被“存力”而非“算力”所限制。要真正释放AI算力潜能,必须同步提升存储系统的并发访问与元数据服务能力,实现存储侧与GPU计算节点之间的高效协同。
3. 管理维度的挑战
1)集群弹性与扩展复杂
自动驾驶数据规模动辄PB级,训练高峰期常需上万节点并发访问,低谷期又闲置严重,要求存储系统既能支撑高并发,又具弹性扩缩能力。实际中,传统单机文件系统分布式存储常见客户端挂载失败、元数据同步滞后等问题,且节点与磁盘扩展后,若缺乏负载均衡与自愈机制,运维压力骤增。因此,架构的可扩展性与易运维性正成为关键考量。
2)数据安全与可靠性
海量路测数据是研发基石,任何丢失都可能造成重大损失。传统备份难以应对PB级数据,传统的方案采用多副本冗余与跨域容灾架构。但多集群部署需引入复杂的一致性保障机制,若容灾设计不合理,单集群故障就可能中断整体流程。因此,如何在大规模下实现自动容灾与副本同步,确保平台7×24小时稳定运行,是管理层面关键挑战。综上,智能汽车数据“量大冷热悬殊、链长易成孤岛、系统规模庞大且频繁变动”,存储架构唯有同时应对管理、应用、运维三大挑战,方能筑牢自动驾驶研发的数据底座。
二、存储架构设计与优化
为破解上述挑战,本文设计了一套贯通采集到训练的智能汽车数据存储架构,以并行文件系统+对象存储为核心,连接预处理环节与GPU集群。架构重点优化分布式元数据、小文件处理、多级缓存、分层存储、多协议支持与跨域容灾机制,兼顾性能与成本,逐一化解前述瓶颈。
图1 智能汽车数据存储架构
1. 分布式元数据服务与小文件I/O优化
智能驾驶训练数据以视频帧、点云切片及标注文件等小文件形态为主,在高并发访问场景下,目录遍历、inode查找与权限校验等元数据操作成为制约存储I/O吞吐与GPU利用率的主要瓶颈。针对集中式元数据在文件规模和并发访问下的扩展受限问题,通过在训练加速层引入并行文件系统与分布式元数据服务,按目录或命名空间对元数据进行分片,将请求分散至多节点处理,实现元数据处理能力的线性扩展并与数据路径解耦。工程实践表明,在亿级文件规模和并发训练场景下,结合小文件聚合、元数据缓存与批量预取机制,可显著降低训练过程中的元数据访问频率,保障GPU训练的数据持续供给,从而有效缓解“存力制约算力”的问题。
2. 存算解耦的数据湖架构
为兼顾海量数据存储与计算弹性,架构采用“存算解耦”设计,分别扩展存储与计算资源。底层以对象存储构建数据湖,提供低成本、近无限容量,适配自动驾驶数据爆炸与模型迭代频繁等需求。但对象存储延迟相对较高,缺乏文件语义,难以直接支撑训练。为此,在对象存储上叠加并行文件系统作为加速层,提供POSIX语义、高并发访问与本地缓存能力。在业内典型落地实践中,并行文件系统叠加对象存储可将小文件访问时延降低50%-80%,随机读写吞吐提升2-3倍,训练前处理时间缩短30%以上,业内多家头部车企均已在自动驾驶数据湖中采用类似架构并通过验证。
3. 多级缓存与数据访问加速
为降低远程对象存储带来的访问延迟,架构引入多级缓存体系对数据路径进行加速。第一级,在计算节点本地部署高速缓存(如NVMe SSD或内存),用于就近缓存热点数据和元数据,提升命中率、减少重复I/O。在自动驾驶训练中,合理配置本地SSD缓存可显著提升吞吐性能。第二级,在存储集群侧设分布式共享缓存,多个节点可共享已加载数据,避免重复从对象存储拉取,提升多节点训练效率并减轻网络压力。为确保缓存持续可用,缓存服务独立于训练节点运行,即使容器频繁扩缩也不丢失数据,保持稳定命中率。整体而言,“本地缓存+集群缓存+高速网络”构建出高效的多级加速链路,在保障训练性能的同时,避免盲目堆砌硬件,助力性能与成本兼顾。
4. 分层存储与冷热数据管理
为兼顾性能与成本,架构采用分层存储策略:将高频访问的热数据存放于NVMe SSD、并行文件系统等高速介质,低频访问的冷数据自动下沉至大容量HDD等低成本存储。系统通过策略引擎持续监测数据访问特征,结合最近最少使用(Least Recently Used,LRU)、最不经常使用(Least Frequently Used,LFU)等策略或预测模型识别冷热数据,并在后台完成自动迁移与异步预取,避免对训练任务造成性能影响。该冷热分级治理机制实现了“热数据高性能、冷数据低成本”的目标,有效支撑PB级多模态数据的高效管理。在部分车企自动驾驶模型训练与仿真数据管理实践中,通过实施冷热数据自动下沉,高性能存储压力显著降低,缓存命中率提升至少2倍,训练准备阶段数据加载时间缩短至少20%。
5. 多协议支持与统一数据平台
以自动驾驶模型训练为例,其研发流程涵盖路测数据采集、离线清洗与特征处理、GPU集群训练及结果归档等多个阶段,不同阶段对数据访问模式与性能特征要求差异显著。为避免多系统割裂带来的数据迁移与重复拷贝,架构构建了多协议融合的统一数据平台,在统一命名空间下兼容POSIX、HDFS、S3等访问协议并实现语义一致,性能无损互通。在该流程中,路测阶段通过POSIX接口支撑多源并发写入与低延迟落盘;数据清洗阶段利用HDFS接口适配大规模顺序读写与计算框架;模型训练阶段通过POSIX接口直接加载清洗后的数据以满足GPU训练的高吞吐与随机访问需求;训练结果与中间产物最终经S3接口统一归档。通过按阶段匹配最优访问协议,实现数据在采集、清洗与训练环节间的免迁移、免拷贝流转,显著提升自动驾驶模型训练全流程的数据处理与计算效率。
6. 弹性架构与自动容灾实践
在集群管理上,架构采用无共享分布式设计,存储节点对等组成集群,支持弹性扩缩:训练高峰可临时扩容节点提升并发能力,低峰期则释放资源,确保性能与成本的动态平衡。新节点可平滑加入,容量和吞吐线性增长,适配不断变化的负载需求。为保障数据安全,系统内置多副本冗余与自愈机制:数据以多副本或纠删码分布存储,节点故障时自动从其他节点接管并恢复副本,同时后台重平衡数据,完成故障修复,减少人工干预。针对更高级别容灾,支持跨数据中心的多活部署,通过异地集群同步元数据与对象数据,或将对象存储映射为本地系统,构建协同灾备能力。即使遭遇节点或机房级故障,也能快速恢复不中断,保障7×24小时支撑研发任务。弹性+容灾的架构设计,为智能汽车等对数据高度依赖的场景提供坚实保障。
架构采用Shared-Nothing设计,节点可平滑加入或退出,实现存储容量与吞吐的线性扩展,支持按需弹性伸缩。系统内置多副本/纠删码与自愈机制,可在节点故障时自动切换与恢复数据。进一步支持跨数据中心多活与异地同步,实现云边协同的自动容灾,确保研发任务7×24小时稳定运行。弹性+容灾的架构设计,为智能汽车等对数据高度依赖的场景提供坚实保障。
三、结语
综上所述,本文所提出的多模态数据存储架构已在自动驾驶训练场景中验证其价值:通过分层存储、多级缓存与多协议融合,显著缓解小文件访问瓶颈,提升训练吞吐并降低整体成本,有效支撑PB级数据的高效流转。面向下一阶段,随着智能汽车数据持续增长,架构优化将重点围绕更智能的冷热治理、更高效的跨协议访问及面向未来高效协同、弹性扩展能力展开,进一步提升多模态数据的处理效率,为规模化智能驾驶研发提供持续算力与存力保障。