加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
    • 1.? 背景、挑戰(zhàn)與業(yè)界進(jìn)展
    • 2.? 方案介紹
    • 3.? 方案優(yōu)勢
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

基于DPU的輕量虛擬化解決方案

10/14 14:59
1201
閱讀需 20 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

1.? 背景、挑戰(zhàn)與業(yè)界進(jìn)展

1.1. 虛擬化技術(shù)背景

云計算的浪潮中,虛擬化技術(shù)扮演著舉足輕重的角色。它通過將物理機集群的資源進(jìn)行抽象整合,構(gòu)建出一個統(tǒng)一的虛擬資源池。在這個資源池中,每一臺物理機上都會運行宿主機以及虛擬化的系統(tǒng)軟件。這些系統(tǒng)軟件負(fù)責(zé)為用戶提供虛擬的計算環(huán)境,包括虛擬CPU、虛擬內(nèi)存、虛擬網(wǎng)絡(luò)等,都是由Hypervisor這一核心組件來實現(xiàn)的。Hypervisor不僅確保了虛擬機計算能力的平穩(wěn)性和彈性,還為用戶提供了靈活的資源調(diào)度和分配能力。

虛擬化技術(shù)在云數(shù)據(jù)中心、大數(shù)據(jù)處理、AI機器學(xué)習(xí)等多個領(lǐng)域都得到了廣泛的應(yīng)用。通過虛擬化技術(shù),企業(yè)可以更加高效地利用物理資源,實現(xiàn)資源的按需分配和彈性擴(kuò)展,從而提高業(yè)務(wù)的靈活性和響應(yīng)速度。

1.2. 虛擬化技術(shù)面臨的問題與挑戰(zhàn)

盡管虛擬化技術(shù)帶來了諸多優(yōu)勢,但在實際應(yīng)用中也面臨著一些問題和挑戰(zhàn)。

首先,虛擬化架構(gòu)中的管理面會占用部分CPU和內(nèi)存資源,從而降低了系統(tǒng)整體資源的利用率。系統(tǒng)服務(wù)systemd,或libvirtd等虛機管理程序的線程與vCPU線程之間存在資源爭搶的問題,導(dǎo)致業(yè)務(wù)虛擬機的穩(wěn)定性難以保證,進(jìn)而影響客戶業(yè)務(wù)的質(zhì)量。

其次,虛擬機I/O處理線程會占用大量的CPU和內(nèi)存資源。虛擬化通常使用virtio-blk,virito-net為虛機提供磁盤和網(wǎng)卡設(shè)備,為了獲得更好的I/O性能,virtio-blk會采用iothread機制加速磁盤I/O的處理;而virtio-net則采用vhost-net的方案將網(wǎng)卡的I/O卸載到內(nèi)核,通過減少用戶態(tài)和內(nèi)核態(tài)的切換來減速網(wǎng)卡的I/O的處理;不論是iothread還是vhost-net,都需要在Host上創(chuàng)建對應(yīng)的線程來完成具體的I/O處理,當(dāng)I/O負(fù)載高的時候,iothread和vhost-net的處理線程會占用大量的CPU和內(nèi)存資源。

此外,虛擬化技術(shù)的安全性問題也不容忽視。當(dāng)前主流虛擬化方案都是采用QEMU + KVM的形式,QEMU模擬了豐富的外設(shè),由于編寫模擬設(shè)備的人員眾多,加上設(shè)備的接口大多數(shù)比較復(fù)雜,因此QEMU經(jīng)常在處理這些讀寫請求的時候沒有完整的對請求數(shù)據(jù)進(jìn)行安全校驗,導(dǎo)致產(chǎn)生了很多安全性問題。攻擊者可能會利用虛擬化和Hypervisor的安全漏洞展開攻擊,從而威脅到整個虛擬化環(huán)境的安全。

1.3. 頭部云服務(wù)提供商的方案

針對虛擬化技術(shù)面臨的問題和挑戰(zhàn),業(yè)界頭部云服務(wù)提供商紛紛展開了探索和研發(fā),并不約而同的提出了基于DPU的輕量虛擬化方案。

