《夏創林-rtt-技術分享會終稿.pptx》由會員分享,可在線閱讀,更多相關《夏創林-rtt-技術分享會終稿.pptx(26頁珍藏版)》請在三個皮匠報告上搜索。
1、RT-VisorRT-Visor:適用于嵌入式系統的虛擬化解決方案夏創林操作系統與嵌入式愛好者目錄01技術背景03實機演示02設計與實現04性能測試技術背景011Christopher,S.(1959).Time Sharing in Large Fast Computers.Proceedings of the International Conference on Information processing,UNESCO.2.19,pp.336-341.UNESCO.Retrieved February 1,2014.虛擬化技術始于上個世紀六十年代1,這并不是一項新技術,為什么仍被提及?
2、第一個十年:萌芽發展上個世紀60年代,IBM公司開始針對旗下部分大型機器研發虛擬化技術,使客戶們可以更好地共享當下昂貴又稀缺的計算資源。第二個十年:研究低谷上個世紀70年代,個人電腦的出現使虛擬化發展陷入低谷。摩爾定律使大型機虛擬化不再實用,廉價計算機的興起改變了計算資源共享思路。第三個十年:蓬勃發展vmware發掘出新市場:小型機的虛擬化Intel和AMD的硬件虛擬化催生出KVM持續演進虛擬化技術作為云計算的關鍵核心技術之一,正持續發展,趨于成熟現在:跨界再發展盡管某些高端嵌入式系統端已經出現了富算力,但是應用任務也越來越復雜新能源汽車智能座艙:既要運行娛樂系統,又要進行AI交互虛擬化技術的
3、再發展、“嵌入式化”掀起新一波研究熱潮嵌入式系統的虛擬化和以往云計算中的虛擬化有何區別?系統輕量化:KVM和Xen項目體積龐大曾與arm適配但仍不適用實時性優化嵌入式設備需要較強實時性云計算則并沒有相關需求調整虛擬化功能傳統的云計算需要考慮用戶的隱私問題嵌入式系統中的虛擬化以全局角度出發共生關系,可以去掉虛擬機的遷移更多的設備管理嵌入式系統中的設備眾多異構計算資源設計與實現02 RT-Visor設計與結構組織輕量化實現混合部署。以RT-Thread為底座,構建的輕量化混合部署方案vcpu與線程映射,依托RT-Thread優秀線程調度框架,保障嵌入式場景的實時需求靈活、動態創建并配置虛擬機,實現
4、快速部署實現多種虛擬化設備管理方式。既可實現資源隔離,又可以共享資源,提高資源利用率國產全自主可控RTT-Visor特點特點RT-visorRTT-Visor特點VM管理為確保各虛擬機之間的資源隔離和穩定運行,需要保護虛擬機的設備和模塊信息RT-Visor提供虛擬機(Virtual Machine,VM)描述,針對虛擬機的不同模塊進行統一管理在系統發生陷入或是切換時,以VM為單位保存當前虛擬機的所有狀態RTT-Visor特點vcpuRT-Visor采用vcpu和RT-Thread系統線程相映射的關系實現虛擬處理器,實現輕量化的計算資源合理調度、分配,提升系統對于計算資源的管理能力,拉高處理器資
5、源利用率。RT-Visor所采用的vcpu和RT-Thread系統線程相映射的關系,將vcpu的全生命周期與線程緊密聯系在一起依托于現有的線程調度算法框架,得以擁有較高的vcpu管理權限,此外也更便于開發者圍繞此框架做vcpu調度的二次開發,能夠更加靈活地實現合理的vcpu調度,有效地降低了系統設計實現的復雜度vcpu APIThread API功能釋義功能釋義vcpu_creatert_thread_createvcpu創建get_current_vcpurt_thread_self獲取當前vcpuvcpu_startuprt_thread_startupvcpu啟動vcpu_suspend
6、rt_thread_suspendvcpu掛起vcpu_resumert_thread_resumevcpu恢復vcpu_deletert_thread_deletevcpu刪除RTT-Visor特點虛擬內存管理Guest OS作為完整的操作系統,同樣需要內存以用于程序執行、數據存儲等。向Guest OS提供連續的地址空間,并實現內存隔離機制,RTT-Visor基于arm64提供的stage-2硬件特性實現了兩階段的內存地址翻譯RTT-Visor特點設備管理RT-Visor使用了兩種設備管理模式:內存映射IO(Memory mapping I/O,MMIO)和設備直通(Pass-through
7、)基礎公共設備使用MMIO的方法,例如中斷控制器(Generic Interrupt Controller,GIC)、串口等GPU、USB、PCIe此類設備采用設備直通。實際場景中由開發者決定如何混用RTT-Visor特點RTT-Visor的低耦合設計RT-Visor注重輕量化的設計和易移植性。服務以組件(components)形式獨立運行,形成了低耦合的架構設計硬件輔助虛擬化由內核層virtual arch組件處理硬件與架構接口抽象封裝。移植至不同平臺只需修改bsp的硬件配置,實現多種硬件平臺的快速驗證實機演示03性能測試04樹莓派4B開發板,所運行Linux版本為:linux 4.19.1
8、27-v8以下實驗驗證了原生運行linux 和RT-Visor所啟動的linux虛擬機情況下的性能對比,分別從CPU、內存、文件讀寫、密碼計算、網絡等幾個方面進行測試。RTT-Visor特點CPU基準測試Sysbench CPU 性能對比OpenSSL加密/解密速度對比OpenSSL的加密/解密的速度對比:RTT-Visor啟動的虛擬機與原生linux的得分比值約為:98.66%。虛擬化所引入的開銷約為1.34%Sysbench CPU 性能對比:TT-Visor啟動的虛擬機與原生linux的得分比值約為:99.50%。虛擬化所引入的開銷約為0.50%實驗使用Sysbench、Geekbenc
9、h5、OpenSSL、FIO、iperf3的得分作為性能的評價指標。RTT-Visor特點外設性能基準測試實驗使用Sysbench、Geekbench5、OpenSSL、FIO、iperf3的得分作為性能的評價指標。硬盤I/O讀寫基準測試iperf3網絡帶寬基準測試在順序讀寫、4k讀寫、512k讀寫的測試,指標均值接近于1。無線網絡帶寬對比方面,虛擬機與直接啟動的帶寬差異比值約為97.95%。虛擬機所引入的性能開銷約為2.05%。以太網的帶寬則保持一致綜合基準測試得分基準測試項目基準測試項目性能得分比值性能得分比值Sysbench CPU99.50%OpenSSL密碼學測試98.66%Geek
10、Bench 單核綜合測試98.91%GeekBench 多核綜合測試97.22%Machine learning 性能對比98.44%硬盤I/O讀寫基準測試 1iperf3以太網絡帶寬基準測試 1iperf3無線網絡帶寬基準測試97.95%引入虛擬化會帶來一定的性能開銷,但是利大于弊。我們在盡可能地縮減這方面的開銷,RT-Visor所運行的虛擬機在處理器性能、機器學習計算性能,內存性能等多個方面有著良好的性能優勢,綜合開銷僅在3%左右。為工業,消費電子等提供了國產全自主可控、高性能、靈活且輕量化的適用于嵌入式系統的虛擬化解決方案。致謝黃嘉嘉湖南大學 博士生李陽五邑大學教授RT-Thread 社
11、區(a)(d)(c)(b)圖(a)、(b)表展示了使用 RTT-Visor 啟動的虛擬機和直接啟動的本機 Linux 系統在 Geekbench 5 單核測試中的 12 個項目得分以及總得分。在此比較中,虛擬機得分與本機系統得分之比約為 98.91%。據此推斷,虛擬化引入的性能開銷約為 1.09%。圖(c)、(d)表則呈現了在多核情況下的 Geekbench 5 測試結果,包括 12 個項目得分和總得分。在多核性能比值方面,虛擬化環境的得分約為本機系統的 97.22%,這意味著虛擬化引入的性能開銷約為 2.78%。實驗使用Sysbench、Geekbench5、OpenSSL、FIO、iper
12、f3的得分作為性能的評價指標。附錄實驗還驗證了機器學習計算性能的對比。結果顯示,通過RTT-Visor啟動的虛擬機在性能上能夠達到直接啟動原生Linux系統的98.44%。Machine learning 性能對比實驗使用Sysbench、Geekbench5、OpenSSL、FIO、iperf3的得分作為性能的評價指標。RTT-Visor特點內存基準測試Sysbench Memory 性能對比顯示,通過RTT-Visor啟動的虛擬機與原生Linux系統相比,其得分比值約為99.81%。據此推斷,虛擬化引入的內存性能開銷約為0.19%。Sysbench Memory 性能對比實驗使用Sysbench、Geekbench5、OpenSSL、FIO、iperf3的得分作為性能的評價指標。