日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Hypervisor,艙駕融合路上的“務(wù)虛公子”

 十一號(hào)組織 2023-02-14 發(fā)布于上海

喊出一句架構(gòu)升級(jí)的口號(hào),給新架構(gòu)取個(gè)響亮的名字,隔三差五在媒體面前吹噓一番,似乎是近幾年主機(jī)廠樂此不疲的事情。具不具備自動(dòng)駕駛能力,外界可以通過對(duì)產(chǎn)品360°路測(cè)進(jìn)行一個(gè)直觀的評(píng)價(jià)。但架構(gòu)升級(jí)成果如何,更像是大家族兄弟姐妹間爭(zhēng)奪家產(chǎn)的私家事,表面上一片祥和,背地里暗流涌動(dòng)。外人也只能從家丁、護(hù)院、婢女的口中聽聞些許八卦。

筆者剛好也從坊間聽聞了這樣一則八卦,熱衷于架構(gòu)升級(jí)的某主機(jī)廠,花了幾十億,歷經(jīng)四五年,從分布式架構(gòu)升級(jí)到域架構(gòu)。熬到首臺(tái)車量產(chǎn)時(shí),一位多事的員工細(xì)數(shù)域架構(gòu)內(nèi)的ECU數(shù)量,驚訝的發(fā)現(xiàn)原來ECU員工編制一個(gè)沒少,反而多出了幾個(gè)域控制器領(lǐng)導(dǎo)編制。說好了的融合,新增的域控制器領(lǐng)導(dǎo)也僅是承擔(dān)了替代ECU的職責(zé)以及整車新增的部分需求。這與分布式架構(gòu)下,新增需求升級(jí)/新增ECU似乎并無兩異。

踩坑的先行者們,開始逐漸清醒,BOSCH學(xué)院派的架構(gòu)演進(jìn)路線上的域架構(gòu)作為一種過渡狀態(tài),似乎并不是那么美麗,有點(diǎn)類似自動(dòng)駕駛領(lǐng)域的SAE L3自動(dòng)駕駛,看起來容易做起來難。于是乎,這部分先行者又著急地喊出了一步到位中央集中式架構(gòu)的口號(hào),像極了前兩年自動(dòng)駕駛公司集體放棄SAE L3,進(jìn)攻SAE L4的景象。

從幾家宣傳的中央集中式架構(gòu)方案中,智能座艙和自動(dòng)駕駛相關(guān)功能將集中到一個(gè)高性能計(jì)算單元上,并跑在在一顆SOC上,主動(dòng)安全及功能降級(jí)策略放在另外一顆安全MCU上執(zhí)行。上海嘉定創(chuàng)新港內(nèi)喊出的“銀河全棧3.0”中央集中式方案便是由兩個(gè)高性能計(jì)算單元(HPC1和HPC2)和四個(gè)區(qū)域控制器構(gòu)成(Zone1~4)。其中HPC1便負(fù)責(zé)智能座艙、自動(dòng)駕駛的功能,HPC2部分職責(zé)是承擔(dān)自動(dòng)駕駛備份控制作用。

在這種中央集中式架構(gòu)下,意味著一個(gè)SOC上將同時(shí)運(yùn)行智能座艙和自動(dòng)駕駛等功能。而智能座艙和自動(dòng)駕駛功能不論是在功能安全、信息安全、實(shí)時(shí)性還是算力需求層面都有不小的差異,且這些功能目前都是用不同的操作系統(tǒng)(Linux、QNX、Android、RTOS等)去實(shí)現(xiàn)。如果汽車行業(yè)統(tǒng)一的操作系統(tǒng)不能盡快誕生(目測(cè)也不會(huì)誕生),那么一顆SOC上如何部署多個(gè)不同的操作系統(tǒng),成為中央集中式架構(gòu)必須直面的問題。

還好這個(gè)問題,互聯(lián)網(wǎng)領(lǐng)域曾經(jīng)遇到過,并且已經(jīng)成熟應(yīng)用,可以說是超級(jí)奶爸一般的存在。汽車領(lǐng)域僅在智能座艙域得到過成功應(yīng)用,妥妥的新上門女婿。自動(dòng)駕駛?cè)谠挼诙?,作者就和大家一起討論下這位在汽車行業(yè)嶄露頭角,并有希望解決艙駕融合過程痛點(diǎn)的虛擬化關(guān)鍵技術(shù)—Hypervisor。