AWS研發(fā)了Nitro系統(tǒng),通過Nitro卡將虛擬機的I/O卸載到硬件上,從而消除了I/O處理線程對VCPU的資源搶占。同時,Nitro hypervisor內(nèi)置了虛擬機的管理能力,將管理組件卸載到Nitro SoC上。這種設(shè)計不僅提高了系統(tǒng)的資源利用率和穩(wěn)定性,還大大增強了虛擬化的安全性。Host側(cè)只運行Nitro hypervisor,不提供通用OS能力,沒有用戶態(tài)和文件系統(tǒng),從而減少了潛在的攻擊面。

VMware也提出了基于DPU的ESXi卸載方案。在該方案中,Host ESXi hypervisor負(fù)責(zé)虛擬化的核心邏輯,而DPU上的ESXi hypervisor則負(fù)責(zé)主機管理、存儲和網(wǎng)絡(luò)等功能。這種設(shè)計同樣消除了管理和I/O處理的CPU占用,減少了vCPU的搶占,保證了vCPU的性能。同時,它也減少了Host的攻擊面,增強了系統(tǒng)的安全性。

阿里云則推出了神龍系統(tǒng),其中的Dragonfly Hypervisor以其超輕薄、資源零損耗的特點著稱。根據(jù)公開資料,其內(nèi)存占用每個虛擬機不到1MB,CPU占用小于0.1%。這種超低的資源損耗使得神龍系統(tǒng)能夠提供更加平穩(wěn)、高效的虛擬化服務(wù)。同時,Dragonfly Hypervisor還具備超平穩(wěn)、超平滑的特點,能夠解決資源池之間互相熱遷移的難題,與KVM無縫兼容,從而為用戶提供了更加穩(wěn)定、可靠的云服務(wù)。

1.4. DPU輕量虛擬化方案的成效與市場應(yīng)用挑戰(zhàn)

基于DPU的輕量虛擬化Hypervisor解決方案在市場上取得了顯著的成效。它大幅提升了資源利用率,降低了運營成本,增強了系統(tǒng)的安全性,為用戶提供了更加穩(wěn)定、可靠的云服務(wù)。這些優(yōu)勢使得該方案在市場上得到了廣泛的認(rèn)可,其商業(yè)價值也得到了充分的體現(xiàn)。

然而,頭部云廠商自研的解決方案往往具有高度定制化和封閉性的特點,大部分未面向公開商用市場,這限制了其應(yīng)用范圍的擴(kuò)大。尤其是在國內(nèi)市場,商業(yè)化、公開的DPU輕量虛擬化解決方案仍然是一片空白。這不僅限制了其他云廠商或行業(yè)客戶對這些方案的直接采用,也阻礙了基于DPU的虛擬化技術(shù)的進(jìn)一步發(fā)展和普及。

綜上所述,基于DPU的輕量虛擬化方案將為虛擬化技術(shù)帶來了新的發(fā)展機遇,各云服務(wù)提供商和企業(yè)對該類方案的需求日益增加,市場呼喚創(chuàng)新和開放的解決方案。

2.? 方案介紹

為了應(yīng)對虛擬化技術(shù)面臨的問題和挑戰(zhàn),中科馭數(shù)在多年的技術(shù)積累和豐富的行業(yè)經(jīng)驗基礎(chǔ)上,面向公開市場,推出了基于自研DPU的輕量虛擬化解決方案。

2.1. DPU輕量虛擬化整體方案架構(gòu)

基于中科馭數(shù)DPU的輕量虛擬化方案,在Host側(cè)只保留Hypervisor和部分Linux內(nèi)核功能,且不提供用戶態(tài)控制面組件。QEMU作為Device Emulation service組件運行在SoC,提供虛機機型及設(shè)備的模擬,Host側(cè)只有VCPU內(nèi)核線程。馭數(shù)DPU卡支持nvme和virtio-net的硬件卸載,因此虛機的存儲和網(wǎng)卡采用VF直通的方式透傳給虛機,提供高性能的存儲和網(wǎng)絡(luò)。其他非關(guān)鍵I/O設(shè)備則采用半卸載的方式,卸載到SoC側(cè),交由QEMU進(jìn)行模擬。

