Arm于9月15日宣布了SOAFEE(Scalable Open Architecture For Embedded Edge)软件框架项目。其他公司也参与其中,预计会有更多的公司加入。Arm将SOAFEE定义为一个开放的可以实时运行并具有安全意识的软件架构。
该软件架构使云技术与汽车功能安全和实时要求相结合。SOAFEE正处于原型设计和早期开发。
这是Arm走的很好的一步,而且很可能会成功。SOAFEE利用了汽车软件开发的许多增长趋势,包括使用云平台以及相关技术和生态系统。SOAFEE还将受益于汽车行业对SaaS日益增长的需求。
下表总结了Arm SOAFEE项目的情况。
SOAFEEE解读
该开源参考项目是一个用于云软件开发的软件框架,以嵌入式汽车代码为形式部署。
SOAFEE的目标是利用云原生开发的优势来解决汽车复杂的挑战和限制,如功能安全和实时控制。云原生包括一些技术、工作流程和设计策略,可以改善汽车软件的开发、部署和更新,从生产到车辆整个生命周期。
SOAFEE还利用了Arm早期的两项计划,Project Cassini和Arm SystemReady。Project Cassini是一个开放、协作、基于标准的计划,在Arm的边缘生态系统中提供云原生软件。这个项目利用不同的、基于Arm的平台,为边缘应用创建一个安全基础。
SystemReady是一个基于一套硬件和固件标准的合规性认证计划。这些标准包括基本系统架构和基本启动要求规范,以及特定市场的补充。
一个特别兴趣小组已经启动,但到目前为止还没有网站。已经支持SOAFEE的20家公司都是SIG成员,预计还有更多的公司会加入。
云原生
SOAFEE对于开发基于Arm平台的汽车软件具有多重优势,加速了汽车软件开发和部署的云原生技术。
软件在基于Arm的硬件和软件平台上的可移植性将提高。由于有更好的开发工具,软件质量也有望得到改善。基于更快的开发时间和更低的成本,代码数量也应该增长。
许多优势都是基于SOAFEE使用的技术,总结如下。软件容器是负责SOAFEE许多优势的一个关键技术。
云原生技术已经成功地应用于云软件开发,且是SOAFEE框架的核心。这些技术是软件容器(software containers)、微服务架构、协调器和DevOps。下面是Arm解释其SOAFEE方法的白皮书的摘要。
容器技术对于汽车软件来说也许是最重要的。可以类比于航运集装箱,集装箱在运输过程中让货物彼此隔离,保护货物不受天气和盗窃的影响。
软件容器包括应用程序代码、配置文件、库和运行应用程序所需的依赖项。容器可以被认为是一个虚拟应用程序,可以被移植到其他系统。然而,容器与特定的操作系统以及其硬件和软件能力相关联。
软件容器在云部署和数据中心中运作良好。SOAFEE使用同样的技术进行云开发,并在汽车ECU中进行部署。
顾名思义,微服务是一种面向服务的架构方法,其中应用程序被构建为小型独立服务单元的集合。这种软件工程方法的重点是将一个应用程序划分为具有明确接口的单一功能模块。在云原生部署中,微服务被封装在一个容器中。这使得微服务能够在定义的容器运行环境中执行,并且部署可以由协调器管理和监控。
微服务被定义为松散耦合,因为一个服务的变化不应影响另一个服务的性能。这意味着微服务可以在与系统的其他部分隔离的情况下进行测试。这种结构使复杂的系统在对完全组合的系统进行集成测试之前,可以对单个服务进行分割测试。
协调器是云原生生态系统的重要组成部分,管理基于微服务的应用程序的配置、部署和监控。协调器使用多个标准接口:
- 容器运行时的接口,在协调器和容器运行时之间。
- 容器网络接口,用于配置和控制网络、防火墙和其他组件的标准。
- 容器存储接口,用于向容器实例公开可用的存储。
- 设备插件,用于实现对容器内系统资源的管理访问。
协调器使用这些接口来管理复杂的应用程序部署,支持微服务之间的通信和访问正常运行所需的数据。
有几个协调器选项,其中Kubernetes正在成为一个默认的行业标准。Kubernetes也被称为K8s,是一个开源的协调器,用于自动化部署、扩展和管理容器化应用程序。轻量级的Kubernetes或K3s占用空间较小,更适合于嵌入式和资源有限的环境。
云原生的工作流程方面被称为DevOps,开发工作流程与部署操作相结合。将这两个学科以定义和管理的方式结合起来,可以简化应用程序的开发、部署和持续改进。
DevOps对于在汽车生命周期内管理汽车软件会特别有用,包括网络安全、OTA错误修复和功能软件更新,以及不断增长的SaaS数量。
云原生增强
SOAFEE利用云原生框架,从最佳实践和标准中获益。然而,汽车软件需要增强云原生技术。这包括使用混合应用和实时处理器的异构计算架构部署ECU的能力,包括一系列加速器。
通过工作组,Arm及其合作伙伴旨在了解当前云原生技术的差距,并与相关标准机构合作。合作将有助于缩小差距,使云原生框架能够应用于汽车领域。
由于汽车软件的安全性和实时性要求,最需要对协调器进行增强。增强的例子包括I/O带宽和保证执行时间。协调器还必须能够表达汽车软件的额外运行时的要求。
下一步是增强容器运行时间以满足汽车需求。首选路径是使用一个虚拟化的容器运行时。SOAFEE开发人员正在与开放容器倡议标准机构合作,以实现容器运行时间的增强。
DevOps的增强必须针对汽车测试和验证,从云活动到实验室开发到车内试驾。用于CI/CD(即持续集成/持续开发)的云原生技术也将过渡到汽车软件,以提供额外的能力。
SOAFEE的一个关键价值主张是汽车软件平台和应用程序的可移植性和重复使用。为了实现可移植性,加速器和高带宽IO设备需要增强。功能安全和实时能力也是其中一部分。
VirtIO是一个标准化的接口,允许虚拟机访问简化的“虚拟”设备。SOAFEE正在探索VirtIO如何能提供帮助。
这些用于汽车应用的云原生增强功能仍然是一项正在进行的工作。
可用性
SOAFEE参考软件堆栈的初始版本现在已经推出,可以开发云原生汽车软件。
为了使用SOAFEE软件框架,开发人员需要一个参考硬件平台。ADLink科技提供了两个平台。一个用于实验室开发的系统有32核Ampere Altra SoC。还有一个强大的参考硬件平台,使用80核Ampere Altra SoC用于车载测试。
该参考硬件和软件框架能够开发和测试基于SOAFEE的ECU,用于驾驶舱、ADAS、AV和动力总成应用。
Arm将需要更多的硬件和软件组件来建立一个强大的云生态系统和配套的嵌入式汽车产品。这需要时间,但Arm已经有了一个很好的开始。
SOAFEEE的竞争
Arm的SOAFEE战略很可能会成功,但也有竞争的空间。
许多公司已经接受了云平台来开发汽车软件。如果生态系统按预期发展,这些进入者很可能会逐渐转向SOAFEE。因此,他们不太可能成为直接竞争对手。
领先的处理器平台公司可能是竞争对手,最明显的是Intel。即使Nvidia对Arm的收购没有成功,它也可以利用SOAFEE。但SOAFEE竞争的机会窗口很短。
为什么呢?因为Arm处理器在所有ECU领域都占主导地位。一旦拥有Arm兼容系统和软件的主要OEM、Tier1和主要芯片制造商开始使用SOAFEE,这场战斗就会胜利。这可能在两年内发生,使SOAFEE成为事实上的标准。
总结
汽车软件行业在开发新的应用软件和系统软件时已经在向云软件平台转移。SOAFEE增加了用于IT和云计算应用的能力,但具有汽车部署所需的特定能力。
SOAFEE将为云开发增加实时操作和安全能力,并为部署在ECU中的嵌入式软件平台增加同等能力,在汽车的生命周期内。
Arm将SOAFEE定位为成为汽车云原生软件开发的实际标准。
SOAFEE没有为Arm带来新的收入,至少目前没有。然而,它增加了处理器竞争对手进入汽车市场的障碍,这个障碍已经相当高了。
虽然Arm的战略很可能会成功,但关于SOAFEE将如何影响汽车软件业务和供应链的各个部分仍有许多值得观望的地方。
[参考资料]
Arm’s SOAFEE Brings Automotive to the Cloud — Egil Juliussen