偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

性能媲美裸金屬,邊緣場(chǎng)景高性能虛擬機(jī)技術(shù)揭秘

企業(yè)動(dòng)態(tài)
邊緣計(jì)算節(jié)點(diǎn)是火山引擎邊緣云提供的通用化邊緣計(jì)算服務(wù),其基于覆蓋中國(guó)各省份和運(yùn)營(yíng)商的邊緣節(jié)點(diǎn),在核心底座邊緣云原生操作系統(tǒng)之上,提供彈性、可靠、分布式的算力資源和低時(shí)延的網(wǎng)絡(luò)資源,幫助用戶將業(yè)務(wù)快速部署到網(wǎng)絡(luò)邊緣,提升響應(yīng)速度、降低帶寬成本。

1.走進(jìn)邊緣云:  邊緣計(jì)算背后的性能需求

1.1火山引擎邊緣計(jì)算節(jié)點(diǎn)

隨著人工智能、自動(dòng)駕駛、云游戲、直播音視頻等應(yīng)用場(chǎng)景的大規(guī)模落地,這些應(yīng)用對(duì)數(shù)據(jù)處理的時(shí)效性、安全性提出了更高要求,集中式云計(jì)算模式難以完全滿足其在網(wǎng)絡(luò)時(shí)延、帶寬成本、數(shù)據(jù)安全等方面的需求,伴隨用戶對(duì)云計(jì)算服務(wù)能力的多元化需求,邊緣計(jì)算應(yīng)運(yùn)而生。邊緣計(jì)算基于靠近應(yīng)用和數(shù)據(jù)源頭的網(wǎng)絡(luò)邊緣位置,就近提供計(jì)算、網(wǎng)絡(luò)、存儲(chǔ)、安全、智能等服務(wù),據(jù)IDC報(bào)告顯示,到2024年底,全球在邊緣計(jì)算上的支出預(yù)計(jì)將達(dá)到2320億美元。同時(shí),Gartner報(bào)告顯示,到2025年底,全球75%的企業(yè)生成數(shù)據(jù)將會(huì)在邊緣產(chǎn)生和處理。

邊緣計(jì)算節(jié)點(diǎn)是火山引擎邊緣云提供的通用化邊緣計(jì)算服務(wù),其基于覆蓋中國(guó)各省份和運(yùn)營(yíng)商的邊緣節(jié)點(diǎn),在核心底座邊緣云原生操作系統(tǒng)之上,提供彈性、可靠、分布式的算力資源和低時(shí)延的網(wǎng)絡(luò)資源,幫助用戶將業(yè)務(wù)快速部署到網(wǎng)絡(luò)邊緣,提升響應(yīng)速度、降低帶寬成本,為用戶提供穩(wěn)定、高效、豐富的一站式算力服務(wù)。結(jié)合基礎(chǔ)設(shè)施、通用化計(jì)算服務(wù)、場(chǎng)景化計(jì)算服務(wù)、網(wǎng)絡(luò)服務(wù)和對(duì)應(yīng)解決方案,共同構(gòu)成了邊緣場(chǎng)景下的完整分布式云計(jì)算解決方案。

圖片

邊緣計(jì)算節(jié)點(diǎn)提供如下兩種計(jì)算形態(tài):

  • 邊緣虛擬機(jī):  提供彈性、穩(wěn)定、高性能、安全的虛擬機(jī)實(shí)例服務(wù),支持x86/ARM/GPU等多樣化計(jì)算資源
  • 邊緣裸金屬:基于邊緣基礎(chǔ)設(shè)施,提供高性能、快速交付、便捷運(yùn)維的裸金屬服務(wù)器

本文主要圍繞邊緣虛擬機(jī)實(shí)例性能優(yōu)化,深入探討邊緣高性能虛擬機(jī)的需求背景、實(shí)現(xiàn)原理及背后的核心價(jià)值。

1.2邊緣場(chǎng)景的性能需求

邊緣計(jì)算節(jié)點(diǎn)目標(biāo)為客戶提供高性價(jià)比邊緣算力,部分客戶場(chǎng)景對(duì)單位成本下的業(yè)務(wù)性能及性能穩(wěn)定性敏感,以下是兩個(gè)案例。

1.2.1直播客戶案例