該方案中,每一個虛機都分配了一個特殊的PCIe設(shè)備,該PCIe設(shè)備的BAR空間劃分成了兩部分,其他一部分用于API信息的交互,成為API CHANNEL;另外一部分用于I/O請求的交互,稱為IOREQ RING BUFFER。

以下為該方案的關(guān)鍵組件:

Libvritd:該組件運行在SoC側(cè),對上層管理組件如nova-compute等提供虛機管理API,libvirtd進(jìn)一步和SoC側(cè)QEMU進(jìn)行交互達(dá)到管理虛機生命周期的目的。

QEMU:運行在SoC側(cè),提供虛機的I/O設(shè)備模擬服務(wù),QEMU的交互接口是SoC-KVM提供的/dev/kvm-soc設(shè)備文件。QEMU在模擬I/O設(shè)備的過程中通過DPU卡提供DMA機制訪問HOST內(nèi)存。

SOC-KVM:這是HOST-KVM內(nèi)核模塊在SoC側(cè)的鏡像,通過向用戶態(tài)暴露/dev/kvm-soc設(shè)備文件,供用戶態(tài)組件如QEMU,libvirtd等調(diào)用SOC-KVM提供的能力。該KVM內(nèi)核模塊不提供具體的CPU、MEMORY、I/O等虛擬化能力,只是作為管理面API和虛機I/O請求的轉(zhuǎn)發(fā)模塊。管理面API通過API channel轉(zhuǎn)發(fā)到HOST-KVM模塊,并由HOST-KVM進(jìn)行處理;來自HOST-KVM的I/O請求保存在IOREQ RING BUFFER中,并由SOC-KVM分發(fā)給用戶態(tài)QEMU。

HOST-KVM:這個內(nèi)核模塊是原生KVM的擴(kuò)展,與原生KVM的區(qū)別是:請求不是來自用戶態(tài)I/OCTL請求,而是來自API channel;除了原生提供的API,HOST-KVM進(jìn)一步提供了管里面API的處理,如nova-compute或kubelet的資源匯報類接口。

馭數(shù)DPU卡提供了SoC和Host間的雙向內(nèi)存同步機制及SoC和Host間的雙向中斷機制,配合IOREQ RING BUFFER,使得虛機的I/O請求可以卸載到SoC側(cè)QEMU完成;通過API channel,使得來自SoC側(cè)管理API可以被HOST-KVM處理。

2.2. 方案描述

中科馭數(shù)DPU輕量虛擬化在保持虛機形態(tài)不變的情況下,完成了的虛機I/O和控制面的卸載;以下對主要部分做詳細(xì)描述:

2.2.1.??基于該方案的虛機生命周期管理

Libvirt-soc使用原生API和QEMU-SOC交互,QEMU-SOC采用原生API和KVM-SOC交互,KVM-SOC使用硬件的API channel通道,轉(zhuǎn)發(fā)KVM-SOC的API到KVM-HOST,最后由KVM-HOST完成具體的處理。上圖以虛機啟動為例展示了各個組件的交互,在完成VM和VCPU創(chuàng)建后,QEMU-SOC進(jìn)一步加載BIOS或kernel,加載后需要使用DMA機制將BIOS內(nèi)存塊同步給Host;加載成功后,設(shè)置虛機的寄存器,并發(fā)送kvm_run請求,開始VCPU的運行。

2.2.2.??基于該方案的虛機I/O處理

