引言
? ? ? ?前幾篇更多是從全局的視角闡述軟件定義汽車斩跌,但寫這個系列并不只是為了介紹軟件架構(gòu)桩警,也不是為了給大家推銷理念或普及概念,而是為了構(gòu)建一張完整的全系統(tǒng)知識圖譜膘滨,系統(tǒng)性的探討在實現(xiàn)過程中的各種技術(shù)問題甘凭。按照我的想法,后續(xù)工作將按以下兩個階段進行:
- 設(shè)計階段
- 開源實施階段
? ? ? ?第一階段通過系列文章以及和大家的交流討論火邓,梳理要解決的關(guān)鍵問題丹弱,確定解決這些問題的技術(shù)路徑,設(shè)計關(guān)鍵組件的技術(shù)架構(gòu)铲咨。
? ? ? ?第二階段將著手搭建關(guān)鍵軟件組件的代碼框架躲胳。"Talk is cheap, show me the code" ,對我而言鸣驱,架構(gòu)設(shè)計不只是畫幾張圖就完事了泛鸟,搭建一個基礎(chǔ)的代碼框架,也是保證架構(gòu)設(shè)計能夠快速推進的有效手段之一踊东。如果你是軟件產(chǎn)品設(shè)計北滥、架構(gòu)設(shè)計、程序設(shè)計的高手闸翅,又對開源軟件感興趣再芋,可以在后臺留言,這種局面是有機會做點事情的坚冀,興趣驅(qū)動無任何商業(yè)目的济赎,歡迎各路geek參與討論!
? ? ? ?在科技圈工作久了的人记某,估計也很難理解司训,為啥汽車行業(yè)會形成這種群雄割據(jù)的狀態(tài),汽車軟件的封閉性液南,看似給這個行業(yè)構(gòu)筑了壁壘壳猜,實際上也限制了整個行業(yè)生態(tài)的發(fā)展,開源軟件造就了今天人工智能行業(yè)的繁榮滑凉,但一眼望去统扳,整個汽車軟件行業(yè)依然一片沉寂喘帚,都知道軟件很重要,可是符合行業(yè)要求的人才從什么地方來呢咒钟?
? ? ? ?構(gòu)建一個面向車載的全棧軟件參考方案吹由,思考并解決各個組件在車載環(huán)境下面對的挑戰(zhàn)(實時可靠、功能安全朱嘴、信息安全)倾鲫,一方面為各方提供一些參考設(shè)計和思路,另一方面也為剛?cè)腴T的行業(yè)初學者領(lǐng)領(lǐng)路腕够,軟件方面將重點圍繞以下主題展開:
- 車載RTOS系統(tǒng)
- Hypervisor虛擬化
- 分布式通信框架
- 分布式服務(wù)開發(fā)框架
- 分布式計算框架
中央計算單元的架構(gòu)
? ? ? ?完整的數(shù)字系統(tǒng)架構(gòu)级乍,是軟件定義汽車的技術(shù)基礎(chǔ)舌劳,應(yīng)該是由帚湘,電子電氣架構(gòu)+計算單元硬件架構(gòu)+軟件架構(gòu)三部分組成。
? ? ? ?傳統(tǒng)的整車部門也會有電子電氣架構(gòu)甚淡,其涵蓋的內(nèi)容很廣大诸,但是數(shù)字系統(tǒng)更多的關(guān)注通信與計算的部分,兩者是一個互補的合作關(guān)系贯卦。在Domain向Zonal發(fā)展過程中就產(chǎn)生了一個分水嶺资柔,Domain之前傳統(tǒng)的EEA部門就能完全應(yīng)對,Zonal 之后由于新增了大量的軟件開發(fā)工作撵割,需要與軟件團隊高度合作贿堰。
? ? ? ?今天討論的重點不是EEA架構(gòu),而是其中最關(guān)鍵的部分啡彬,中央計算單元羹与,不管是按區(qū)域的架構(gòu),還是以后的純中央計算平臺庶灿,其硬件構(gòu)型從根本上決定了軟件架構(gòu)的設(shè)計方向纵搁。
中央計算單元可以分為以下三種形態(tài):
- 分離式
- 硬件隔離式
- 軟件虛擬式
? ? ? ?分離式是指,將多個不同的芯片集成到一個中央計算單元上去往踢,每個運行不同的操作系統(tǒng)腾誉,只是在形態(tài)上集中到了一起,各單元依然獨立的完成各自任務(wù)峻呕,代表如特斯拉AP利职,奧迪zFAS等。
? ? ? ?硬件隔離式是指瘦癌,在統(tǒng)一的計算平臺上采用虛擬化方案猪贪,同時運行多個操作系統(tǒng),但是各個系統(tǒng)依然在硬件上進行隔離佩憾,每個系統(tǒng)都有自己的專屬硬件資源哮伟。
? ? ? ?軟件虛擬式是指干花,在統(tǒng)一的計算平臺上采用虛擬化方案,同時運行多個操作系統(tǒng)楞黄,每個操作系統(tǒng)所使用的硬件資源池凄,由Hypervisor層動態(tài)調(diào)配,每個系統(tǒng)并沒有專屬的硬件資源鬼廓。
? ? ? ?分離式最大的好處就是功能邊界清晰肿仑,相比于傳統(tǒng)的獨立的BOX,只需要在電路設(shè)計上碎税,把每個芯片放在不同的PCB板尤慰,然后將多塊PCB疊加在一起。壞處就是雷蹂,硬件資源浪費伟端,每個芯片都需要一個最小系統(tǒng),并且硬件上還沒法拓展匪煌。
? ? ? ?硬件隔離式和軟件虛擬式责蝠,都采用了虛擬化方案,唯一不同點在于硬件資源是否專屬萎庭,如果是專屬的霜医,就意味著資源無法動態(tài)調(diào)配,容易產(chǎn)生資源浪費驳规。 虛擬化方案最大的好處是肴敛,硬件上的可拓展性,如果中央計算單元采用刀片式的設(shè)計結(jié)構(gòu)吗购,可以很方便的拓展計算單元的算力医男,而不用替換整個計算單元。
? ? ? ?談到Hypervisor虛擬化巩搏,大家最大的顧慮就是穩(wěn)定性昨登,其實在中央計算單元中,只需要兩個操作系統(tǒng)即可贯底,用于自動駕駛丰辣、車控、網(wǎng)關(guān)的RTOS禽捆,以及用于娛樂的普通OS(如Android笙什、Linux)。用于娛樂的OS完全可以通過虛擬機的方式運行胚想,用于自動駕駛琐凭、車控、網(wǎng)關(guān)的RTOS浊服,可以直接運行在Hypervisor層统屈,這樣在兼顧實時計算的要求的前提下也能獲得豐富的娛樂系統(tǒng)功能胚吁。
結(jié)語
? ? ? ?前面幾篇介紹了面向服務(wù)的架構(gòu)設(shè)計SOA,但是SOA其實只是解決了軟件定義汽車中的一個問題愁憔,即服務(wù)的開發(fā)腕扶、通信等問題,他只是整個技術(shù)棧當中的一環(huán)吨掌,而且也并不是解決這個問題的唯一途徑半抱。
? ? ? ?收到了一些專家的反饋,他們認為應(yīng)該從更高的維度去闡釋軟件定義汽車膜宋,架構(gòu)設(shè)計中窿侈,不僅要包含車載計算,還應(yīng)考慮其與云端秋茫、邊緣端等的關(guān)系史简,所以接下來將從底層的基礎(chǔ)系統(tǒng)入手,逐步向上拓展学辱,將這個分布式系統(tǒng)的范圍進一步擴大乘瓤。本篇只是開了個頭环形,下一篇將重點探討策泣,Hypervisor虛擬化技術(shù)在基礎(chǔ)系統(tǒng)架構(gòu)中的應(yīng)用。