WeRide旨在为未来提供L4自动驾驶技术。数据访问是开发智能移动性的关键部分。采用Alluxio作为本地缓存层可消除对S3的冗余请求,同时消除了数据同步的复杂性,每位工程师在数据传输中每位问题减少了5美元。那么如何在WeRide上为ML和AI构建跨区域的混合云存储网的问题,其实就是介绍如何利用Alluxio作为混合云数据网,用于本地应用程序访问AWS S3等公共云存储。
新的数据访问体系结构为每个位置提供了本地化的缓存,以消除对S3的冗余请求。除了消除手动数据同步的复杂性之外,Alluxio还直接将数据提供给在同一办公室使用相同数据的工程师,从而避免了与S3相关的传输成本。
WeRide的数据挑战
WeRide是一家在智能移动行业创建L4自动驾驶算法的公司。像所有自动驾驶汽车公司一样,从实况道路测试中不断收集数据,以进行模型训练,算法测试和仿真。
到目前为止,WeRide累计已经实现了200万公里的自动驾驶里程,并且随着更多的测试车辆投入使用,数据收集的速度只会增加。到2020年,每天都会生成TB级的数据,我们预计第二年的数据量将增长10倍。
除了从测试驱动器收集的数据之外,诸如模拟,SIL(环路软件)测试和模型基准测试之类的应用程序每天还会产生数TB的数据。随着我们技术的进步,这些附加应用程序的输出也将继续增长,以覆盖更大的数据集并处理更多的极端情况。
WeRide是一家全球分布的公司,在多个城市设有办事处,包括美国的圣何塞以及中国的广州,北京,上海和安庆。跨办公室的不同团队并行生成和使用数据。我们使用AWS S3作为在不同办公室之间共享的数据湖。
在为我们的自动驾驶汽车设计一种新算法或修复现有算法中的错误时,我们的工程师需要针对现有数据测试该算法。考虑到我们的数据架构,这会导致瓶颈,例如:
1. 开发中的迭代速度很慢:在进行开发或调试之前,开发人员需要将最新数据从云下载到其本地环境。这通常受到下载速度和网络带宽的限制。
2. 高昂和不必要的出口成本:每次从S3下载数据时,出口数据传输都会产生费用。通常,要调试一个问题,数据传输成本总计为5美元。如果多个人进行协作,即使他们正在下载相同的数据,该成本也会进一步增加。
3. 容易出错的数据同步:在WeRide,我们建立了一个自定义数据上传过程,该过程将数据复制到云中并保留存储在NAS或HDFS中的本地副本。为了使工程师更快地访问数据,必须使用本地副本,但这会导致数据同步问题。当前,我们通过运行cron作业来定期清理本地数据来维护本地副本。
使用Alluxio的新架构
经过调查,我们意识到以下架构将带来巨大的好处:
1. 始终将S3视为唯一的事实来源,以消除不同办公室之间的数据冲突。
2. 在S3之上部署本地缓存系统以应对每个办公室的按需工作负载,以加快开发速度。
但是,从头开始构建内部缓存系统可能很昂贵,并且对于WeRide的业务需求而言是不必要的。我们决定探索现有技术以满足我们的需求并满足以下要求:
1. 它是一种低成本或免费的成熟技术,已经过大规模数据访问的严格测试;
2. 它易于使用,易于集成,不会引入新的ETL作业;
3. 当预算允许时,它允许我们通过使用更好的硬件进行扩展。
考虑到上述标准,Alluxio成为加速我们的数据访问的首选。除了与S3兼容之外,它还通过其POSIX和HTTP端点提供了易于访问的接口。作为一种开源技术,我们可以将其合并到我们的系统中,而不会增加额外的业务成本。
在每个办公室中,我们都使用S3作为事实来源,将Alluxio部署为小型本地群集。道路测试数据直接上传到本地的Alluxio群集中,同一办公室的工程师可以立即使用。同时,Alluxio会在后台自动将道路测试数据上传到S3。当其他办公室的工程师希望使用道路测试数据时,他们可以通过其本地的Alluxio集群提出请求。如果由Alluxio缓存,则数据将立即返回;否则,将从S3中获取数据。为了进一步减少从S3获取新数据的时间,我们与Alluxio团队合作实施了分布式加载命令,该命令可以打开多个同时连接以下载数据。该功能已添加到Alluxio 2.1.0版本中。
使用Alluxio,从云中获取的应用程序数据也将在本地缓存。如果数据不是从同一办公室上载的,这以前是不可能的。在工程师想要查看同一办公室中另一位工程师的模拟结果的常见情况下,数据立即可用。
通过将新的实现与Alluxio结合使用,我们观察到以下改进:
· 通过具有用于访问数据的单个接口,降低了数据同步的复杂性,并且无需维护自定义本地副本
· 开箱即用的云数据缓存解决方案
· 快速访问数据是工程效率的关键因素
· 减少了下载冗余数据的S3数据输出成本
下一步
现在,通过Alluxio进行数据传输是将办公室本地数据与云中数据连接的关键组成部分。为了进一步改善系统,我们正在与Alluxio团队合作添加与数据传输策略有关的功能。诸如在工作时间内限制上传带宽或确定某些文件类型的优先级之类的功能将对我们的工程师有所帮助。
以上就是关于如何在WeRide上为ML和AI构建跨区域的混合云存储网的全部内容介绍,想了解更多关于人工智能的信息,请继续关注中培教育。