前言:
随着数字智能化技术的发展,汽车功能呈现多样化和集中化的特点,架构上从分散式架构到域融合架构,再到中央计算平台,集中化的演进趋势已成为行业共识。
在此趋势下,高性能车载中央计算平台通过硬件虚拟化技术和统一的功能安全框架,利用AI驱动的资源调度算法,在不同域间实现硬件资源的安全共享和高效调度是重要的技术方向之一。
本文将会探讨关于智能汽车虚拟化技术的相关内容,从虚拟化技术本身的介绍,到智能汽车虚拟化技术的说明,以及国科础石的虚拟化产品——础光虚拟机管理器(Photon hypervisor)的介绍。
什么是虚拟化?
虚拟化技术是一种资源管理(优化)技术,将计算机的各种物理资源(如CPU、内存以及磁盘空间、网络适配器等I/O设备)予以抽象、转换,然后呈现出来的一个可供分割并任意组合为一个或多个(虚拟)计算机的配置环境。
虚拟化技术起源于20世纪60年代末,IBM公司当时开发了一套被称作虚拟机监视器(Virtual Machine Monitor)的软件,该软件作为计算机硬件层上面的一层软件抽象层,将计算机硬件虚拟分割成一个或多个虚拟机,并提供多用户对大型计算机的同时、交互访问。
我们都知道大型计算机当时是非常昂贵的。但通过这样一种技术,实际可以把一套物理服务器,虚拟成多个,这样就可以让多个用户并行地同时访问资源地的资源。
也是从 60 年代开始,虚拟化的技术也在不断的更新,下图列举了一些虚拟化的产品,对于行业来说相对熟悉的可能是VMware,也正是因为它的出现让虚拟化的技术更加为人熟知。
在此之后,硬件虚拟化的出现对虚拟化领域产生了比较大的推动,关于虚拟化的类型,后面会详细讲。后期出现了KVM hypervisor,它实际上是在Linux内核上去做了一个虚拟化的一个扩展,同时在用户态会配合qemu程序,提供虚拟化技术。
除了这种典型的虚拟化技术,另外还有比如像Docker这样的技术,跟传统虚拟化技术稍微有些差异,但对外也可以呈现虚拟出多个系统的效果。
虚拟化的技术形态
这就不得不说大名鼎鼎的Hypervisor了,Hypervisor 直译即 “超级监督者” ,也称为虚拟机监控程序(VMM)。
Hypervisor处于SoC硬件平台之上,将实体资源(如CPU、内存、存储空间、网络适配器、外设等 ) 转换为虚拟资源,按需分配给每个虚拟机,允许它们独立地访问已授权的虚拟资源。
Hypervisor实现了硬件资源的整合和隔离,使应用程序既能共享CPU等物理硬件,也能依托不同的内核环境和驱动运行,从而满足汽车领域多元化应用场景需求。
虚拟化场景
随着当前通用服务器算力的提升,云计算蓬勃发展,作为底层支撑技术的云虚拟化也快速迭代演进。算力从云、边、端逐步下沉,也就伴随着出现了边侧虚拟化、端侧嵌入式虚拟化。
(1) 云侧虚拟化
特点是硬件平台基本同构,大量节点构成集群,架构设计以吞吐能力优先,要支持多业务并发,虚拟化要满足集群负载均衡、节能降耗的资源调度策略,在进行跨节点虚拟机调配过程中,要保证业务无中断迁移。
虚拟机故障时,要能保证从检查点恢复,减少业务损失,虚拟机要能支持 CPU 算力、内存、存储空间、网络、GPU、外设等能力的弹性扩展,还要能超分配,以便提升数据中心的运营收益。
(2) 边侧虚拟化
是在某些特定业务的边缘节点上,采用通用 ICT 架构,支持多种业务的动态部署,典型如 SDN、NFV。
其技术特点是:基于通用硬件平台、行业定制的管理部署平台,实现软硬解耦、软件定义,多功能节点按需部署、弹性组网,一般会采用 1+1 或者 N+1 冗余方式保证业务高可用,在 5G 电信网元中需要考虑 5G 业务端到端实时性,Hypervisor、虚拟机、通信协议栈都需要设计考虑。
(3) 端侧虚拟化
端侧典型特点是异构,其芯片架构、处理能力都差异较大。一般是单芯片方案,不存在着集群、主备间的虚拟机迁移,因此比较强调高安全、单节点高可靠,同时对于实时性、确定性有更强的要求。
另外,端侧资源更加有限、成本更敏感,因此要求Hypervisor轻量化、高性能。
由此可见,智能相关汽车虚拟化的技术则属于端侧虚拟化的范畴,面对当下多域业务具有不同的技术需求,比如:
虚拟化类型以及HOST结构
Hypervisor可以划分为两大类:
Type2型Hypervisor需要借助宿主操作系统来管理CPU、内存、网络等资源,由于Hypervisor和硬件之间存在一个宿主操作系统,Hypervisor及VM的所有操作都要经过宿主操作系统,所以就不可避免地会存在延迟、性能损耗,同时宿主操作系统的安全缺陷及稳定性问题都会影响到运行在之上的VM(虚拟机),因而Type-2型Hypervisor主要用于对性能和安全要求不高的场合。
相比之下,Type1 型的 Hypervisor 不依赖主机操作系统,其自身具备操作系统的基础功能。设计上更简洁,直接运行于硬件之上,整体代码量和架构更为精简,对内存和存储资源要求更少,可满足自动驾驶车控系统功能安全等级要求,也具备进行形式化验证的条件。所以汽车操作系统更适合使用 Type 1 型 Hypervisor。
而从HOST的架构来分,可以分为微内核型与宏内核型。
二者也各有特点,微内核的内核态精简,容易通过功能安全认证;Hypervisor由内核态和用户态构成,主要功能在用户态实现;每个虚拟机对应一个VMM进程,性能不如宏内核型。比较典型的如QNX Hypervisor。
而宏内核在性能上比微内核更好,因为Hypervisor全部由内核态实现,整体表现更高效。比较典型的如Xvisor。
关于二者选择哪种类型更好,业内也还是见仁见智。
相信通过本篇的内容,大家可以简单了解关于虚拟化的一些背景信息,而关于车载虚拟化现在行业的一些应用,以及虚拟机管理器(Photon Hypervisor)的内容会放在下篇介绍,大家敬请期待。