隨著移動(dòng)端直播和直播電商的興起,直播行業(yè)已經(jīng)成為數(shù)字經(jīng)濟(jì)的重要組成部分。從技術(shù)維度看,直播業(yè)務(wù)對(duì)即時(shí)性和互動(dòng)性要求較高,通過(guò)利用邊緣低延時(shí)算力和網(wǎng)絡(luò)、低成本帶寬,可以顯著提升直播業(yè)務(wù)品質(zhì),降低運(yùn)營(yíng)成本。其與邊緣結(jié)合的概要架構(gòu)如下圖所示,主播推流到邊緣節(jié)點(diǎn)、觀眾從其就近的邊緣節(jié)點(diǎn)拉流。在實(shí)際直播客戶接入過(guò)程中,單位算力所能處理的流量帶寬直接關(guān)聯(lián)該類客戶業(yè)務(wù)成本, 部分上云客戶也對(duì)虛擬機(jī)和裸金屬性能和成本差異敏感,因此如何能夠讓客戶既使用到虛擬機(jī)實(shí)例的豐富特性,又提供較好的業(yè)務(wù)性能就是一個(gè)重要的議題。

圖片

1.2.2加速客戶案例

基于覆蓋全球的加速節(jié)點(diǎn)和網(wǎng)絡(luò)基礎(chǔ)設(shè)施,實(shí)現(xiàn)游戲/應(yīng)用加速是邊緣計(jì)算的另一個(gè)重要場(chǎng)景,該類客戶對(duì)延時(shí)和網(wǎng)絡(luò)抖動(dòng)敏感,下圖是一個(gè)使用邊緣云全球加速和邊緣虛擬機(jī)產(chǎn)品實(shí)現(xiàn)跨域加速的案例。用戶就近接入全球加速網(wǎng)絡(luò),通過(guò)分布在邊緣機(jī)房的虛擬機(jī)實(shí)例部署業(yè)務(wù)服務(wù),并最終通過(guò)公網(wǎng)和跨域?qū)>€與目標(biāo)服務(wù)通信。該部分客戶對(duì)網(wǎng)絡(luò)抖動(dòng)有較低容忍度,經(jīng)過(guò)深入分析,中斷/進(jìn)程搶占、大量VM Exit 均會(huì)造成客戶業(yè)務(wù)抖動(dòng),如何能夠盡量降低虛擬化層對(duì)業(yè)務(wù)的干擾就成了保障加速類客服服務(wù)質(zhì)量的關(guān)鍵。

圖片

2.極致優(yōu)化:高性能虛擬機(jī)如何實(shí)現(xiàn)“零”損耗

上述業(yè)務(wù)需求驅(qū)動(dòng)我們思考如何能夠降低虛擬化層對(duì)性能的擾動(dòng),提高業(yè)務(wù)場(chǎng)景的虛擬機(jī)單位性能。邊緣高性能虛擬機(jī)項(xiàng)目于是誕生,其詳細(xì)介紹如下:

2.1整體架構(gòu)

邊緣計(jì)算通過(guò)虛擬化技術(shù)向用戶提供云計(jì)算基礎(chǔ)服務(wù),底層基座依托于Qemu+KVM來(lái)實(shí)現(xiàn)虛擬化(資源,安全等)隔離。Qemu+KVM的虛擬化方案雖然會(huì)盡可能的利用硬件能力來(lái)降低虛擬化開銷,但是像CPU核間中斷(IPI),Timer中斷,虛擬設(shè)備中斷等仍存在大量虛擬化開銷,同時(shí)虛擬化硬件加速能力(如Posted Interrupt等)設(shè)計(jì)的復(fù)雜性也會(huì)帶來(lái)額外硬件開銷。我們通過(guò)修改Host Kernel,KVM模塊等方式,為云計(jì)算提供了一種新的硬件完全直通,性能損耗極低的高性能虛機(jī)方案。

該方案的設(shè)計(jì)理念是打破虛擬化的“邊界”,讓Guest Kernel像Host Kernel一樣運(yùn)行在物理機(jī)上。為了讓CPU/Memory/設(shè)備等硬件的資源需要直接assign給Guest,每個(gè)高性能虛擬機(jī)的vCPU需要獨(dú)占一個(gè)物理CPU,內(nèi)存,中斷等資源。

