2018年6月21-22日,由布谷鳥科技、佐智汽車主辦,艾拉比智能、ADI亞德諾半導體、索喜科技贊助支持的“2018第二屆智能座艙與智能駕駛峰會”在深圳福田區綠景錦江酒店舉辦。英特爾開源研發中心的James Wu在會上做了《小身材大能耐A Big Little Hypervisor for Software Defined Cockpit》的主題演講。
英特爾開源研發中心 James Wu
James Wu:今天我介紹的是全新開源軟件項目“ACRN”,是為IOT和汽車量身訂作的虛擬化軟件項目,也是業界第一個開源的軟件項目。
我將從四個方面進行介紹:
項目介紹
整體架構
開源模式
合作伙伴
今天上午多位嘉賓有非常精彩的演講,特別是胡博士講了車載領域融合的趨勢,SOC的計算能力和應用的快速增長,帶來了將多種應用融合在一起的問題。胡博士提到的硬件融合中,虛擬化技術很關鍵。
虛擬化并不新鮮,從90年代開始,在服務器、數據中心、臺式機應用方面就已出現虛擬化。在開源的軟件里,有KVM這樣的項目正在開展,從商業層面來講,在這個領域中有許多出色的公司。
來源:英特爾
虛擬化經過十幾年的發展,目前已比較成熟,但在嵌入式車載或者IOT領域,虛擬化卻遇到一些挑戰。這些挑戰我歸納總結為三個方面:
多種操作系統的支持。在數據中心或者云端,操作系統的支持相對比較簡單,但在嵌入式方面,操作系統包括各種軟件方案的支持,卻是非常多樣性的。
硬件資源共享的支持。在云端,傳統的虛擬化所需要處理的共享主要是CPU、內存和存儲,最多的是網絡。車載領域我們看到有圖象處理的共享,它與攝像頭相關,以及音頻資源的外設共享,還包括很多安全性硬件支持的共享,這是在云端想象不到的共享要求。
安全域和非安全域的融合。功能安全要求在某些應用場景里非常重要,包括一些實質性的要求,以及計算能力和處理能力的要求。而操作系統如何在同一個虛擬化的平臺上完成這些不同的要求,是全新的挑戰。
來源:英特爾
目前虛擬化發展的現狀是,在數據中心虛擬化方面已經有了很多年的積累,不管是開源方案或是商業方案都有很多成熟的案例。但最要緊的問題是代碼量非常巨大,例如KVM作為一個虛擬化方案必須依附于Linux,但卻占據了Linux非常巨大的代碼量。功能安全認證,從現實性和可靠性上講都有很大的問題。
對嵌入式開發的工程師來講,基于數據中心的虛擬化方案,的確有很多不便,因為它必須要兼顧到數據中心的應用場景,而對嵌入式場景基本沒有太多的考慮。嵌入式和車載應用有很多先行者,比如QNX這樣業界領先的商業虛擬化方案公司,但我們始終沒有看到一個專門的開源方案。開源和閉源并不矛盾,我們希望看到合作。ACRN作為開源虛擬化方案的項目,它并不是定位在一個產品化的方案上。
ACRN項目簡介
ACRN希望能提供比較成熟、穩定的基礎虛擬化技術開源方案,也希望得到合作伙伴的支持,能夠在真正的產品化項目中落地。那么開源有什么好處?我總結了三個優勢:
開源降低開發成本。眾人拾柴火焰高,集合大家的力量能降低開發成本,特別是在基礎性功能方面。
開源提供合作平臺。特別是在硬件廠商和方案商之間,尋求攜手開發的平臺,這是非常重要的。如果沒有一個開源平臺,芯片廠商比如英特爾,很多內部的技術資料不方便對外公開,包括芯片性能、調試方法等,商業方案廠商很難取得這些內部技術資料;同樣芯片廠商也很難拿到商業方案廠商的源代碼。因此很難在一個共同的平臺上做到硬件支持的快速開發。所以ACRN平臺提供了硬件支持,能快速加入到虛擬化平臺里。
通過開源平臺鼓勵創新。汽車行業是快速發展的行業,進入一個新的時代后,很多應用場景可能是芯片廠商在當下想象不到的。而有了開源平臺,大家可以非常方便的試用,進行嘗試,做很多POC(概念驗證)的工作,同時也方便芯片廠商了解新需求和行業發展方向,促進新應用場景的產生。這對芯片廠商、虛擬化方案商、一級供應商,乃至整個市場都是有利的。
ACRN是今年3月在北美的嵌入式大會上正式宣布的,英特爾希望它是真正開源且完全中立的項目。盡管ACRN由英特爾貢獻,但它是屬于Linux基金會的項目,并由Linux基金會管理。雖然當前ACRN還在非常早期的階段,但是我們希望能有更多的廠商在早期介入,以產生更大的影響力。
來源:英特爾
ACRN技術開發的方向和定位
首先ACRN是為嵌入式和車載應用量身定制的虛擬化方案,追求靈活性、輕量級,我們對代碼量有嚴格控制,差不多控制在25K,25000行代碼左右。代碼量小,在做實時性、穩定性和功能安全的認證時就會比較方便。ACRN從設計開始就考慮了功能安全的要求和實時性要求,在開源社區里我們也在推動符合功能安全認證的開發模式,我們會公開所有設計文檔,并尋求開發模式中每行代碼的可追溯性。為了優化嵌入開發,無論是開發平臺的選擇還是整個設計的平衡都是偏向嵌入式和IOT開發。
其次是實時性,我們在設計之初就有考慮硬件終端的實時性,包括快速啟動,我相信這在車載領域非常重要。另外我們在I/O方面也有很多的考慮,因為這和云端不一樣,在嵌入端I/O是多種多樣的,我們采用業界標準的方式。為了實現小身材,我們把I/O的設計放在一個Service OS的概念里,它可以支持多種OS。KVM一般支持基于Linux的OS,而ACRN即可以支持Linux、Android作為它的客戶端OS也可以支持Vxworks, windows等非Linux的OS。今年下半年到明年,我們就會加入對Windows的支持,ACRN將來是可以支持多種OS和多種接口的,因為它的運行模式是中立的模式。
ACRN是針對車載的技術方案。它直接跑在芯片上,有Service OS的概念,這個概念是為了把I/O設備支持單獨拿出來放在OS里,現在開源的Service OS是基于Linux的。在車載領域有很多I/O資源的共享,下圖是具體落實下來后可能的架構。
來源:英特爾
Service OS會把儀表盤做在里面,ADAS的顯示功能做在ADAS的VM里,Android、中控和后臺都有單獨的虛擬機。從I/O的延遲來講,實時性能不是最好,因為I/O訪問要經過Service OS。
來源:英特爾
針對一些實時應用我們有另外一套架構,這套架構是沒有Service OS的,而沒有Service OS,I/O共享就受限制。I/O共享和實時性存在一定的矛盾,所以在這個架構里,我們并沒有太多I/O共享,而是把I/O做分割,有些I/O資源屬于其中一個OS,有些屬于另外一個OS。
ACRN項目現狀
來源:英特爾
ACRN是2018年3月份在嵌入式Linux北美大會上正式宣布,目前已經在GitHub上開源,英特爾也參與了該項目,但英特爾是直接在上面做開發,沒有分內部和外部,外部的代碼就是內部使用的代碼,一模一樣。
可以購買到的兩個硬件平臺是NUC和UP2,歡迎大家貢獻更多的平臺支持,我們和ARM也在討論,希望他們加入到項目中提供ARM平臺支持,當然英特爾也會提供自己的平臺。我們最終的目標是全部的設計文檔都放到開源社區,大家可以共享。
目前開源方面已經有了很多支持,我們集成了基于Linux的Service OS,可以使用Android或者Linux,拿到代碼就可以在上面跑起來。目前對I/O的支持,包括網絡、存儲、I/O的共享支持都已實現,下一步還會把圖形處理、對音頻的支持也加在里面。我們每周都會有一次技術會議、電話會議,開放給所有的社區參與者,主要是介紹它的設計、討論技術方案等。
ACRN項目完全是由英特爾中國來做,從架構設計到整個管理團隊,工程師都是在上海和北京,這也是為了給國內的合作伙伴創造更好的合作機會。6月14日我們在上海舉行了第一次社區見面會,有差不多40位非英特爾的合作伙伴和60多位英特爾的工程師參與。今年10月份在愛丁堡Linux的大會上還有一個beta版會宣布,我相信到時會有更多的功能加入進來。
來源:英特爾
關于管理方式原則
剛才提到ACRN項目是中立的開源項目,和Google的Android不一樣,不會按照Google的套路走。ACRN是完全開放、完全透明的,開發完全在社區里進行,不隱藏任何東西,我們希望其他公司參與進來。英特爾中國團隊在2003年就參與了KVM,我們希望采用KVM這樣的開發模式。另外為了方便商業方案提供商,軟件授權是非常寬松的,是BSD的,所以它并不強行要求你把代碼貢獻回來,但是我們希望合作伙伴能夠把技術代碼給貢獻回來,當然你也可以有所保留。
來源:英特爾
我們希望有更多的業界合作伙伴加入之后建立Linux Foundation的結構,并不希望某個公司超過50%。投票權是基于大家在社區的代碼貢獻而定,這是整個項目的運行模式。
再一次的歡迎大家加入這個新的項目,特別是在車載領域,我相信融合是一個大趨勢,但融合會遇到一些挑戰,而我們希望通過開源項目能夠降低門檻和成本,同時激發更多的創新。
提問環節
提問:我有兩個問題請教,第一,我們知道英特爾在虛擬化技術方面是很擅長的,有很多在硬件上的技術,如果我們用Hypervisor,不是英特爾的硬件,是不是能夠充分發揮它在虛擬化方面的優勢?另外后續你們會不會基于其他的硬件進行研發?
第二,因為Hypervisor在汽車領域比較新,大家不是特別擔心它能否實現,而是更擔心它能否產品化,我想請問,您對開源的Hypervisor是否能產品化有什么看法?
James Wu:非常好的問題,我先回答第二個問題,因為產品化有一定的難度,所以我們才來做開源,希望能降低整個業界關于融合和Hypervisor虛擬化的門檻。英特爾內部投了很多資源在上面,我們有很多工程師在上面做開發,同時希望業界能加入進來,降低整個門檻。
我們看到服務器領域、數據中心領域剛開始做虛擬化的時候也是有比較高的門檻,但因為KVM等一些開源項目,到現在已經不再是很困難的事情了。同時這并沒有消除商業化方案的空間,很多強大的公司會提供他們的增值領域,我覺得產品化就是ACRN項目的出發點。我們做的時候非常注重產品化,并且有更多的測試用例、測試控制會加入到項目中,也希望大家能貢獻各自的力量,一起把這個事情做好。
關于硬件平臺,ACRN是中立的,對于英特爾來說,我們的工程師不太可能直接開發針對ARM的支持,但是我們正在和ARM談,對于ACRN團隊來說,我們非常愿意看到ARM以及其他的廠商加入進來。
從設計的角度來看,我們一開始就會考慮到對ARM平臺支持。不讓ARM平臺加進來,這不現實。從芯片功能的角度來看,英特爾以前一直做數據中心和云,虛擬化功能在芯片里面比較強大,同時ARM不斷努力,也要進云端,包括AMD很多芯片廠商都有類似的技術。我相信虛擬化平臺將來肯定會落在每個架構上,英特爾愿意成為社區的成員,把這個餅做大,把融合的事情做大,這是英特爾的出發點。
-
英特爾
+關注
關注
61文章
10002瀏覽量
172116 -
嵌入式開發
+關注
關注
18文章
1034瀏覽量
47648 -
智能駕駛
+關注
關注
3文章
2572瀏覽量
48845
原文標題:英特爾:用于汽車座艙的開源虛擬化平臺ACRN
文章出處:【微信號:zuosiqiche,微信公眾號:佐思汽車研究】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論