https://community.arm.com/arm-community-blogs/b/automotive-blog/posts/device-virtualization-principles-for-real-time-systems
作者:Alexandre Romana 2023年3月23日
电动汽车市场份额的上升和未来所需内燃机的减少正在改变汽车行业。人们可能会认为这会简化车辆设计,但随着驾驶员辅助技术成为一个关键的区别,它们实际上正在成为真正的“车轮上的数据中心”。此外,汽车驾驶员已经习惯了基于消费者的娱乐体验,这必须反映在未来的座舱设计中。一些高端汽车目前包含超过1亿行代码,到下一个十年,全自动驾驶汽车预计将达到5亿辆。相比之下,一架现代商业航空公司的飞机“只”包含大约1400万行代码。
与任何一种激进的变革一样,向软件定义的车辆过渡也带来了很多挑战。幸运的是,为了应对这些挑战,该行业可以依靠一个强大的概念来帮助管理这种指数级的复杂性:虚拟化。
虚拟化的好处
当谈到汽车行业的虚拟化时,首先想到的好处是急需的硬件整合。事实上,转向具有区域控制器的集中式架构可以降低成本,并有助于减轻当前芯片短缺问题和供应链依赖性的影响。它还降低了线束的重量和复杂性,同时大大节省了开发、测试甚至工具链投资。
虚拟化对于满足日益增长的车内定制功能和功能的需求是不可或缺的。它创造了一种市场差异化的车辆用户体验,因为虚拟化通过开放和灵活的环境促进了创新和创造力。
虚拟化也是汽车云化的一个关键要求,它可以释放新的用例,并实现云原生环境的所有好处。从软件实践的角度来看,它实现了开源模型、持续集成/持续开发(CI/CD)、微服务、工作负载容器化,并加快了空中传送(OTA)更新。它还减少了开发人员的摩擦,降低了风险,同时缩短了上市时间。虚拟化甚至可以通过实时迁移实现边缘计算卸载。
能够快速发展软件的汽车供应商将获得决定性的竞争优势,因为他们可以提供最佳的安全保障。这就是为什么Arm与领先的行业合作伙伴一起,通过SOAFEE(https://www.soafee.io/),一种新的汽车软件架构和开源参考实现,改变了软件定义的行业未来。这种行业领先的协作将汽车的实时和安全需求与云原生方法的优势结合在一起。
合并的潜在后果
这种整合的结果是,必须共享急需的硬件加速器,如GPU和外围接口,如以太网,同时仍保持所需的性能和隔离水平。在虚拟化环境中,这通常是通过让特定的虚拟机(VM)处理共享来实现的。然而,此解决方案可能存在以下缺点:
. 对于单个VM来说,由此产生的计算负载可能太大
. 它可能会造成传输拥堵
. 可能会出现效率低下的情况,例如使用数据拷贝
. 摆脱干扰和可预测性变得更加困难
. 它可能会启用拒绝服务(DoS)攻击
. 成功的网络攻击可能会传播到其他虚拟机。
这种情况的一个潜在解决方案是支持硬件虚拟化,如Arm Mali-G78AE GPU(https://www.arm.com/products/silicon-ip-multimedia/gpu/mali-g78ae),每个虚拟机可以直接访问其自己分配的外围设备。这有助于实现接近裸金属的性能。
正如我们通过Arm Cortex-R52(https://www.arm.com/products/silicon-ip-cpu/cortex-r/cortex-r52)和未来的汽车芯片Armv8-R CPU支持的设备虚拟化和分区示例所看到的,必须权衡不同的选项。还必须进行权衡,为每个用例找到最佳解决方案。
今天题为“实时系统的设备虚拟化原则”(https://armkeil.blob.core.windows.net/developer/Files/pdf/white-paper/device-virtualization-whitepaper.pdf)的白皮书旨在提供指导,以了解哪些不同的选项最适合虚拟化基于Armv8-R的系统上构建的设备。正如您在白皮书中所看到的,并不是所有的解决方案都适用于给定的用例。系统架构师必须仔细选择硬件中应该支持哪些设备共享模型。然而,无论选择哪种方法,都应遵循本白皮书中解释的原则,将特权模型扩展到设备,作为安全保障的基础。为了加快未来汽车EE架构的采用,并降低共享电子控制单元(ECU)的软件集成成本,行业必须建立一套众所周知的设计模式和最佳实践,以解决设备虚拟化问题。
全新Arm白皮书
虚拟化并非没有成本。在变得更加开放和安全的同时保持安全性和可预测性可能具有挑战性。所需的软件整合工作要求改变当前的做法。在Arm,凭借我们在虚拟化和云原生环境方面的历史,我们在去年9月发布的“Armv8-R Cortex-R52+软件整合的最佳实践”白皮书(https://armkeil.blob.core.windows.net/developer/Files/pdf/white-paper/best-practices-for-armv8-r-cortex-r52-st2-whitepaper.pdf)中提供了指导。然而,通往软件定义车辆的道路远非一帆风顺。
事实上,计算平台和汽车软件生态系统的多样性阻碍了重用和创新。整个行业现在都在考虑是否需要简化软件和接口,实现全球标准化,甚至制定认证计划。虚拟化技术的全部潜力只能通过一种新的范式转变来发挥:在开放标准化方面的进一步协调。作为第一步,本白皮书正式确定了一组通用要求,我们建议微控制器(MCU)和片上系统(SoC)(包括Armv8-R CPU)应满足这些要求。但开放标准是由社区建立的,Arm很乐意与合作伙伴讨论如何进一步标准化这种计算架构的软件。SOAFEE Hypervisor Tiger Team可能是讨论下一步行动的好地方。
虚拟化作为计算发展的一部分
简言之,虚拟化现在是Armv8-R体系结构所服务的领域中正在发生的革命的核心。例如,Cortex-R52+中的EL2分离选项代表了一个很好的选项,可以实现多个软件堆栈的智能集成。虽然CPU体系结构已经发展到能够提供这样的功能来实现虚拟化,但在设备端,无论是对于硬件加速器还是I/O外围设备,在平衡性能和成本的同时,实现适当的安全隔离可能具有挑战性。根据使用情况,具有不同软件和硬件成本与效率比率的多个解决方案将被证明是最佳的。这份新的白皮书“实时系统的设备虚拟化原则”讨论了这些方法,为系统架构师提供指导。这是实现实时系统中设备虚拟化适当标准化的先决条件。
点击下方下载此新白皮书,并在SOAFEE上加入我们,讨论您的反馈意见或将其发送至v8r-device-virt-feedback@arm.causewaynow.com。