邊緣高性能虛擬機(jī)的設(shè)計(jì)目標(biāo):

  1. VM Exit數(shù)量降至最低,對(duì)標(biāo)裸金屬
  2. Guest鏡像無(wú)感,無(wú)須修改Guest鏡像
  3. 支持熱升級(jí),熱遷移等云上基礎(chǔ)能力
  4. 支持和通用VM實(shí)例混部的能力

其整體架構(gòu)設(shè)計(jì)如下:

圖片

2.2關(guān)鍵技術(shù)

Intel 的 VT-x 技術(shù)是在 2005 年首次發(fā)布的。VT-x 技術(shù)是 Intel 虛擬化技術(shù)的一部分,旨在提高虛擬化性能并增強(qiáng)虛擬化軟件的功能。Intel VT-x 引入了 Root 模式和 Non-Root 模式:Root 模式是虛擬機(jī)監(jiān)視器(VMM)運(yùn)行的特權(quán)模式,也稱為 Hypervisor 模式;Non-Root 模式是客戶操作系統(tǒng)或虛擬機(jī)運(yùn)行的模式。借助VMLAUNCH/VMRESUME指令,VMM將控制權(quán)轉(zhuǎn)移給虛擬機(jī),當(dāng)虛擬機(jī)在運(yùn)行過(guò)程中需要執(zhí)行特權(quán)指令或訪問(wèn)受保護(hù)資源時(shí),會(huì)產(chǎn)生VM Exit將控制權(quán)轉(zhuǎn)移給VMM,由VMM協(xié)助模擬處理。

  • Guest中斷不退出機(jī)制

中斷虛擬化對(duì)虛擬化的影響是非常大的,早期虛擬化的實(shí)現(xiàn)中,向Guest注入中斷前一般要先將vCPU從Non-Root模式kick出來(lái),然后由VMM模擬中斷控制器,完成中斷的注入。盡管后來(lái)CPU廠商為虛擬化引入了apicv等硬件加速技術(shù),減少了Guest訪問(wèn)LAPIC寄存器引入的虛擬化損耗,但仍需要VMM協(xié)助完成中斷的注入。再后來(lái),Posted-Interrupt技術(shù)以及VT-d技術(shù)進(jìn)一步緩解了這個(gè)問(wèn)題,但是在解決中斷注入問(wèn)題的同時(shí),硬件層面也引入了不小的性能開銷,我們測(cè)試對(duì)比發(fā)現(xiàn),相比裸金屬物理設(shè)備直接產(chǎn)生中斷,通過(guò)Posted-Interrupt方式注入中斷的延遲要高出很多。

在高性能虛擬機(jī)的設(shè)計(jì)框架下,除了虛擬設(shè)備這些必須要要模擬注入的中斷,直通設(shè)備,LAPIC Timer等設(shè)備產(chǎn)生的中斷能直接投遞給Guest,就像他們?cè)谖锢憝h(huán)境中直接投遞給物理CPU一樣。通過(guò)配置VMCS中的INTR_EXITING字段,可以控制外部中斷發(fā)生時(shí)Guest不退出,以此為基礎(chǔ),我們實(shí)現(xiàn)了一個(gè)外部中斷不會(huì)導(dǎo)致Guest退出的基礎(chǔ)框架,后續(xù)所有的中斷都將盡可能的直接投遞給Guest,而不是產(chǎn)生external interrupt VM Exit后再由VMM模擬注入。

但是,真實(shí)世界中,物理CPU上產(chǎn)生的中斷并不是全部都是屬于Guest的,比如host kernel IPI中斷,host設(shè)備中斷如NVMe SSD等。對(duì)于設(shè)備中斷,可以通過(guò)修改host kernel實(shí)現(xiàn)設(shè)備中斷隔離技術(shù),將所有的設(shè)備的中斷affinity調(diào)整隔離到指定的控制面CPU上;對(duì)于系統(tǒng)中斷如IPI,這類中斷必須由本地CPU處理,可以通過(guò)send IPI as NMI技術(shù),將IPI中斷類型修改為NMI type,從而強(qiáng)行將vCPU kick出來(lái)后在Host kernel處理這些系統(tǒng)中斷。至此,我們?yōu)檫\(yùn)行高性能虛擬機(jī)的物理CPU隔離出一個(gè)“干凈的”vCPU運(yùn)行環(huán)境。在這個(gè)環(huán)境下,“幾乎”所有的Host中斷都不會(huì)投遞到該CPU上,一旦收到中斷,一定是Guest中斷,中斷會(huì)直接投遞到Guest或者通過(guò)VMM記錄pending Guest interrupt并在下次Guest enter時(shí)注入。

  • Timer中斷直通技術(shù)