什么是Hypervisor

要回答“什么是Hypervisor”,我們不得不扒一扒其在互聯(lián)網(wǎng)領(lǐng)域成名的黑歷史。

早些年,如果某家公司想搭建郵件系統(tǒng)和文檔管理兩個(gè)應(yīng)用,則需要購(gòu)買兩臺(tái)服務(wù)器,每臺(tái)服務(wù)器運(yùn)行一個(gè)應(yīng)用。這個(gè)時(shí)候每個(gè)服務(wù)器性能剛好夠每個(gè)應(yīng)用揮霍,應(yīng)用在物理上又完全隔離,互不干擾,一派祥和。但在摩爾定律的見證下,服務(wù)器性能基本上每?jī)赡攴环瑔挝挥?jì)算能力的成本卻在不斷下降。在某個(gè)時(shí)間點(diǎn),便出現(xiàn)了這樣一個(gè)甜蜜的煩惱,我在市面上能買到的最低配置的服務(wù)器性能也夠我的兩個(gè)應(yīng)用同時(shí)使用。

如果兩個(gè)應(yīng)用裝在一臺(tái)服務(wù)器上,不但資源調(diào)用可能發(fā)生沖突,維護(hù)起來也很麻煩。但是如果我買兩臺(tái)服務(wù)器的話,性能浪費(fèi)上像極了大炮打蚊子,金錢浪費(fèi)上像極了地主家的傻兒子。如何解決一臺(tái)服務(wù)器運(yùn)行多個(gè)相互隔離的不同操作系統(tǒng)應(yīng)用的問題,成為了擺在互聯(lián)網(wǎng)發(fā)展道路上的巨大障礙。

但在互聯(lián)網(wǎng)領(lǐng)域前輩前赴后繼的努力下,終于找到了克服障礙的方案:虛擬化技術(shù)。通過虛擬化技術(shù),可以在一臺(tái)物理服務(wù)器上模擬出多個(gè)具有完整硬件配置并運(yùn)行在完全隔離環(huán)境中的計(jì)算機(jī)系統(tǒng)。這個(gè)模擬的計(jì)算機(jī)系統(tǒng)也就是我們平時(shí)親切稱呼的虛擬機(jī)(VM,Virtual Machine)。

汽車領(lǐng)域開發(fā)工程師對(duì)虛擬化技術(shù)多少都有過接觸。如果你是一名車聯(lián)網(wǎng)JAVA開發(fā)工程師,那么你肯定用過JAVA VM,這是一種應(yīng)用程序虛擬化技術(shù);如果你是一名自動(dòng)駕駛集成開發(fā)工程師,那么你應(yīng)該會(huì)和Docker相愛相殺過,這是一種操作系統(tǒng)虛擬化技術(shù);如果你是一名大數(shù)據(jù)平臺(tái)開發(fā)工程師,那么KVM似乎是你繞不過去的坎,這是一種硬件虛擬化技術(shù)。

但是誰去負(fù)責(zé)虛擬機(jī)的虛擬資源和物理硬件之間的轉(zhuǎn)換工作,誰去負(fù)責(zé)虛擬機(jī)的創(chuàng)建、刪除、配置呢,這便是本文主角Hypervisor的職責(zé),中文直譯就是“超級(jí)監(jiān)督者”,一類具有此類職責(zé)軟件的總稱。

Hypervisor將全面接管物理服務(wù)器的CPU、內(nèi)存、硬盤、網(wǎng)卡等硬件資源,并把他們抽象成邏輯資源池,并按需分配給每個(gè)虛擬機(jī)。通過Hypervisor的這一番神奇操作,每個(gè)虛擬機(jī)都能獨(dú)立使用自己的虛擬CPU,內(nèi)存,硬盤,網(wǎng)卡等硬件資源。

互聯(lián)網(wǎng)領(lǐng)域常用的Hypervisor類型主要有兩種,Type 1(裸機(jī)類型)Type 2(寄居類型),如下圖所示。