GUEST的I/O操作,無論是PIO還是MMIO操作,都會導(dǎo)致VMEXIT,VMEXIT后KVM-HOST檢查是否能夠處理該I/O,如果無法處理,則需要將該I/O轉(zhuǎn)交給KVM-SOC。KVM-HOST構(gòu)造I/OREQ結(jié)構(gòu)體,該結(jié)構(gòu)體描述了該I/O的類型,地址,長度,數(shù)據(jù)等內(nèi)容。構(gòu)造完成后,將該IOREQ存放在IOREQ RING BUFFER中,并通過中斷機制通知SoC側(cè),有新IOREQ到達(dá)。

KVM-SOC通過ioeventfd機制通知QEMU-SOC,QEMU-SOC訪問BAR空間的IO RING BUFFER,取出IOREQ并處理。處理過程中,通過DMA機制訪問Host內(nèi)存。處理結(jié)束后,QEMU-SOC通過KVM-SOC 的ioctl接口注入中斷。KVM-SOC通過BAR空間的API channel轉(zhuǎn)發(fā)中斷注入的API到KVM-HOST,最終由KVM-HOST完成虛機中斷的注入工作。

2.2.3.??基于該方案的虛機熱遷移處理

Libvirt-soc發(fā)起熱遷移操作,使用QEMU-SOC提供的QMP命令接口通知QEMU-SOC。QEMU-SOC連接遷移對端的QEMU,并開始熱遷移的操作。QEMU-SOC首先發(fā)送全量的內(nèi)存到對端,內(nèi)存的同步使用DMA機制完成;全量內(nèi)存發(fā)送完成后,開始迭代發(fā)送臟頁,首先通過API channel,告知KVM-HOST開始記錄臟頁,在后續(xù)的迭代過程中,使用DMA機制將臟頁信息從Host同步到SoC。在熱遷移的最后階段,KVM-SOC通過API channel發(fā)送暫停VCPU的API,KVM-HOST停止VCPU的運行。VCPU暫停后,QEMU-SOC停止所有I/O設(shè)備的運行,并發(fā)送最后的臟頁的設(shè)備狀態(tài)到對端。熱遷移結(jié)束后,QEMU-SOC調(diào)用KVM-SOC的ioctl接口,銷毀虛機,KVM-SOC通過API channel通知KVM-HOST完成真正的銷毀操作。

2.2.4.??openstack控制面對接

在該方案中nova-compute和libvirt均運行在DPU的SoC系統(tǒng)內(nèi),libvirtd直接和SoC側(cè)QEMU交互鏡像虛機管理,Host文件系統(tǒng)通過sharedfs代理到SoC側(cè),libvirtd通過在SoC側(cè)訪問Host文件系統(tǒng)來完成Host系統(tǒng)資源的跟蹤和管理。虛機的網(wǎng)絡(luò)和存儲使用PCIe直通的方式,給虛機提供高性能存儲和網(wǎng)絡(luò)。存儲和網(wǎng)絡(luò)資源的管理通過nova-compute的yusur-driver完成,yusur-driver使用/dev/kvm-soc接口請求KVM-HOST側(cè)的PCIe資源管理能力,完成虛機PCIe資源的準(zhǔn)備、銷毀等操作。

3.? 方案優(yōu)勢

3.1. 方案優(yōu)勢

基于DPU的輕量虛擬化解決方案展現(xiàn)出了顯著的價值與優(yōu)勢,這一方案不僅填補了市場空白,更引領(lǐng)了云計算行業(yè)的技術(shù)創(chuàng)新。

a. 填補空白,引領(lǐng)創(chuàng)新

該方案作為國內(nèi)首創(chuàng)的、公開的、可商業(yè)化的DPU輕量虛擬化方案,打破了頭部云廠商自研方案的封閉性,為更多云廠商和行業(yè)客戶提供了可借鑒和采用的先進(jìn)技術(shù)。這一方案的推出,無疑為云計算行業(yè)的多元化發(fā)展注入了新的活力。

b. 硬件加速,性能卓越

基于DPU的輕量虛擬化方案充分利用了DPU提供的硬件加速能力,顯著提升了系統(tǒng)性能和I/O處理效率。在云計算環(huán)境中,I/O性能往往是決定業(yè)務(wù)穩(wěn)定性和響應(yīng)速度的關(guān)鍵因素。該方案通過I/O卸載技術(shù),將I/O處理下放給DPU,有效減輕了HOST的負(fù)擔(dān),從而提升了整體系統(tǒng)的性能。

