幾年時間,開源在中國增長趨勢有目共睹,與此同時,Xen Project技術正成為云計算的關鍵支撐。
最近,Xen Project宣布華為加入了Xen項目咨詢委員會。越來越多的中國企業(yè)采用了Xen Project的軟件,并對其做出貢獻,其中包括華為、阿里巴巴、富士通(中國)、英特爾(中國)、騰訊、浪潮等。
鑒于關鍵技術需要加強合作才能完成開發(fā),越來越多的中國企業(yè)正在使用開源軟件來超越競爭對手。通過加入Linux基金會旗下的項目,國內企業(yè)推動了項目的進一步增長和發(fā)展。
6月30日,Linux基金會旗下的Xen Project發(fā)布Xen Project Hypervisor 4.9版本。這一最新版本的高級功能適用于嵌入式、汽車和原生云計算應用。它還改進了啟動配置,方便在不同硬件平臺間進行遷移,x86新指令可加速機器學習計算,并增強了與ARM?架構相關的現(xiàn)有功能及設備模型操作hypercall等功能。
Xen Project在嵌入式和汽車領域的應用保持持續(xù)增長,這是因為越來越多的公司希望把虛擬化擴展到嵌入式設備中,同時繼續(xù)發(fā)揮hypervisor的優(yōu)勢,這包括通過整合降低成本;把硬件抽象出來,使應用程序與硬件分離;硬件隔離的好處是能夠更好地保護軟件免受漏洞的影響,并提高軟件容錯能力。此外,更多的貢獻在于開始為hypervisor在云原生平臺發(fā)揮其功能和優(yōu)勢奠定了基礎。
Xen Project咨詢委員會主席Lars Kurth表示:“過去幾年,Xen Project所取得的成果越來越多,特別是中國會員的增加和來自中國的成果更是喜人。我們看到越來越多的公司參與到該項目中,他們關注汽車、嵌入式、安全和原生云計算。我們非常高興看到企業(yè)的積極參與,因為越來越多的貢獻者幫助Xen Project在嵌入式、汽車和安全方面取得進展,同時反過來使我們能進一步鞏固傳統(tǒng)的環(huán)境,例如服務器虛擬化、基礎設施即服務和桌面虛擬化等。”
在嵌入式和汽車應用中擴展Xen Project功能
“空”調度器支持將每個虛擬CPU分配給物理CPU的應用場景,從而避免了汽車和嵌入式環(huán)境中幾乎所有的調度程序開銷。“空”調度器的使用確保了調度開銷幾乎為零,顯著降低了延遲,更可預測性能。
全新ARM vwfi參數(shù)(中斷虛擬等待)使Xen Project Hypervisor處理WFI(中斷等待)指令時能進行更精細的控制。將vwfi設置為“native”能夠減少約60%的中斷延遲。Xilinx? Zynq? Ultrascale+? MPSoC的基準測試表明,最大中斷延遲不到2微秒,這非常接近硬件極限,對于絕大多數(shù)嵌入式應用來說已經足夠小了。
Xen 4.9包括用在眾多嵌入式、汽車和原生云計算應用中虛擬機之間共享設備的全新標準ABI(包括參考實現(xiàn))。
對于嵌入式/汽車應用,可以增加虛擬聲音ABI來實現(xiàn)音頻源的播放和采集,以及音量控制,靜音/取消靜音等。除了用于復雜顯示設備的全新虛擬顯示ABI之外,還增加了多個幀緩沖區(qū)呈現(xiàn)和顯示功能,并為虛擬鍵盤/鼠標協(xié)議增加了多點觸控支持(支持觸摸屏)。
為下一代云原生計算奠定了基礎
在Xen 4.9版應用中,Linux內核上游合并了Xen 9pfs前端,QEMU合并了9pfs后端?,F(xiàn)在可以把文件系統(tǒng)從一個虛擬機共享到另一個虛擬機,這是在很多容器引擎(例如,CoreOS rkt)中增加Xen Project支持所要求的。
此外,還引入了PV Calls ABI,以支持在客戶機之間轉發(fā)POSIX請求:源自DomU應用程序的POSIX 調用可以在Dom0中轉發(fā)和實現(xiàn)。例如,客戶機網絡套接字調用可以在Dom0執(zhí)行,實現(xiàn)了一種適合云原生應用程序的新型網絡模型。
對 Xen Project hypervisor全新版本發(fā)布做出貢獻的包括亞馬遜、AMD Aporeto、ARM、BitDefender、Citrix、EPAM、富士通、華為、英特爾、Invisible Things Lab、諾基亞、Oracle、Star Lab、Suse、Xilinx、Zentific以及很多大學和個人。不斷推陳出新的版本也源于越來越多貢獻者的參與。例如,對該版本核心hypervisor的貢獻者增加了25%,而對hypervisor、測試和其他相關組件的貢獻者增加了17%。
其他新功能和對現(xiàn)有功能的改進包括:
在使用GRUB2(x86)的EFI平臺上啟動Xen:從Xen Project 4.9和GRUB2 2.02開始,可以采用舊版BIOS和EFI x86平臺上的multiboot2協(xié)議啟動Xen Project Hypervisor。對multiboot2協(xié)議的部分支持也被引入到網絡啟動固件(iPXE)中。這使得Xen Project啟動過程更加靈活;可以直接從啟動加載程序(不必使用文本編輯器)修改啟動配置,更容易在不同的平臺之間移植啟動配置。
DMOP(設備模型操作Hypercall):在Xen 4.9中,Xen Project軟件和QEMU之間的接口被徹底重寫和整合。Xen中現(xiàn)在只有一個hypercall(DMOP hypercall),讓privcmd驅動可以審核所有QEMU傳遞給Xen的內存范圍和參數(shù)。Linux privcmd驅動程序支持DMOP審核,這樣就限制了被入侵的QEMU攻擊hypervisor的能力。
適用于ARM 32位客戶機的可選運行時補丁和GICv3支持:可選運行時補丁使hypervisor能針對CPU勘誤進行修補,并針對CPU進行優(yōu)化,GICv3支持擴展到32位ARM平臺,從而在嵌入式應用中實現(xiàn)此功能。
系統(tǒng)錯誤檢測(ARM):ARM上的Xen在可靠性和可服務性方面邁出了一大步,引入了系統(tǒng)錯誤檢測和報告功能,對具有高可用性系統(tǒng)的客戶而言是一個關鍵功能。
英特爾和x86功能支持:Xen Project Hypervisor的最新版本增加了對神經網絡指令AVX512_4VNNIW和乘法累加單精度AVX512_4FMAPS的支持,這些可以作為AVX512指令集的子族。通過在Xen中為HVM和PV客戶機啟用這些指令,客戶機操作系統(tǒng)中的程序可以充分利用這些重要指令來加速機器學習的計算。這一Xen版本還進一步增強了VT-d發(fā)布中斷(PI)優(yōu)化、機器檢查異常(MCE)處理等功能。
GCOV支持:我們刪除了舊的GCOV實現(xiàn),采用更新版本來替代它,新版本支持更多格式,并有更為通用的接口。