在Type 1中,Hypervisor直接運(yùn)行在物理硬件之上,向下直接管理所有硬件資源,向上通過Hypervisor創(chuàng)建多個(gè)虛擬機(jī),在虛擬機(jī)上安裝操作系統(tǒng)及部署應(yīng)用;

在Type 2中,物理硬件上先安裝一層操作系統(tǒng),利用操作系統(tǒng)管理所有硬件資源,操作系統(tǒng)上再安裝Hypervisor,后面操作同Type 1。(如果你有過在Windows電腦安裝虛擬機(jī),然后在虛擬機(jī)上安裝Linux操作系統(tǒng)經(jīng)歷的話,那么你對(duì)Type 2的印象肯定刻骨銘心。)

Type 1類型的Hypervisor直接運(yùn)行在物理硬件之上,直接訪問物理硬件并管理所有硬件資源,在延時(shí)、安全性和效率上更勝一籌。但此類型Hypervisor需要硬件支持,移植難度大,開發(fā)成本也較高,在互聯(lián)網(wǎng)領(lǐng)域常用于數(shù)據(jù)計(jì)算中心。

Type 2類型的Hypervisor運(yùn)行在某個(gè)操作系統(tǒng)之上,利用操作系統(tǒng)訪問物理硬件,因此在延時(shí)方面具有不可避免的劣勢(shì)。且底層操作系統(tǒng)的任何Bug都將危及其上的虛擬機(jī),因此安全性方面相對(duì)較弱。但是移植難度小,開發(fā)成本低。在互聯(lián)網(wǎng)領(lǐng)域常用于客戶端系統(tǒng)。

在汽車領(lǐng)域,由于變態(tài)的實(shí)時(shí)性及安全性要求,目前主流選擇Type 1方案。Hypervisor除了上文提到的硬件資源分配功能,還具有如下功能。

(1)設(shè)備模擬。Hypervisor可以創(chuàng)建客戶操作系統(tǒng)可以訪問的一些虛擬硬件組件,是否需要取決于客戶操作系統(tǒng)上運(yùn)行的應(yīng)用程序;

(2)內(nèi)存管理。Hypervisor負(fù)責(zé)為自身和客戶操作系統(tǒng)管理和分配硬件內(nèi)存資源;

(3)設(shè)備分配和訪問。Hypervisor通常可以將硬件組件分配給客戶操作系統(tǒng),并控制客戶操作系統(tǒng)實(shí)際可以訪問哪些硬件組件;

(4)上下文切換。當(dāng)Hypervisor需要在內(nèi)核上安排新的客戶操作系統(tǒng)時(shí),Hypervisor必須通過將在該處理器內(nèi)核上運(yùn)行的現(xiàn)有客戶操作系統(tǒng)的“上下文”(即操作條件)保存到內(nèi)存中來“切換上下文”。然后進(jìn)行加載新的客戶操作系統(tǒng)時(shí),可以從內(nèi)存中訪問新的客戶操作系統(tǒng),而不會(huì)中斷執(zhí)行環(huán)境;

(5)捕獲指令??蛻舨僮飨到y(tǒng)可能會(huì)根據(jù)其訪問權(quán)限級(jí)別執(zhí)行技術(shù)上不應(yīng)執(zhí)行的指令。Hypervisor可以分析客戶操作系統(tǒng)嘗試發(fā)送到硬件的指令,并模擬硬件對(duì)客戶操作系統(tǒng)指令的響應(yīng);

(6)異常處理。發(fā)生異常(即異常行為)時(shí),可以將某些異常路由到Hypervisor進(jìn)行處理;

(7)虛擬機(jī)管理。如前所述,Hypervisor最終負(fù)責(zé)啟動(dòng)和停止客戶操作系統(tǒng)在其上運(yùn)行的虛擬機(jī)。

汽車領(lǐng)域?yàn)槭裁磿?huì)擁抱Hypervisor

在汽車電子電氣架構(gòu)處于分布式的時(shí)代,每個(gè)ECU負(fù)責(zé)一個(gè)功能,可以說各司其職,涇渭分明,路不拾遺。但是自從BOSCH公開了其電子電氣架構(gòu)演進(jìn)的內(nèi)功心法后,江湖便掀起了內(nèi)卷潮,各自閉門修煉,以期早日取Bosch而代之。