圖片

虛擬化場(chǎng)景下,Guest Timer是由VMM負(fù)責(zé)模擬的。以x86 CPU虛擬化為例,KVM為每個(gè)vCPU模擬一個(gè)LAPIC Timer,LAPIC Timer虛擬化的開銷當(dāng)前是很大的,以常見(jiàn)的Intel TSC Deadline Mode為例,Guest編程TSC Deadline MSR時(shí)會(huì)產(chǎn)生一次VM Exit,Timer到期fire時(shí)又會(huì)因?yàn)閑xternal interrupt產(chǎn)生一次VM Exit。Intel在最新一代CPU上引入了apic Timer硬件加速來(lái)降低這些開銷,但一是這些新的CPU還沒(méi)有大規(guī)模商業(yè)化,真正的性能收益未知,二是與posted-Interrupt類似,這類硬件加速技術(shù)一般會(huì)引入一定的硬件性能損耗。

在高性能虛擬機(jī)技術(shù)方案中,由于host控制面CPU要處理的工作不繁重,我們強(qiáng)制host CPU使用早期的Broadcast Timer,然后將每個(gè)CPU的LAPIC Timer完全直通給Guest使用。對(duì)于直通給Guest的LAPIC Timer,通過(guò)配置Guest修改TSC Deadline MSR不退出,再借助前面介紹的Guest中斷直接投遞機(jī)制,實(shí)現(xiàn)Guest LAPIC Timer沒(méi)有任何VM Exit。

  • 繞過(guò)Posted-Interrupt機(jī)制的VFIO中斷直通技術(shù)

在傳統(tǒng)的虛擬化場(chǎng)景中,對(duì)于直通設(shè)備的中斷注入是基于Posted-interrupt機(jī)制(Intel)來(lái)完成的,Posted-Interrupt機(jī)制會(huì)帶來(lái)額外的硬件開銷。借助VFIO框架,直通設(shè)備產(chǎn)生中斷時(shí),首先被IOMMU攔截,然后通過(guò)查找IOMMU中的IRTE表項(xiàng),找到要投遞給Guest的目的vCPU和中斷vector,最終通過(guò)IOMMU的Interrupt remapping或者Posted-Interrupt機(jī)制完成中斷的注入。

高性能虛擬機(jī)通過(guò)巧妙地修改硬件IOMMU IRTE表項(xiàng),使其直接記錄要投遞給Guest的destination vCPU和vector,從而實(shí)現(xiàn)了直通設(shè)備的中斷直接投遞到Guest內(nèi)部的效果。

  • IPI extreme fastpath

虛擬化場(chǎng)景下,Guest內(nèi)部發(fā)送IPI會(huì)寫LAPIC ICR寄存器,該操作會(huì)產(chǎn)生VM Exit,最終由VMM負(fù)責(zé)模擬,并注入IPI中斷給目的vCPU。

出于安全性考慮,高性能虛擬機(jī)沒(méi)有將ICR直通給虛機(jī),因此Guest IPI仍需要VMM協(xié)助模擬。在社區(qū)IPI fastpath的基礎(chǔ)上進(jìn)一步優(yōu)化,使用匯編重寫簡(jiǎn)化了VMM模擬IPI的邏輯,并在VMM側(cè)寫ICR產(chǎn)生IPI中斷直接投遞到Guest,最大限度的降低write ICR exiting模擬帶來(lái)的性能開銷。

  • 內(nèi)核資源動(dòng)態(tài)隔離技術(shù)

