随着汽车产业的电气化和自动化不断提高,车辆内部的ECU不断整合、有着更严格的功能安全和信息安全等要求,车辆设计越来越复杂。汽车生态系统的参与者们正以多种方式寻求虚拟化概念,以简化汽车的设计。
其中的一种方法是硬件虚拟化,将一种设备托管在一个或多个虚拟机上,这些虚拟机的行为类似于具有自己操作系统的独立计算机,并且都运行在同一个底层设备硬件上。这意味着单个GPU可以支持多个并发运行的操作系统,每个操作系统都向单个图形硬件设备提交工作负载。
从历史上看,形成这一格局的趋势之一就是隔离,车内完全独立的模块在物理上彼此分离,并且在不同的配置中。
Imagination产品管理高级主管Kristof Beets说:“我们已经看到了这种变化。有些SoC,有两个图形核心,一个用于仪表板,另一个用于驱动屏幕,它们在物理上是分开的。问题是,如果有性能上的差异,如果其中一个GPU比另一个功能弱很多,另外一个的加速效果就会弱很多,同时两者不能协同加速,这是一个大问题。此外,安装太多模块并对其进行过度的设计非常昂贵。”
Drako Motors首席执行官Dean Drako表示,汽车行业的一些活动正在进一步塑造产业格局。“首先,电气化即将到来,这需要不同的软件和不同的功能,没有一家汽车制造商真的能完全掌控。第二是向ADAS和自主车辆发展,每家OEM都在努力开发中,他们甚至还没有弄清楚要在什么操作系统上运行,他们只是想弄清楚如何让它工作。此外,汽车制造商还面临着一个巨大的问题,汽车的计算成本在总成本中所占的比例持续上升。”
1950年,电子产品仅占汽车成本的1%。如今,电子产品已占到总成本的40%。随着自动驾驶功能和安全功能的增加,以及为这些系统定制的软件开发,成本将持续上升。但企业也开始质疑,是否一切都需要独立开发,尤其是在差异化程度很低的领域。
OEM没有1000名工程师来制造、测试,并处理合规性、安全性和安全性,大多数都是希望采用合作伙伴方式共同解决难题。Drako说道:“特斯拉在联网汽车的性能方面大做文章,他们可以用iPhone打开汽车,检查汽车,查看车内的摄像头。其他OEM都无从下手,因为车里有100台电脑,每台电脑只做一件事。有一台电脑负责摄像系统,这样你在倒车时就能看到摄像机。这的确很好,但是这台电脑不能和其他任何电脑通信。当他们为OnStar安装了漂亮的空中电话调制解调器,以便在发生故障时可以通过手机获得帮助时,无法将摄像头连接到手机上,以便通过它观看视频,因为这是两台不同的计算机。OEM商非常困惑,所以这个行业需要另一种操作系统,因为特斯拉不会向其他OEM商公布自己的操作系统。”
硬件虚拟化旨在解决这些问题。“假设你有一个GPU,但它有多个客户端操作系统——受保护的工作负载,可以占据GPU的一定比例。”Beets说。“我们把它完全放在硬件上以减少开销,因为我们希望尽可能多地保留GPU负载,这样就可以很好地将其分配到不同的工作负载上,和虚拟化CPU相似。这是一种基于时间切片的系统,基本上,您可以使用GPU,并使用基于软件的规则来安排不同的工作负载,并相互保护。”
图1:汽车虚拟化模型
Cadence解决方案营销部高级集团总监Frank Schirrmeister指出,鉴于汽车行业正在按照车轮上的数据中心的思路重新思考未来的架构,虚拟化在汽车行业尤为重要。“虚拟化非常重要,尤其是在汽车领域,您面临的是分区体系结构以及放置哪些功能。你真的需要小心地把关键的方面和不那么重要的方面分开,比如音频和视频。其中一些可能会崩溃,但对于自动驾驶和此类应用相关的摄像头来说,则需要有效隔离。”
自本世纪初以来,硬件虚拟化在数据中心得到了广泛的应用,主要是为了提高服务器的利用率,因为为服务器机架供电和冷却成本高昂。通过使用hypervisor,多个任务、操作系统和应用程序可以共享同一个硬件。
Arteris IP的功能安全经理Stefano Lorenzini说:“为同一硬件创建多个虚拟实例的方法可行,实际上都有专用于特定的产品、软件或应用程序。Hypervisor是一个直接在硬件上运行的裸机操作系统,它创建了一个与运行在上面的其他应用程序或软件程序相关的中间层。因此,如果您想从上到下查看体系结构,您可以看到应用程序,然后看到Hypervisor,然后看到硬件层。虚拟机监控程序会给应用程序造成这样一种错觉,即SoC的每个资源都专用于它们。”
这也解决了自动驾驶汽车中的一个问题,在这种情况下,汽车中有许多不同的分布式处理器,但并非每一个处理器都专用于特定的功能。这被视为避免冗余的一种方式,但也会增加重量和成本,同时限制了自动驾驶车辆故障转移系统的能力。
Lorenzini说:“每个供应商都将为特定处理器提供操作系统和应用程序。你可能有几十个不同的处理器。随着系统复杂程度的增加,现在的趋势是尝试将所需的所有计算能力集中在一台集中的计算机上。然而,如果你要把它们放在一起,就要重新利用过去的应用程序、操作系统等的投资,但务必保证在同一块硬件上彼此独立工作。这就是OEM的问题所在,因为每个应用程序可能有不同的安全要求和ASIL级别。例如,您可能有一个制动系统必须是ASIL D,另一个应用程序必须是ASIL B,另一个应用程序没有ASIL等级,因为它不是安全关键。在您将所有这些应用程序放在一起的那一刻,您必须确保这些不同的软件任务之间的分离或隔离。这正是虚拟化所能做的,因为它可以创造分配任务。虚拟化将每个任务分开,例如,如果某个特定任务因软件故障而失败,则其他所有任务都不会受到影响。”
随着汽车产业的电气化和自动化不断提高,车辆内部的ECU不断整合、有着更严格的功能安全和信息安全等要求,车辆设计越来越复杂。汽车生态系统的参与者们正以多种方式寻求虚拟化概念,以简化汽车的设计。
其中的一种方法是硬件虚拟化,将一种设备托管在一个或多个虚拟机上,这些虚拟机的行为类似于具有自己操作系统的独立计算机,并且都运行在同一个底层设备硬件上。这意味着单个GPU可以支持多个并发运行的操作系统,每个操作系统都向单个图形硬件设备提交工作负载。
从历史上看,形成这一格局的趋势之一就是隔离,车内完全独立的模块在物理上彼此分离,并且在不同的配置中。
Imagination产品管理高级主管Kristof Beets说:“我们已经看到了这种变化。有些SoC,有两个图形核心,一个用于仪表板,另一个用于驱动屏幕,它们在物理上是分开的。问题是,如果有性能上的差异,如果其中一个GPU比另一个功能弱很多,另外一个的加速效果就会弱很多,同时两者不能协同加速,这是一个大问题。此外,安装太多模块并对其进行过度的设计非常昂贵。”
Drako Motors首席执行官Dean Drako表示,汽车行业的一些活动正在进一步塑造产业格局。“首先,电气化即将到来,这需要不同的软件和不同的功能,没有一家汽车制造商真的能完全掌控。第二是向ADAS和自主车辆发展,每家OEM都在努力开发中,他们甚至还没有弄清楚要在什么操作系统上运行,他们只是想弄清楚如何让它工作。此外,汽车制造商还面临着一个巨大的问题,汽车的计算成本在总成本中所占的比例持续上升。”
1950年,电子产品仅占汽车成本的1%。如今,电子产品已占到总成本的40%。随着自动驾驶功能和安全功能的增加,以及为这些系统定制的软件开发,成本将持续上升。但企业也开始质疑,是否一切都需要独立开发,尤其是在差异化程度很低的领域。
OEM没有1000名工程师来制造、测试,并处理合规性、安全性和安全性,大多数都是希望采用合作伙伴方式共同解决难题。Drako说道:“特斯拉在联网汽车的性能方面大做文章,他们可以用iPhone打开汽车,检查汽车,查看车内的摄像头。其他OEM都无从下手,因为车里有100台电脑,每台电脑只做一件事。有一台电脑负责摄像系统,这样你在倒车时就能看到摄像机。这的确很好,但是这台电脑不能和其他任何电脑通信。当他们为OnStar安装了漂亮的空中电话调制解调器,以便在发生故障时可以通过手机获得帮助时,无法将摄像头连接到手机上,以便通过它观看视频,因为这是两台不同的计算机。OEM商非常困惑,所以这个行业需要另一种操作系统,因为特斯拉不会向其他OEM商公布自己的操作系统。”
硬件虚拟化旨在解决这些问题。“假设你有一个GPU,但它有多个客户端操作系统——受保护的工作负载,可以占据GPU的一定比例。”Beets说。“我们把它完全放在硬件上以减少开销,因为我们希望尽可能多地保留GPU负载,这样就可以很好地将其分配到不同的工作负载上,和虚拟化CPU相似。这是一种基于时间切片的系统,基本上,您可以使用GPU,并使用基于软件的规则来安排不同的工作负载,并相互保护。”
图1:汽车虚拟化模型
Cadence解决方案营销部高级集团总监Frank Schirrmeister指出,鉴于汽车行业正在按照车轮上的数据中心的思路重新思考未来的架构,虚拟化在汽车行业尤为重要。“虚拟化非常重要,尤其是在汽车领域,您面临的是分区体系结构以及放置哪些功能。你真的需要小心地把关键的方面和不那么重要的方面分开,比如音频和视频。其中一些可能会崩溃,但对于自动驾驶和此类应用相关的摄像头来说,则需要有效隔离。”
自本世纪初以来,硬件虚拟化在数据中心得到了广泛的应用,主要是为了提高服务器的利用率,因为为服务器机架供电和冷却成本高昂。通过使用hypervisor,多个任务、操作系统和应用程序可以共享同一个硬件。
Arteris IP的功能安全经理Stefano Lorenzini说:“为同一硬件创建多个虚拟实例的方法可行,实际上都有专用于特定的产品、软件或应用程序。Hypervisor是一个直接在硬件上运行的裸机操作系统,它创建了一个与运行在上面的其他应用程序或软件程序相关的中间层。因此,如果您想从上到下查看体系结构,您可以看到应用程序,然后看到Hypervisor,然后看到硬件层。虚拟机监控程序会给应用程序造成这样一种错觉,即SoC的每个资源都专用于它们。”
这也解决了自动驾驶汽车中的一个问题,在这种情况下,汽车中有许多不同的分布式处理器,但并非每一个处理器都专用于特定的功能。这被视为避免冗余的一种方式,但也会增加重量和成本,同时限制了自动驾驶车辆故障转移系统的能力。
Lorenzini说:“每个供应商都将为特定处理器提供操作系统和应用程序。你可能有几十个不同的处理器。随着系统复杂程度的增加,现在的趋势是尝试将所需的所有计算能力集中在一台集中的计算机上。然而,如果你要把它们放在一起,就要重新利用过去的应用程序、操作系统等的投资,但务必保证在同一块硬件上彼此独立工作。这就是OEM的问题所在,因为每个应用程序可能有不同的安全要求和ASIL级别。例如,您可能有一个制动系统必须是ASIL D,另一个应用程序必须是ASIL B,另一个应用程序没有ASIL等级,因为它不是安全关键。在您将所有这些应用程序放在一起的那一刻,您必须确保这些不同的软件任务之间的分离或隔离。这正是虚拟化所能做的,因为它可以创造分配任务。虚拟化将每个任务分开,例如,如果某个特定任务因软件故障而失败,则其他所有任务都不会受到影响。”
举报