這個(gè)心法口訣的核心就是:分久必合。而在這個(gè)時(shí)間點(diǎn),正是域融合稱王,分布式退位的階段。暫不表文章開頭隱喻的升級(jí)域架構(gòu)的辛酸苦楚,只提在融合中涌現(xiàn)出來的一位優(yōu)秀代表—座艙域,這也是Hypervisor目前為止在汽車領(lǐng)域攻下的第一城和唯一一城。

在矛盾的重點(diǎn)轉(zhuǎn)移到滿足人民群眾日益增長(zhǎng)的精神需求之后,座艙內(nèi)便熱鬧了起來。中控大屏、液晶儀表、抬頭顯示、行車記錄儀,流媒體后視鏡,后排娛樂系統(tǒng)等悉數(shù)登場(chǎng),整個(gè)座艙內(nèi)儼然成為屏幕家族狂歡的舞臺(tái)。如果按照分布式電子電氣架構(gòu)的思路,每新增一個(gè)大的功能新增一個(gè)零件,別說主機(jī)廠成本上能不能接受,狹隘的空間內(nèi)如何布置這些控制器問題都?jí)蛑鳈C(jī)廠布置工程師喝幾壺。

在域融合心法的指引下,既然大家都是初來乍到,又沒有把柄被巨頭Tier1抓住,那么座艙內(nèi)各種大屏走向聯(lián)合是合乎發(fā)展規(guī)律的事情。并在聯(lián)盟中挑選出一位德才兼?zhèn)涞拿酥鳌悄茏撚蚩刂破?,?fù)責(zé)聯(lián)盟內(nèi)外事務(wù)。

盟主剛上位,就面對(duì)一個(gè)棘手的問題。液晶儀表/抬頭顯示負(fù)責(zé)的部分功能與動(dòng)力系統(tǒng)、輔助駕駛系統(tǒng)強(qiáng)關(guān)聯(lián),具有較高的實(shí)時(shí)性、安全性要求,因此多以安全實(shí)時(shí)的操作系統(tǒng)QNX為主。而中控大屏/行車記錄儀/后排娛樂系統(tǒng)主要提供娛樂、導(dǎo)航、車輛控制等多樣化功能,對(duì)豐富的生態(tài)資源和信息安全有較高的要求,因此多以生態(tài)豐富的Android和Linux操作系統(tǒng)為主。

盟主想到了兩種方案,一種方案自己修煉影分身之術(shù),也就是在一個(gè)座艙域控制器中放置兩顆MCU芯片。一顆芯片裝QNX操作系統(tǒng)跑儀表相關(guān)功能,一顆芯片裝Android或Linux操作系統(tǒng)跑大屏相關(guān)功能。兩顆芯片通過外圍串行接口相連并進(jìn)行通信。這是一種形態(tài)上的融合,各單元依然獨(dú)立地完成各自任務(wù),因此功能邊界非常清晰。但是每個(gè)芯片都需要一個(gè)最小系統(tǒng),不僅浪費(fèi)硬件資源,還沒法實(shí)現(xiàn)硬件資源拓展。且信號(hào)在多個(gè)芯片之間進(jìn)出帶來的延遲而導(dǎo)致的性能局限,都將是此種方式揮之不去的噩夢(mèng)。

此種融合方案的帶頭大哥便是Tesla,其區(qū)域架構(gòu)方案也一直是各家模仿的對(duì)象。整個(gè)架構(gòu)包括一個(gè)中央計(jì)算單元和三個(gè)區(qū)域控制器,中央計(jì)算單元負(fù)責(zé)ADAS/ADS功能、信息娛樂功能和網(wǎng)絡(luò)通信功能。Tesla將實(shí)現(xiàn)ADAS/AD功能的FSD芯片,實(shí)現(xiàn)信息娛樂功能的MCU芯片,實(shí)現(xiàn)網(wǎng)絡(luò)通信功能的模組集成在一個(gè)電路板上,并采用一套液冷系統(tǒng)。每個(gè)芯片獨(dú)立運(yùn)行各自的操作系統(tǒng)并獨(dú)立完成各自的任務(wù),外界一般稱其為“準(zhǔn)中央集中式架構(gòu)”。但筆者特別想說,沒有Tesla的命,別去模仿Tesla。