c. 顯著提升資源利用率

該方案還顯著提升了資源利用率。傳統(tǒng)的虛擬化技術(shù)中,管理面和I/O處理線程會占用大量的CPU和內(nèi)存資源,導(dǎo)致系統(tǒng)整體資源利用率降低。而基于DPU的輕量虛擬化方案則通過精簡Hypervisor的設(shè)計,幾乎不消耗任何主機側(cè)的資源,使得所有的資源都被業(yè)務(wù)系統(tǒng)所使用。這一優(yōu)勢不僅降低了運營成本,還提高了業(yè)務(wù)的盈利能力。

d. 減少攻擊面,強化安全

該方案在安全性方面也表現(xiàn)出色,通過I/O卸載技術(shù),將I/O處理下放給DPU,有效地減少了HOST的攻擊面,大大增強了HOST的安全性。同時,該方案還采用了多種安全技術(shù)和措施,進(jìn)一步提升了系統(tǒng)的安全性。

綜上所述,基于DPU的輕量虛擬化解決方案在技術(shù)創(chuàng)新、性能提升、資源利用率提高以及安全性增強等方面都展現(xiàn)出了顯著的優(yōu)勢和價值。這一方案的推出將為云計算行業(yè)的發(fā)展帶來新的機遇。

3.2. 未來與展望

展望未來,基于DPU的輕量虛擬化解決方案具有廣闊的發(fā)展前景。隨著云計算、大數(shù)據(jù)、人工智能等領(lǐng)域的快速發(fā)展,資源池規(guī)模不斷擴(kuò)大,對虛擬化技術(shù)的需求將日益增長。該方案以其卓越的性能、高效的資源利用率和強大的安全性,將成為推動這些領(lǐng)域發(fā)展的關(guān)鍵力量。

在技術(shù)層面,隨著DPU技術(shù)的不斷演進(jìn)和升級,基于DPU的輕量虛擬化解決方案也將不斷優(yōu)化和完善,我們可以期待該方案在I/O處理效率、資源利用率和安全性方面實現(xiàn)更大的突破,為用戶提供更加優(yōu)質(zhì)、高效的云服務(wù)體驗。

同時,該方案的商業(yè)化應(yīng)用也將進(jìn)一步拓展。隨著越來越多的云廠商和行業(yè)客戶認(rèn)識到其價值和優(yōu)勢,基于DPU的輕量虛擬化解決方案有望在市場上實現(xiàn)更廣泛的應(yīng)用和推廣,為云計算行業(yè)的持續(xù)發(fā)展注入新的動力。

本方案來自于中科馭數(shù)軟件研發(fā)團(tuán)隊,團(tuán)隊核心由一群在云計算、數(shù)據(jù)中心架構(gòu)、高性能計算領(lǐng)域深耕多年的業(yè)界資深架構(gòu)師和技術(shù)專家組成,不僅擁有豐富的實戰(zhàn)經(jīng)驗,還對行業(yè)趨勢具備敏銳的洞察力,該團(tuán)隊致力于探索、設(shè)計、開發(fā)、推廣可落地的高性能云計算解決方案,幫助最終客戶加速數(shù)字化轉(zhuǎn)型,提升業(yè)務(wù)效能,同時降低運營成本。

中科馭數(shù)

中科馭數(shù)

中科馭數(shù)致力于專用處理器研發(fā),為智能計算提供芯片和產(chǎn)品解決方案。圍繞DPU芯片打造了智能網(wǎng)卡系列產(chǎn)品和解決方案。

中科馭數(shù)致力于專用處理器研發(fā),為智能計算提供芯片和產(chǎn)品解決方案。圍繞DPU芯片打造了智能網(wǎng)卡系列產(chǎn)品和解決方案。收起

查看更多

相關(guān)推薦

電子產(chǎn)業(yè)圖譜