钟卫东:虚拟化技术支撑智能座舱、舱驾融合、智能底盘的演进方案探讨
专题:2024中国汽车软件大会
11月7日-8日,2024中国汽车软件大会在上海嘉定召开。中瓴智行(成都)科技有限公司首席战略官钟卫东发表演讲。
以下内容为现场发言实录:
各位伙伴大家下午好!中瓴智行是一家以操作系统为核心竞争力的公司,我们的战略主张可总结为:OS + OS+,主要提供一系列汽车上的操作系统以及基于这个操作系统衍生的一些解决方案以及技术服务。
大家都比较熟悉,我们的汽车架构正在从分布式电子控制单元架构往域控制器进一步往中央集中式架构演进,应该叫分散式架构,分布式可能是我们主动采取的架构,但是我们以前可能是一种被动式的,相应在这个架构演进过程中,对于操作系统在不同阶段有不同要求,在分散式架构下面,整个业务逻辑或者本身处理单元能力弱,所以有的就可以采用没有操作系统的架构,也可以是基于精简的操作系统,主要是垂直耦合的架构,到了域控制器阶段,演进成分层解耦的架构,在上面我认为实际上融合是一个技术手段,融合的最终目的是要去实现智能化、网联化或者高性价比以及全生命周期快速演进。
在下面操作系统,融合是目标,分层解耦的架构实际上是一个手段,去实现它,我也试着理解一下前面几位专家讲的解耦和融合的矛盾统一的关系,我理解这个解耦相当于我们整个软件定义汽车的时候,整个软件架构变得越来越复杂,没有一家供应商能把所有东西覆盖住,这时候需要分层解耦架构把里面产品定义边界分工明确化,使得研发组织、供应链合作能够更加高效,融合是什么意思?我的理解是融合实际上它是说这个多个业务系统,从横向来看,多个业务系统怎么共硬件平台,甚至共软件平台一起部署,或者这种跨节点,跨多个设备业务流程怎么高效协同。所以在这个层次上,融合是目标,分层解耦是技术架构支撑实现这样的目标。
再往下一个阶段发展,当我们的SOC芯片本身功能安全等级能够达到很高的等级之后,那么可能我们就需要这样一种操作系统,它具有3个典型特点,一个是它是一个高安全底座,它自身非常安全,比如刚才程智锋也讲到,这个操作系统本身就可以达到ASIL B甚至D级,第二个特点是它要做到可靠的资源隔离,让上面多个业务系统是可以支撑最高等级可以达到D级业务系统在上面运行,而不受到其他QM级别业务干扰。
第三,还要能够达到服务化、分布式可扩展、横向协同技术特征,比如车、云一体的操作系统。现在业界大家也讲,有些解决方案了,就是说有些已经在用,比如程智锋讲到有的厂商已经基于Linux提供辅助驾驶,甚至有一些高阶智驾的解决方案,但是我们从技术分析角度来看,我们认为其实并没有从技术手段上它是放心的解决方案。
整车统一操作系统现在有两个技术路线,其中一个是微内核操作系统,从微内核操作系统角度来看,中瓴智行本身也在做,我们认为现在成熟度,技术实际上还没有达到让人信服的角度。
微内核操作系统也有供应商讲到已经有解决方案,但是我认为怎么样算是解决了产业链问题,要么像微软一样,操作系统拿出来之后,整个产业链在上面可以开发应用,可以演进发展,要么像Linux一样,一个开源操作系统,大家都可以拿来解决比如服务器、嵌入式这样的一些行业应用,那么这个就认为确实是解决了,但是目前我觉得行业内还没有看到这样的一些解决方案,也有我们在交流中了解到,有些可能是基于自己的一些产品,或者芯片,有一些定制化的,有一些内部优化方案,但是它是不是一个通用操作系统,能否解决行业生产力问题,我觉得还需要时间验证。
刚才讲到融合的一个发展的过程,最原始本质基础推动力就是算力和网络技术发展,我们在目前广为使用的是基于不同的SOC形成不同的座舱硬件,通过有线网络实现协同,带宽不高,延迟大,进一步再往下发展,已经出现了基于一个硬件单元板,通过板上总线能够把座舱SOC、智驾SOC把它连接起来,这个时候带宽可以提高到几十G,延迟可以在纳秒级别,再往下是舱驾合一的芯片,通过片上总线,把不同的功能单元串起来,可以达到100G通信带宽。所以在不同硬件基础能力上,软件在上面做融合,就是要相应去做不同的解决方案,比如在整个网络延迟比较差的时候,可能就是一些有这种需求的应用自己去做一些应用的发现、连接、调用,典型方案是像CS、BS开发模式、Carlife、Carplay等应用。
当网络算力提升之后,现在也可以去做一些共性中间件来解决融合问题,这样的话,上层应用基本可以透明基于这些中间件开发,从而实现透明的本地、跨端融合,比如SOA,再继续往下,可以基于分布式操作系统更加透明实现这个,再往下甚至可以基于分布式虚拟化实现融合。
整个来讲,硬件能力越强,可实现融合层次越深,越在底层融合,整个系统解耦越彻底,你越在底层做了融合之后,上面的软件栈其实它都可以无感、不管它是在一个分布式的系统,还是在一个系统内的多个操作系统之间,还是说在一个操作系统内部的不同的任务之间,来进行这样一个协同。
其他几个层次我不讲了,重点讲一下在系统资源融合,分布式虚拟化技术路线优势,虚拟化本身是一个模拟底下硬件的特性,它可以去按照规范化系统资源,包括虚拟设备注入机制,它能够给上面的操作系统把底下算力、外设等资源注入进去,这样的话,上面的操作系统感知不到底下是个真实的物理设备还是虚拟设备,它是来自本地的资源,还是来自异地的资源,这样就方便上层软件平台化,另一方面虚拟化可以提供统一的虚拟通信机制,可以屏蔽之前讲到的基于网络、板上走线、片上走线这些差异,能够屏蔽本地异地资源外设调用差异,支持域控制器、舱驾合一,中央计算架构平台平滑迁移。
我们经常讲到要实现分层解耦,通常的话,基于操作系统实现上层业务软件和硬件解耦,我们把它称之为软硬解耦1.0。虚拟化可以实现一个更深层次的解耦,称之为2.0。
这张图里面虚拟化可以实现芯片架构的虚拟化,CSP虚拟化,也可以实现外设的虚拟化,上面操作系统可以实现虚拟VCSP、VBSP,上面操作系统可以做到规范化、标准化底层架构,这样我们可以看到通过软硬解耦2.0,可以实现单节点SOC硬件,换硬件的时候,操作系统和上层应用无感对接,有利于软件平台平台化。
另外,舱驾融合,分布式硬件演进,上面的业务也可以做到无感对接、平滑演进。
后面讲一下我们具体智能座舱方案,在一个SOC上面通过虚拟化,可以把仪表系统、IVI系统融合起来,甚至虚拟化提供一个本地运行环境,可以支持安全显示、健康监控,主要功能特性是资源可靠隔离,使得仪表系统满足ASIL B功能安全要求,它可以免于被IVI系统干扰。
第二个特性做到资源高效共享,仪表系统和IVI系统之间可以共用算力、外设资源,这样可以实现主机厂高性价比需求。
第三,能够做到软硬深度解耦,这样来提升我们的开发的效率。
第四,可以兼容异构,这样我们既有系统应用可以在新的硬件平台、新架构中快速演进。
另外,在智能网关,我们现在大家都讲网联化,网联化它带来远程升级、远程运维、控制方便,但是它也可能对我们车内网络形成威胁,这个也是我们在跟国外的主机厂在联合形成的解决方案,重点就是要解决第一通信防护,左边是一个非安全的一个运行环境,NEE是用来做广义通信,它是基于通用通信协议栈,信息安全攻击面比较大,虚拟化提供一个Secure IPC机制,能够保障外网通信、NEE被攻破之后,不会直接扩散到车内SEE环境。
第二,安全外设防护,通过SEE或者hypervsor作为一个后端控制,前端要访问安全外设的话,可以进行鉴权管理并且检查地址的合法性。
第三,最难的是DMA攻击防护,可以通过SEE来检查这个一些DMA的地址访问合法性,避免通过DMA来攻击安全运行环境。
到了舱驾融合系统,我们可以看到舱驾融合系统,它会把很多不同业务单元集成在一个SOC里面,上面通过一致性内存、高速通信通道,使得整个系统进行高度融合,它的技术架构优势是它做了一个算力资源的池化,打破算力孤岛。
第二,它提升了通过片上的通信机制,它可以实现高速通信,高确定性跨域协同,打破数据孤岛。
第三,它的外设,它可以灵活复用,避免冗余配置,这种系统优势,性价比会比较高,部署比较灵活,可扩展性比较强,但是它的挑战是因为整个SOC实际上难以达到ASIL D,这时候你要怎么通过软硬结合系统设计来保证功能安全,包括通讯网络在这个系统里面,怎么保证可靠隔离,还有像这样一些确定性,包括在演进过程中,它的兼容性。
这中间,我们也看到,有一些舱驾融合芯片可以提供硬隔离方案,在这里面虚拟化能带来什么价值?虚拟化可以提供高效、灵活、安全融合方案,比如第一可以做到兼顾隔离共享,既可以静态绑定,也可以多个虚拟区共享CPU,支持多种调度方式,它可以场景适应资源动态分配,比如在行车场景中,ADS它的CPU权重比较高,如果在驻车娱乐场景,让整个车更多资源用于社交娱乐,这样资源可以做动态调配。
第三,通过虚拟化来提供虚拟机之间基于比如类似共享内存高性能,它可以提供更加实时可靠虚拟机通信,基于硬隔离方式,需要自己编程,自己写跨域协同机制,整个方便性和性能有一些差距。
第四,可以实现任意多虚拟机融合,因为它可以通过软件实现算力外设灵活复用,按需支持任意多虚拟机。
在舱驾融合里面,因为智能驾驶车控这个系统功能安全等级更高,这个时候虚拟驱动的部署要求就更高了,我们的策略是一些通用复杂后端驱动会把它部署在Linux虚拟机里面,充分利用Linux丰富生态,对于一些高安全的后端驱动,部署在ASIL D级RTOS虚拟机,甚至可能会单独部署到高安全处理器,最右端高安全处理器,对于一些高性能的,或者要求强实时性的后端驱动,我们可能就要有更高挑战,部署到hypervior里。
还有一个是舱驾融合里面怎么去结合虚拟化实现安全调用,我们在NEE非安全虚拟机里面,会通过虚拟前端驱动调用安全功能,避免它在NEE环境里面直接调用SMC带来安全风险,在安全环境,它会提供虚拟后端驱动,去管控各个NEE来调用安全功能的策略。在右边的TEE可信执行环境里面,它会响应发起的安全请求,在右边还可以有专门的安全MCU去响应安全要求更高的请求。
再往前走,近期智能底盘逐渐成为热点,我产也在讨论智能底盘基础软件发展方向,我们认为智能底盘是汽车智能化的深水区,这是汽车移动性本质,对于安全要求最高。它的目标,要安全,包括主动安全性能、主动安全功能,包括它的体验,包括要做到性价比。
发展路径,我们认为一个是通过智能化,通过AI实现主动感知,实现人车个性化,通过融合化,感算控解耦,感知能够去跟智驾的感知融合,然后算力和最终控制实现解耦,实现降本增效。
左图三个阶段,第一先实现底盘域功能的融合,包括XYZ三向控制融合,第二实现区域控制融合,把动力、车身能够把它就近融合在一个硬件平台上来,再往下是整个中央计算平台融合。
这里面的问题在于MCU本身架构上面是和MPU、SOC等等它统一性这种通用化上面有差距,相应虚拟化支持能力技术架构差异大,还有一个是尚未规模商用。所以这个发展建议,我们希望推动MCU芯片领域形成共识技术路线、标准规范,减少虚拟化开发工作量。
另一个路线是MPU虚拟化,这个MPU不是内存保护单元,是和MCU对应的微处理器单位,这个技术路线就是说通过SOC能够集成MPU、MCU,提升整体功能安全等级。
另一个是MPU自身能够去支持强实时高可靠高安全,现在业界也有在做这些实验,包括基于AP可以跑MCU类似功能,问题是复杂系统的稳定性,包括多指令以及中断执行的确定性,包括内存访问的确定性,这个建议我们要看芯片技术突破情况,以及虚拟化对资源的确定性分配。
中瓴智行在虚拟化方面的进展情况汇报,我们在智能座舱、智能网关上规模商用,主要实现性能逆袭,低配芯片发挥高配效能,高复用降成本,目前规模量产累计SOP量纲已经超过200万台。
另外,基于虚拟化这样的技术架构,上面的智能座舱软件,我们也有OS+的实现,能够实现智能座舱软件平台化,比如通过虚拟驱动来实现芯片解耦,通过SOA平台实现服务解耦,目前量产车型20多款,能够去支持主机厂的平台化建设,包括提供全生命周期健康管理服务,以上是我的分享,谢谢!
(注:本文根据现场速记整理,未经演讲嘉宾审阅)