為了讓高性能虛擬機(jī)最大限度的獨(dú)占物理核,我們構(gòu)建了一套完整的的內(nèi)核資源隔離技術(shù),達(dá)到將timer中斷,外部設(shè)備中斷,host進(jìn)程等干擾要素隔離的效果。

  • 對(duì)于host timer中斷,內(nèi)核提供了NOHZ_full 技術(shù),NOHZ_full 通過(guò)減少定時(shí)器中斷的頻率來(lái)優(yōu)化系統(tǒng)性能。但是該技術(shù)是靜態(tài)配置技術(shù),需要在內(nèi)核cmdline中提前配置。高性能虛擬機(jī)方案借助NOHZ_full基礎(chǔ)框架,實(shí)現(xiàn)了dynamic nohz_full技術(shù),能夠?qū)崿F(xiàn)vCPU enter Guest時(shí),動(dòng)態(tài)的進(jìn)入nohz_full狀態(tài),并在vCPU exit Guest時(shí),動(dòng)態(tài)退出nohz_full狀態(tài),最大程度減少host Timer中斷對(duì)Guest運(yùn)行時(shí)的影響;
  • 類比內(nèi)核已有的isolCPUs中斷隔離技術(shù),對(duì)于分配給高性能虛擬機(jī)的host CPU核,創(chuàng)建虛機(jī)前,將所有的host中斷遷移到控制面CPU上,并確保新創(chuàng)建的中斷也不會(huì)遷移到這些CPU上;
  • 類比內(nèi)核已有的isolCPUs進(jìn)程隔離技術(shù),對(duì)于分配給高性能虛擬機(jī)的host CPU核,創(chuàng)建虛機(jī)前,將所有host進(jìn)程遷移到控制面CPU上,并確保創(chuàng)建虛機(jī)后,vCPU線程不會(huì)被隨便遷移走。

2.3場(chǎng)景測(cè)試

  • Micro Benchmark(單位ns,less is better),在Guest內(nèi)執(zhí)行IPI Benchmark等測(cè)試工具,測(cè)量IPI單播延遲,IPI 多播延遲,單次Timer中斷延遲,單次核心MSR寄存器訪問(wèn)延遲,可發(fā)現(xiàn)核心中斷延遲和 MSR 寫入延時(shí)大幅降低。

圖片

  • VM Exit數(shù)量統(tǒng)計(jì)

通用實(shí)例和高性能實(shí)例均配置了idle=poll,通過(guò)在Guest內(nèi)redis-benchmark等本地壓測(cè)工具,在Host側(cè)統(tǒng)計(jì)壓測(cè)過(guò)程中的VM Exit數(shù)量,可以看到,在這兩個(gè)測(cè)試 Case 下高性能實(shí)例減少了超過(guò) 99% 的 VM Exit。

圖片

通用實(shí)例 VM Exit主要集中在三類:

  • MSR_WRITE
  • External interrupt
  • Preemption_Timer
  • 云服務(wù)器基準(zhǔn)場(chǎng)景性能測(cè)試對(duì)比,性能提升從 6% ~16% 不等。測(cè)試工具使用社區(qū)成熟的壓測(cè)工具如wrk、ab、redis-benchmark、netperf等進(jìn)行壓測(cè),網(wǎng)絡(luò)拓?fù)錇橐慌_(tái)虛擬機(jī)與一臺(tái)物理機(jī)互相壓測(cè)。

圖片

3.業(yè)務(wù)賦能: 邊緣場(chǎng)景應(yīng)用性能大幅提升

邊緣高性能虛擬機(jī)當(dāng)前已在線上逐步應(yīng)用,在多個(gè)邊緣應(yīng)用場(chǎng)景均有明顯收益,以下就實(shí)際業(yè)務(wù)場(chǎng)景舉例說(shuō)明。

3.1CDN場(chǎng)景

內(nèi)容分發(fā)網(wǎng)絡(luò)(Content Delivery Network)是一種通過(guò)部署在全球各地的服務(wù)器網(wǎng)絡(luò),將內(nèi)容(如文本、圖像、視頻等)快速傳輸?shù)接脩舻木W(wǎng)絡(luò)的技術(shù)系統(tǒng)。CDN 可以減輕源服務(wù)器壓力、提高網(wǎng)站性能、加速內(nèi)容傳輸速度和改善用戶體驗(yàn),當(dāng)前已成為現(xiàn)代網(wǎng)絡(luò)架構(gòu)中的重要基礎(chǔ)服務(wù)。通過(guò)應(yīng)用邊緣高性能實(shí)例,某CDN客戶在同等壓力下的 CPU 使用率較通用實(shí)例降低 13.9~23.2%,較裸金屬差異  0.2% ~ 2.9%,支撐該客戶成功上云。

