GPU虚拟化:下一步在汽车创新
随着国民经济的快速采用汽车虚拟化,制造商现在可以在一台计算机上运行多个系统,从高度可靠的Linux软件关键任务功能的信息娱乐服务的高度可定制的Android软件。虽然虚拟化使得无限商机定制的驾驶体验,所有这些不同的虚拟机仍然必须通过运行单GPU的图形处理请求。
在大多数车辆的架构中,GPU是一个独立的协处理器与它自己的固件。这意味着,每个虚拟机必须发送它的命令和数据到GPU进行处理,然后接收从GPU的固件完成的请求。与此设置的问题在于,如果虚拟机发送一个非法命令或坏数据至GPU并使其崩溃,没有其他的VM可与GPU,直到它重新引导交互。这不仅是刺激,但它可以影响是在另一个虚拟机上运行任何关键任务应用软件的车辆的稳定性和安全性。
像其他人一样,我公司GlobalLogic一种方法来共享虚拟机之间的GPU,而不会影响性能,稳定性,和这些虚拟机的安全性努力。由于我们的产品开发服务产品以汽车制造商的一部分,我们利用虚拟化平台名为鹦鹉螺到单板计算机上运行多个虚拟机。虽然我们已经成功地沙盒所有的汽车操作系统充分利用Xen的1型虚拟机管理程序,我们还是依赖于GPU硬件 – 和它的所有漏洞。
然后,我们意识到,而不使用GPU的固件为所有虚拟机,我们应改为翻转脚本,并建立一个架构,使每个虚拟机都有自己的GPU固件工作。例如,如果VM1需要处理的图形请求时,它将它的固件上载到GPU,执行必要的命令,然后从GPU“注销”。一旦VM1不再使用GPU,VM2可以开始上载固件 – 等等,等等。
在幕后,平台店,坐落在Xen系统管理程序的虚拟GPU驱动程序GPU的所有状态。当VM1发起请求来访问的GPU,平台重置GPU和上传VM的固件以便VM正在与从上次以前的状态在GPU。该复位上传 – 执行复位过程使每个虚拟机和GPU在一个孤立的会话工作,并不会影响任何其他VM-GPU会议。如果VM1发送非法命令到GPU,它只会崩溃了整个GPU自身特定的会话来代替。这种方法大大提高在虚拟环境中的稳定性和GPU的共享的安全性。

GPU共享与介导的直通。图片来源:GlobalLogic。
我们的GPU虚拟化解决方案使多个域,没有比在性能上5%的整体跌幅更分享了GPU硬件。我们可以通过优化硬件资源跨本地内核模块,并通过精心Xen的调停司机管理资源来实现这一功能。在此架构下,任何来宾域曾经先后获得任何真正的硬件 – 一切都虚拟化。
我们已经彻底测试这种方法,并将其集成到我们的鹦鹉螺平台梦幻般的效果。目前,我们正在使用这种架构与现场的客户,我们将进一步展示该解决方案在GENIVI展示在CES 2016年,如果你有兴趣学习更多有关GPU虚拟化。
作为汽车制造商来更多地依靠软件来运行他们的车辆和从事与驱动器,汽车仪表板显示器和IVI系统的图形处理能力将变得越来越重要。随着虚拟化技术的GPU,制造商可以优化跨多个虚拟机的图形处理性能,同时确保这些虚拟机的稳定性和安全性。
亚历克斯Agizim是副总裁,嵌入式系统的首席技术官GlobalLogic公司

