近年来,随着深度学习和人工智能的突破,以及无人配送车、无人出租车、无人公交车等智能驾驶场景的逐步深入,自动驾驶行业获得了越来越多的关注和进步。然而,要想真正实现在路上行驶,许多技术问题仍然需要解决。作为车辆路径规划的基础之一,感知系统需要通过“数据训练”夯实基础,以监督学习的方式向算法提供数十PB的训练数据,并通过它生成具有通用感知能力的模型,帮助自动驾驶汽车更好地感知实际道路、车辆位置,障碍物信息等方面,从而达到实时感知途中风险并做出具体行为决策的目的。随着越来越多的雷达、摄像头等传感器部署在车内,各个环节的工作量与日俱增,尤其是高性能自动驾驶汽车对数据存储有着巨大的需求。一天内生成的数据量可以达到3-8 TB左右。因此,如何高效、稳定地保证自动驾驶过程中收集的大量数据,并快速形成自动驾驶的计算模型,成为各大自动驾驶企业首要关注的问题。
本文中,延融科技将以国内一家专注于L4级自动驾驶技术研究与应用的自动驾驶公司为基础,分享YRCloudFile在自动驾驶培训场景中IO模型、容器化部署、性能提升、智能分层等方面的实践经验和启示,围绕自动驾驶出行和自动驾驶本地货运两大场景,希望能为相关从业者解决类似问题提供一些参考和帮助。海量数据,每一分钱都要争。此前,国内一家L4级自动驾驶公司主要采用开源存储解决方案,以融合的形式部署GPU计算和存储。但随着文件数量的增加,性能明显下降,原有的存储方式逐渐开始影响训练效率。因此,他们开始考虑升级现有的存储解决方案。在升级过程中,该公司专注于并解决以下问题:·如何在日益海量的数据场景中提高设备性能并加快培训进度·尽管开源解决方案有能力解决海量文件,但随着数据量的增加,如何确保产品稳定性,避免难以维护的问题·如何解决在集成存储和计算架构下无法根据需求独立扩展的问题·怎样解决数据收集、清理和培训过程中产生的冷数据问题。YRCloudFile如何回应?在了解了公司的驾驶培训场景后,延融科技对其自动驾驶培训数据集进行了一系列分析,总结出其培训数据具有以下特点:·数据文件庞大,培训数据集中的文件数量从数十亿到数十亿甚至数百亿不等·小文件难以管理,大多数文件的大小从几千字节到几兆字节不等,有些功能文件的大小只有几十到几百字节·读得多写得少。将数据写入存储器后,将根据训练要求执行多次读取。针对上述特点,延融科技提供了一系列高性能、高可用、可扩展的存储解决方案,从元数据处理能力、目录热点、多级智能缓存、定向调优到智能分层。
Yanrong YRCloudFile自动驾驶应用场景的工作流01元数据处理能力是处理海量数据文件的基石。在面对海量文件时,由于MDS无法及时响应读写请求,很容易遇到无法充分利用预期性能的情况。如果你想突破存储瓶颈,主要的解决方案是提高元数据的处理能力。为此,延融科技选择通过横向可扩展的MDS架构来实现MDS集群。这主要是c……
从以下三个方面考虑:第一,MDS集群有利于缓解CPU和降低内存压力。第二,多个MDS有利于企业存储更多样化的数据信息。第三,在扩展元数据处理能力水平的同时,提高对海量文件的并发访问性能。目前,Yanrong YRCloudFile主要采用静态子树和目录哈希相结合的方式来构建水平可扩展的MDS架构,主要包括三个主要元素:·在MDS节点固定根目录·每个级别的目录都将基于条目名称进行哈希,并且将再次选择MDS以确保水平扩展的能力。在目录中文件的元数据存储过程中,不再进行哈希,而是在与父目录相同的节点上进行哈希,以确保一定程度的元数据本地化。这种体系结构方法有两个好处。首先,它实现了元数据的分布式存储,通过扩展元数据节点,可以支持数百亿的文件数;其次,在一定程度上保证了元数据的检索性能,减少了对元数据检索和多节点操作的需要。02目录热点,解决热点带来的问题的关键是大数据集群中无数的目录和文件数据。因此,在自动驾驶汽车的训练过程中,如果多个计算节点需要同时读取这批文件,那么它所在的MDS节点就会成为热点。整体结构如下图所示:
为了进一步完善小文件的过滤和治理流程,延融科技采用了添加虚拟子目录的方式。尽管这种方法增加了一层目录查询操作,但它具有很强的灵活性,可以将热点分配给集群中的所有元数据节点。同时,这种解决方案还可以解决另一个问题——单个目录中的文件数量问题,使单个目录能够支持大约20亿个文件,并根据虚拟子目录的数量灵活调整。整体结构如下图所示:
我们可以尝试通过访问/dir1/dir2/file1来了解虚拟子目录是如何实现的。在这里,我们假设dir2已经启用了dirStripe功能。主要访问过程如下:获取MDS1上根目录的inode信息,检查dirStripe是否未启用以获取MDS1中dir1的dentry信息,查找已获取mds2中dir1 inode信息的所有者(mds2),检查是否未启用dirStripe以获取mds2上dir2的dentry信息,找到在mds3上获取了dir2的inode信息的所有者(mds3),根据file1的文件名检查是否启用了dirStripe,Hash到虚拟目录2,获取mds3上虚拟目录2的dentry信息。找到所有者(mds4),获取mds4上file1的inode信息,并将其返回给客户端。在整个模拟测试过程中,我们模拟了多个客户端同时访问同一目录。完成后,我们通过比较发现,目录拆分的性能提高了10倍以上。03多级智能缓存,提高整体性能的最佳实践。由于自动驾驶训练数据类型众多,无法估计为不同数据信息存储的数据量。因此,普通的文件缓存往往只提供内存缓存,导致容量有限。通常,GPU服务器只有几十GB的可用内存缓存;
同时,它还容易出现内存缓存LRU替换算法和每个历元中历元缓存命中率低的问题。为了解决上述问题,Yanrong YRCloudFile客户端采用了多级智能缓存功能,可以提高整体性能:·在客户端缓存过程中,它由内存缓存和GPU服务器本地SSD缓存组成·可以指定缓存大小和位置·训练程序首先从客户端内存缓存加载,如果未命中,它是从客户端服务器SSD加载的。如果未命中,则最终从文件系统集群加载。对培训框架和应用程序完全透明。
通过Yanrong YRCloudFile提供的解决方案,YRCloudFile客户端多级智能缓存工作图可以在整个训练过程中使数据集加载速度提高5倍。04有针对性的调整和优化解决方案,以提高存储性能。大多数存储制造商在产品规划、产品稳定性、技术服务等方面更加专业。在现场POC测试过程中,Yanrong YRCloudFile进行了测试,包括但不限于功能、性能、可靠性和其他方面。我们发现集群的性能已经超过了原始存储系统的性能,但还没有达到预期值。因此,我们可以通过对现场环境的分析,提出以下优化措施:1。增加节点上的sock数量以获得更大数量的连接;2.调整线程工作者的数量,使其与访问次数相匹配;3.调整收听线程的数量;
4.调整轮询策略,以平衡响应速度和CPU资源。经过测试,YRCloudFile可以通过有针对性的调整,将上述存储参数的调整性能提高20%-30%。05智能分层,数据流的最佳决策。了解数据存储的朋友都知道,访问频繁的数据是热数据,访问较少的数据是冷数据。然而,一旦冷数据过多,不仅会占用大量存储空间,还会增加存储成本。为了解决这些问题,Yanrong YRCloudFile专门在文件存储系统的目录级别提供了智能分层功能。通过将高性能文件存储与低成本对象存储相结合,有效实现了人工智能等新兴业务对热点数据的持续使用,提供高性能访问。同时,冷数据可以有效地保存在用户现有的低成本对象存储中。目前,Yanrong YRCloudFile智能分层技术可以支持以下功能:·根据不同的目录,可以定义不同的冷热数据和数据流策略·冷数据自动流到低成本的对象存储·提供标准的POSIX接口,使冷热数据层之间的数据流对业务完全透明。通过对冷热数据进行智能分层,我们旨在满足绝大多数企业在自动驾驶培训期间对高性能存储和长期数据保存的需求。此外,对于绝大多数客户应用场景来说,数据具有周期性热访问的特点:经过一定时间后,80%以上的数据逐渐变冷,不需要使用高性能的存储资源和介质来存储这些冷数据。针对分阶段热访问数据的特点,Yanrong YRCloudFile文件存储系统提供的智能分层功能可以根据客户需求定义热数据和冷数据。冷数据自动流向对象存储,并且仍然为企业提供标准的POSIX文件访问接口。热数据层和冷数据层之间的数据流对企业来说是完全透明的。
总体而言,Yanrong YRCloudFile的智能分层技术具有以下特点:·冷数据的性能不降低,并采用本地读写模式来确保冷数据的读写性能·根据冷数据的最后访问时间灵活定义分层策略。支持为不同的目录定义多个不同的执行周期,以及按天、小时或分钟定义数据刷新操作的最后访问时间。支持本地和云环境,支持本地对象存储和公共云对象存储,并为不同目录定义不同的对象存储。同时,在多云混合环境中,不同目录的数据可以实时下载到不同的公共云对象存储中。分层镜像双重活动支持数据实时向下刷新到本地和公共云对象存储器,确保数据安全和业务连续性。读取数据时,默认优先级是读取本地对象存储,以确保读写性能。如果出现本地故障,请再次读取公共云上的文件。目前存储了用于自动驾驶场景的YRCloudFile无缝集成容器。为了提高自动驾驶训练和测试的效率,大多数制造商和人工智能应用程序都选择在Kubernetes平台上以容器为应用程序运行载体运行人工智能训练和推理任务。Kubernetes在人工智能训练方面有两个主要优势:首先,Kubernets支持GPU调度,这可以减少协调GPU资源所需的人力。同时,可以实现GPU资源的自动回收,实现资源的有效分配。其次,Kubernetes支持多种负载调度方式,适应不同的业务场景,作业与培训任务的兼容性非常高。
在自动驾驶培训过程中,存储系统在与容器场景对接时经常会遇到以下问题:·使用树内型存储代码,如CephFS、GlusterFS、NFS等,导致Kubernetes与存储供应商代码之间的紧密耦合。·更改树内型存储代码需要用户更新Kubernete组件,这是昂贵的。树内存储代码中的错误会导致Kubernetes组件的不稳定。树内存储器插件享有相同的特权……
作为Kubernetes的核心组件,这会带来安全风险;仅支持一些功能,如访问模式、PV管理和故障。Yanrong YRCloudFile从设计到实现的主要场景是解决Kubernetes环境中基于容器的应用程序的存储访问需求。Yanrong YRCloudFile通过支持CSI和FlexVolume等插件支持AI场景容器持久化存储,并根据客户实践和应用优化容器场景的功能:·在大规模光伏场景中,快速定位光伏热点,支持RWO、RWX等多种读写模式。实现光伏CSI的智能调度。依托光伏快速跨节点重构Pod。呈现Pod、PV和PVC的实时监控和关联关系。YRCloudFile渗透自动驾驶存储增长的整个链条
YRCloudFile的高性能分布式文件存储体系结构图是基于YRCloudFile的集成。这家L4级自动驾驶公司突破了存储性能瓶颈,完美整合了容器服务,完成了数据跟车服务。此外,通过快速定位光伏热点,该公司实现了Pod、PV和PVC的实时监控和关联等创新管理功能,提高了集装箱管理效率。目前,借助Yanrong YRCloudFile高性能、高可用、易于扩展的分布式存储支持平台,L4级自动驾驶公司可以轻松应对海量小文件性能和容量的挑战。同时,它满足了未来的扩张需求。未来,公司员工将大大减少在存储系统管理、配置和故障排除方面的时间,并将更多精力投入到业务培训中。
2021年12月2日,赛力斯在重庆两江智慧工厂发布高端智慧汽车品牌AITO。
1900/1/1 0:00:0012月8日,威马将正式向W6用户推送livingmate33版本升级软件。延续实用、灵敏、好玩的产品特性,本次OTA从智能驾驶和人车交互两大层面进行了体验提升。
1900/1/1 0:00:002019年起,一汽大众迈腾GTE和探岳GTE的先后上市构建起GTE家族产品矩阵。
1900/1/1 0:00:00近日郑州正式发布了“关于市区道路交通管理措施的通告”。
1900/1/1 0:00:002021年12月1日,由华晨宝马主办的可持续发展之旅成果展示活动在华晨宝马大东工厂盛大开幕,同时作为提升华晨宝马可再生能源供给能力的太阳能光伏系统在大东工厂正式启用。
1900/1/1 0:00:00唐人联盟资讯唐人联盟唐天胜报道即将过去的2021年国内新能源汽车市场已进入“下半场”争夺竞争日趋白热化。唐人联盟唐天胜指出造车新势力热度不减。特斯拉市值破万亿中国市场销量一枝独秀。
1900/1/1 0:00:00