圖片

3.2音視頻直播場(chǎng)景

實(shí)時(shí)音視頻(Real - Time Communication)是一種允許用戶在網(wǎng)絡(luò)上進(jìn)行實(shí)時(shí)的音頻和視頻通信的技術(shù)。它能夠?qū)崿F(xiàn)低延遲的音視頻傳輸,廣泛應(yīng)用于視頻會(huì)議、在線教育、直播互動(dòng)、遠(yuǎn)程醫(yī)療等眾多領(lǐng)域。邊緣高性能實(shí)例為實(shí)時(shí)音視頻業(yè)務(wù)提供了高效的轉(zhuǎn)發(fā)能力,相較于通用實(shí)例業(yè)務(wù)性能提升24.2%,相較于裸金屬實(shí)例性能基本持平。

直播場(chǎng)景如文章開篇所述,對(duì)于邊緣計(jì)算節(jié)點(diǎn)有性能訴求,通過(guò)應(yīng)用邊緣高性能實(shí)例,為客戶降低23.7%以上的CPU 占用,性能和裸金屬持平。

3.3加速場(chǎng)景

針對(duì)前述加速場(chǎng)景的性能穩(wěn)定性訴求,通過(guò)使用邊緣高性能實(shí)例,降低VM Exit帶來(lái)的性能抖動(dòng),能為業(yè)務(wù)帶來(lái)和裸金屬一樣的延時(shí)穩(wěn)定性。圖片

圖片

4.總結(jié)與展望

目前邊緣高性能虛擬機(jī)已在邊緣計(jì)算節(jié)點(diǎn)上線應(yīng)用,基于其低虛擬化損耗設(shè)計(jì)與實(shí)現(xiàn),大幅降低VM Exit,提供接近裸金屬的業(yè)務(wù)性能,在多個(gè)邊緣場(chǎng)景均有較好業(yè)務(wù)收益。未來(lái)高性能虛擬機(jī)將進(jìn)一步擴(kuò)展業(yè)務(wù)接入范圍,覆蓋 GPU 等異構(gòu)算力場(chǎng)景,持續(xù)為邊緣應(yīng)用提供高性價(jià)比、穩(wěn)定算力支撐。歡迎感興趣的用戶通過(guò)如下渠道溝通交流,接入邊緣計(jì)算節(jié)點(diǎn)、體驗(yàn)低延時(shí)算力。

責(zé)任編輯:張燕妮 來(lái)源: 51CTO官微
相關(guān)推薦

2012-05-04 11:28:41

虛擬化KVM高性能

2020-01-07 16:16:57

Kafka開源消息系統(tǒng)

2019-10-17 09:23:49

Kafka高性能架構(gòu)

2010-02-04 10:05:28

Dalvik虛擬機(jī)

2009-07-29 17:19:02

hypervisor-container-b

2012-03-16 09:26:13

LVMXen虛擬機(jī)

2014-01-13 09:47:35

虛擬機(jī)

2009-08-21 17:05:48

VMware虛擬機(jī)Vi

2012-09-28 11:22:28

華為虛擬機(jī)性能

2012-09-28 09:39:27

華為

2016-10-12 15:05:28

虛擬機(jī)性能虛擬機(jī)密度虛擬機(jī)成本

2023-11-27 00:46:39

裸機(jī)虛擬機(jī)

2009-01-05 19:07:03

服務(wù)器虛擬化虛擬機(jī)

2009-08-04 11:16:30

高性能計(jì)算HPC植物

2010-05-25 10:08:41

虛擬化高性能計(jì)算

2012-09-27 11:59:21

虛擬機(jī)華為

2017-08-15 15:36:41

VMwareLinux虛擬機(jī)

2023-08-13 16:49:54

2015-04-27 14:42:24

技術(shù)架構(gòu)服務(wù)器性能

2014-08-20 09:49:50

虛擬機(jī)Linux Conta
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)