另外一種方案是盟主雇個(gè)專業(yè)的經(jīng)理人,幫自己打點(diǎn)底下的小兄弟,也就是業(yè)界比較認(rèn)可的終極融合方案“一芯多屏”, 即是一顆芯片,跑多個(gè)操作系統(tǒng),從而支持儀表、抬頭顯示和各種大屏的功能,同時(shí)滿足各個(gè)應(yīng)用對(duì)實(shí)時(shí)性、可靠性、安全性等的不同要求。這時(shí)上文提到的互聯(lián)網(wǎng)領(lǐng)域成熟應(yīng)用的虛擬化和Hypervisor技術(shù)便自然而然的吸引了汽車大佬們的目光,并成功上演了一段跨界姻緣。

虛擬化和Hypervisor在座艙域的成功應(yīng)用,給了電子電氣架構(gòu)不斷融合下去的勇氣和信心。尤其是到了中央集中式架構(gòu)階段,整車可能就剩下一臺(tái)高性能中央計(jì)算單元。而這臺(tái)高性能中央計(jì)算單元,既要實(shí)現(xiàn)智能座艙功能,又要實(shí)現(xiàn)自動(dòng)駕駛功能。而這些功能的差異更加明顯,所需支持的操作系統(tǒng)類型也更加豐富。

而Hypervisor的到來,物理硬件層面,可以根據(jù)功能需求自由分配每個(gè)操作系統(tǒng)所需的資源,充分而又靈活地利用高性能的SOC的高超運(yùn)算能力。功能實(shí)現(xiàn)層面,還可按照不同主機(jī)廠的需求靈活搭載各種不同的操作系統(tǒng)組合,并運(yùn)行具有不同算力要求、不同功能安全等級(jí),不同信息安全等級(jí)、不同實(shí)時(shí)性要求的軟件。

車載Hypervisor的技術(shù)要求

Hypervisor雖在互聯(lián)網(wǎng)領(lǐng)域大放異彩,但汽車領(lǐng)域的特殊性,決定了不可能完全照搬互聯(lián)網(wǎng)的成熟經(jīng)驗(yàn)。Hypervisor在汽車領(lǐng)域適配的過程中,必須正視和尊重以下和互聯(lián)網(wǎng)領(lǐng)域的差別:

(1)物理硬件層面。互聯(lián)網(wǎng)的集群服務(wù)器模式,可以讓其擁有靈活可擴(kuò)展的高計(jì)算能力和大存儲(chǔ)能力,Hypervisor完全不用操心自己需要消耗多少計(jì)算和存儲(chǔ)資源的問題。而在成本極其敏感的汽車領(lǐng)域,不管是當(dāng)下的域控制器還是后面的高性能中央計(jì)算單元中的主芯片,其計(jì)算能力和存儲(chǔ)能力就顯得捉襟見肘。降低CPU占用、AI算力消耗和存儲(chǔ)需求將會(huì)是貫穿整車項(xiàng)目開發(fā)始終的工作。Hypervisor自身的輕量化能力,成為衡量其能否在汽車領(lǐng)域大規(guī)模應(yīng)用的一個(gè)關(guān)鍵指標(biāo);

(2)安全冗余層面?;ヂ?lián)網(wǎng)領(lǐng)域面對(duì)的是動(dòng)態(tài)的用戶任務(wù),互聯(lián)網(wǎng)大佬期望Hypervisor可以動(dòng)態(tài)分配物理硬件資源,有效利用閑置資源,從而實(shí)現(xiàn)降本增效的作用;汽車領(lǐng)域面對(duì)的是相對(duì)固定的用戶計(jì)算任務(wù),任務(wù)所需硬件資源在出廠前已由工程師設(shè)計(jì)分配好。汽車大佬們期望Hypervisor在實(shí)時(shí)性、可靠性、安全性等方面可以更加出眾;

