刘淼:今天还是跟大家以技术为主做交流,可能熟悉我的朋友都知道,我们的演讲从来不做广告。操作系统是智能座舱里面的非常必要的软件支撑,而且在国内做操作这一块公司并不多。我这里面主要分享一下,为什么我们汽车座舱需要智能系统?智能系统应该走哪条路?
座舱我们认为是人和车交互的接口,这里面提倡车来看人,以前经常说是可能给车使一个眼神、一个动作,车就知道干什么,司机驾驶员想到做什么,这整个就是需要通过最底层的计算,刚才说的处理器和操作系统,这些来实现想要的东西。我们从传统的汽车座舱开始看起来,传统的座舱实际上是信息比较碎片化的,就是左上角那个图,还有座舱这个词怎么来的?实际上来自于飞机,因为我是北航毕业的,对这方面还是有点情节,因为以前跟学校的师兄也交流,以前认为显示跟人的交互,这个东西跟安全关系不大,大家想象我跟计算机系专门做软件安全的师兄交流,他说这个显示错了也不会死人,他说这个是大错特错,因为飞机上曾经发生过因为软件不稳定导致显示数据没有及时更新,导致飞机过载,之后飞机坠落。所以我们认为在座舱里面,我们现在说的这些话前提条件一定是要安全、稳定。
在这个基础之上,我们才能把原来老旧的设计,变成现在新的多频融合,变成多种交互方式,包括手势、语音,还有更好的体验,包括AI、AR等等,这些都是相当于人被我们这个时代惯坏了,人需要更好的交互,由此带来的整个变革。
这也是我们刚才说的,为什么要强调安全稳定的操作系统,操作系统到底怎么做?才能把我们的软件认为是稳定的?这个安全实际上后面有两层意思,仔细说一下,一个属于功能安全,另一个可能翻译成保安,就是说防止外面攻击的整个意思。首先我们觉得支撑的是什么?支撑有两个原因,一个是硬件,就是我们的处理器越来越强大,强大到什么程度?现在14处理器在车硅上比较主流的处理器工艺,甚至还会再往下走一点,我也交流过,以前一直认为手机处理器会走的比较靠前,因为它是消费类的,所以会把很强的性能放上去。现在发现很大一部分需求是来自于汽车,所以我们下一代GPU性能一定会超过手机。在这种强大的处理能力支撑下,我们软件实际上是需要越来越多的管理能力,也需要软件在这种复杂的交互前提下,我们怎么规划架构。
这是我们的技术路线,右边其实是我们传统系统做的每一个层面的东西,从最早开始做关于实时内核,关于快速启动和安全引导,一直到中间层做的跟安全相关的属性,逐渐到一些规划。左边实际上就是今天前面也有嘉宾提到就是Hypervisor,大家都说这个到底是什么东西?其实很神秘吗?我们认为它对于我们来说,主要关注两点,一个就是系统之间的图形共享,还有一块就是系统之间的大数据互联,这是Hypervisor性能的关键。
这个图简单说一下,就是说如果研究操作系统的人都知道,我们以前的操作系统实际上在不同的应用程序,通过一个CPU操作系统中间,多个进程做调动,实际上现在的Hypervisor在多OS调动的时候跟这个实际上是一个思路,相当于硬件层多了一个Hypervisor,这个层只干两个层,一个是多个系统的调动,一个是影射表。这两个东西最传统的就是以前做虚拟化的时候,就是没有硬件支撑的时候,这两件事情挺难做的,因为你会降低效率。现在实际上有硬件支撑了,我们在这个VCA体系上,已经有了这两个东西的支持。
简单来说,最终我们需要软件商解决这么一个问题,除了硬件支持以外,我们会把整个应用层分成从左边Dom0到其他的操作系统之间解决的问题是共享怎么做,这是简单做的一个PV模式,意味着我在这个操作系统之上,我自己的一个程序,它跟Dom0后台程序做交互,这样一个网卡怎么共享?两个操作系统或者一个操作系统都有自己独立的IP,这个怎么做的。
在这种体系结构下,我们就可以看到实际上我们整个系统问题依赖于Dom0,当我们跟DomU的操作都在这上面,如果是说这种结构上做软件安全,不光有这个安全问题不大,因为整个体系结构决定Dom0必须是稳定的,一旦这里面出了问题,你是操作系统没有死,但是你整个这一条路径不通的话,意味着其实你的这个东西不能工作了,没有用的。
另外还有一个业界比较难的问题,就是我们讨论GPU的虚拟化问题,GPU的虚拟化,为什么难?就是因为说这个GPU不是传统的,因为运行过程当中,这种流水线不能被打断,一旦被打断要做GPU之间的操作系统任务切换,其实开销非常大。不得不在GPU上,我们现在怎么做虚拟化?也是刚才的思路,把我们在后台其实是Dom0上起一个GPU的管理,通过DomU的APP通过GPU的管线,左边实际上是虚拟化的GPU,到右边走实际的GPU渲染过来,走这样的过程,这是传统的软件GPU虚拟化解决方式。
当然现在也有几个新的方法,比如说我就是GPU上面有很多核,有的核可能给到某一个座舱控制器的功能,也有这样做的,一些新的处理器这样做,但是这个可以说是比较针对汽车座舱领域讨巧的做法。这里面再给大家分享一个数据,这就是我们大家都讲到的,我这里做一个测试,这个图我解释一下,同一个硬件品牌,我们做的一个关于100兆以太网的测试,我们最标准的到最右边的,就是测一个百兆以太网的通阻率是正太分布的峰值,标准的就是这个系统认为没有调度器的时候可能是81.35,这个单位应该是兆。现在因为有硬件支持的调度器,绿色那条线,这是我们自己调度器的操作,其实只小了一点点,大概增加开销接近1%。为了增加实质性,我们会在操作系统做这个得到蓝色的线,与之相比传统红色的线就是传统的调度器,这就是硬件支撑降低整个系统的开销,把更多的系统让出来,这是做操作系统解决最基本的问题。
后面就是我们的理念,刚才讲到实际上解决最核心操作系统的问题,以操作系统为核心在这上面开花结果,用最底层打造好的解决不管是调度器、效率、虚拟化的方法来实现所有的这些产品线,实际上是通过这个这上面出来的,这里面汽车座舱,包括自动化生产、AI识别等等一系列的产品都是以操作系统来做出来的。
我最后给大家放一个视频,这个是前两天办公室拿手机拍的,我们开机的时候,实际上是两个屏之间的共享,有一个一体化,实际上是两个屏,实际上有一贯的开机,两个屏有视频同步,这里有一个导航,我们可以投射到这里,选一个目的地做投射,这个就是模拟共享,我通过GPU在DomU做完渲染之后,在仪表这边开的,右边是安卓,右边是OS,这样可以实现两个屏共享,整个导航软件,虽然显示到仪表上,实际上运行到安卓后台,这个过程走的共享管理,实际上开销很低,整个处理器是1G左右的4核,1G的内存加上MP4,只要操作系统把效率提上去,这种级别的处理器上,这种处理器实际上就是上一代座舱,大概三年前甚至更早时代的座舱处理器可以实现这种,只是看我们软件的效率。
今天给大家分享这么多,如果问题可以提问。
提问:刚才提到GPU虚拟化的问题,我想问一下GPU虚拟化是不是对硬件有要求?如果是的话,现在有哪些类型可以提供虚拟化?
刘淼:现在目前还没有虚拟化的支持,所以说可能走的更多还是刚才说的前后台模式,要么是多核的模式,我把某个核放在哪个屏上。据我了解有对应的方案,这个还有英特尔,这个是虚拟化做的最早,不过现在比较遗憾的就是GPU体系相比之下还是比较封闭的,这个贡献很少,对于这个原理不是很丰富,可能做操作系统虚拟化是最麻烦的事情。
提问:在我们的操作系统层面,我们有没有考虑一些如何保证安全的工作?
刘淼:这个安全有两个东西,指功能安全还是保安防护系统?
提问:数字化方面的安全。
刘淼:这一块思路还是尽量隔离开,我们软件可能挡不住的,比如说之前的处理器,它是造成很多攻击造成这种漏洞,可能不做网观隔离,不做软件,通过硬件层面保证的隔离,我认为现在目标比较大,这个是物理内存的,如果把车全部在互联网上,这些网络架构清楚的话,如果针对你的攻击,我认为其实就是代价问题,不是有没有绝对的安全,我认为是没有的。