(3)適配開發(fā)層面。在汽車領(lǐng)域,MCU/MPU/SOC類型豐富的你無法想象,操作系統(tǒng)多的也讓你數(shù)不勝數(shù),如何減少Hypervisor在適配底層不同硬件和上層不同操作系統(tǒng)的工作量,是橫亙?cè)贖ypervisor面前的另外一座高山。

汽車領(lǐng)域和互聯(lián)網(wǎng)領(lǐng)域的差別,決定了Hypervisor要想在汽車領(lǐng)域繼續(xù)攻城拔寨,必須繼續(xù)修煉直至擁有如下能力:

(1)安全冗余層面。Hypervisor必須具備通過資源分區(qū)技術(shù)嚴(yán)格隔離和分配資源的能力。當(dāng)一個(gè)虛擬機(jī)中的應(yīng)用程序出現(xiàn)故障時(shí),只可以影響分配給它的內(nèi)存,而不會(huì)影響其它虛擬機(jī)的內(nèi)存池。當(dāng)然前提是開發(fā)人員提前規(guī)劃好應(yīng)用的內(nèi)存需求。

(2)通用開發(fā)框架層面。汽車領(lǐng)域需要一種權(quán)威的Hypervisor通用框架和標(biāo)準(zhǔn)接口,以減少適配底層不同硬件和上層不同操作系統(tǒng)時(shí)的開發(fā)工作量。目前VirtIO標(biāo)準(zhǔn)已得到汽車行業(yè)一眾巨頭的支持,未來有希望脫穎而出,實(shí)現(xiàn)大一統(tǒng);

(3)任務(wù)調(diào)度機(jī)制。汽車領(lǐng)域存在大量實(shí)時(shí)任務(wù)和非實(shí)時(shí)任務(wù),而這兩種系統(tǒng)對(duì)于任務(wù)的時(shí)間響應(yīng)要求有著本質(zhì)的不同。Hypervisor應(yīng)該具備靈活的時(shí)間調(diào)度機(jī)制,既能支持基于優(yōu)先級(jí)的任務(wù)調(diào)度方式,又能支持基于時(shí)間片的任務(wù)調(diào)度方式;

(4)進(jìn)程間通信機(jī)制。Hypervisor在對(duì)虛擬機(jī)進(jìn)行嚴(yán)格安全隔離的同時(shí),也需要支持不同虛擬機(jī)進(jìn)程之間以受控方式進(jìn)行相互通信。而最基本的進(jìn)程間通信包括同步消息傳遞和共享內(nèi)存兩種方式。

車載主流Hypervisor產(chǎn)品介紹

近幾年涌入車載Hypervisor領(lǐng)域的玩家非常多,也以巨頭為主,包括Xen Hypervisor,OpenSynergy、ACRN Hypervisor、Global Hypervisor、Mentor Hypervisor、QNX Hypervisor、Redbend Hyeprvisor等。但非常遺憾的是,QNX Hypervisor是目前唯一應(yīng)用到量產(chǎn)車型的Hypervisor,它也是目前市場(chǎng)上唯一一個(gè)功能安全等級(jí)達(dá)到ASIL D級(jí)的虛擬化操作系統(tǒng)。由此也可見Hypervisor的開發(fā)難度。

下面挑選三款比較有代表性的Hypervisor產(chǎn)品進(jìn)行簡(jiǎn)單對(duì)比。

小結(jié)

“兵馬未動(dòng)、糧草先行”這是多少鮮血總結(jié)出來的經(jīng)驗(yàn)。一時(shí)的落地除了收割韭菜,似乎對(duì)社會(huì)不會(huì)有大的促進(jìn)。而儲(chǔ)備好糧草的長(zhǎng)期落地,才是收獲廣大群眾感情的更有效方案。而在架構(gòu)升級(jí),自動(dòng)駕駛領(lǐng)域,我們的糧草就是關(guān)鍵基礎(chǔ)技術(shù)的攻堅(jiān),關(guān)鍵基礎(chǔ)技術(shù)的突破。



參考文獻(xiàn)

汽車hypervisor — 虛擬化類型、功能

https://mp.weixin.qq.com/s/GxKv0YIPgrZU0tgoHfcv6w

虛擬化為下一代軟件定義汽車賦能

https://mp.weixin.qq.com/s/1PKkH8BxLWqzwOAMg1pkYw

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多