T級(jí)內(nèi)存,t級(jí)內(nèi)存需要什么主板-ESG跨境

T級(jí)內(nèi)存,t級(jí)內(nèi)存需要什么主板

來源網(wǎng)絡(luò)
來源網(wǎng)絡(luò)
2022-07-05
點(diǎn)贊icon 0
查看icon 637

T級(jí)內(nèi)存,t級(jí)內(nèi)存需要什么主板T級(jí)內(nèi)存簡介:阿里云工程師李偉男和郭成在KVM Forum 2020上詳細(xì)介紹了阿里云KVM虛擬機(jī)創(chuàng)建及啟動(dòng)時(shí)間優(yōu)化的具體技術(shù)實(shí)現(xiàn),本文根據(jù)其演講整理而成。對(duì)于云計(jì)算用戶來說,過長的KVM虛擬機(jī)創(chuàng)建及啟動(dòng)時(shí)間非常影響體驗(yàn),特別是超大規(guī)格的KVM異構(gòu)虛擬機(jī)。以350G內(nèi)存為例,創(chuàng)建時(shí)間需要2......

T級(jí)內(nèi)存,t級(jí)內(nèi)存需要什么主板




T級(jí)內(nèi)存

簡介:阿里云工程師李偉男和郭成在KVM Forum 2020上詳細(xì)介紹了阿里云KVM虛擬機(jī)創(chuàng)建及啟動(dòng)時(shí)間優(yōu)化的具體技術(shù)實(shí)現(xiàn),本文根據(jù)其演講整理而成。

對(duì)于云計(jì)算用戶來說,過長的KVM虛擬機(jī)創(chuàng)建及啟動(dòng)時(shí)間非常影響體驗(yàn),特別是超大規(guī)格的KVM異構(gòu)虛擬機(jī)。以350G內(nèi)存為例,創(chuàng)建時(shí)間需要2分鐘,當(dāng)用戶此時(shí)創(chuàng)建虛擬機(jī)是用于快速恢復(fù)業(yè)務(wù)時(shí),2分鐘的創(chuàng)建等待時(shí)間完全超出用戶的可忍受值。另外,對(duì)于云計(jì)算的后臺(tái)管控系統(tǒng)而言,過長的阻塞時(shí)間極大地影響了系統(tǒng)調(diào)度效率。

一直以來,阿里云異構(gòu)計(jì)算團(tuán)隊(duì)在KVM性能優(yōu)化方面都有大量的投入,積淀了大量實(shí)戰(zhàn)經(jīng)驗(yàn)。阿里云異構(gòu)計(jì)算團(tuán)隊(duì)創(chuàng)新性地提出了一種顯著優(yōu)化帶有透傳(passthrough)設(shè)備的KVM虛擬機(jī)創(chuàng)建及啟動(dòng)時(shí)間的方法,虛擬機(jī)的啟動(dòng)時(shí)間不再隨著分配內(nèi)存的大小而顯著增加,即使虛擬機(jī)被分配了幾百G甚至更多的內(nèi)存,用戶感知的啟動(dòng)時(shí)間依然沒有明顯增加。

在這套技術(shù)優(yōu)化方案下,對(duì)于350G內(nèi)存的虛擬機(jī),創(chuàng)建及啟動(dòng)時(shí)間可從原來的120秒以上降低到20秒以內(nèi),效率整整提升了6倍以上;對(duì)于T級(jí)內(nèi)存的虛擬機(jī),預(yù)計(jì)創(chuàng)建效率可以提升10倍以上。

作為KVM社區(qū)最為重要和權(quán)威的大會(huì),KVM Forum 2020有3個(gè)議題是與KVM虛擬機(jī)創(chuàng)建及啟動(dòng)速度的優(yōu)化有關(guān),分別來自阿里巴巴、英特爾和滴滴,可見KVM社區(qū)及云計(jì)算業(yè)界對(duì)此問題的重視程度。阿里云工程師李偉男和郭成在KVM Forum 2020上詳細(xì)介紹了阿里云KVM虛擬機(jī)創(chuàng)建及啟動(dòng)時(shí)間優(yōu)化的具體技術(shù)實(shí)現(xiàn),本文根據(jù)其演講整理而成。

1、發(fā)現(xiàn)問題:內(nèi)存越大、啟動(dòng)越慢,DMA map執(zhí)行是耗時(shí)大戶

眾所周知,PCI設(shè)備透傳是KVM虛擬化應(yīng)用中一個(gè)非常重要的場景,而VFIO是當(dāng)前最為流行的PCI設(shè)備透傳解決方案,為了能夠在應(yīng)用層提供高效的DMA訪問,在啟用VFIO設(shè)備之前,需要將分配給虛擬機(jī)的所有內(nèi)存都鎖定并進(jìn)行IOMMU頁表的創(chuàng)建。

這么做的原因在于,DMA訪問可能覆蓋整個(gè)虛擬機(jī)的內(nèi)存空間,并且DMA訪問的內(nèi)存不能被換出(swap)。所以,如果能夠在物理設(shè)備DMA訪問之前得知將要訪問的地址空間,就可以在運(yùn)行中進(jìn)行內(nèi)存鎖定(pin)及IOMMU頁表的創(chuàng)建。但目前并沒有一個(gè)簡單、高效的方法能夠完成這一操作。為了虛擬機(jī)及設(shè)備的高效運(yùn)行,目前開源社區(qū)采取的辦法是在虛擬機(jī)創(chuàng)建時(shí)將所有分配給它的內(nèi)存進(jìn)行鎖定并創(chuàng)建IOMMU頁表(DMA map)。

由于DMA map是一個(gè)相對(duì)比較耗時(shí)的操作,在虛擬機(jī)內(nèi)存相對(duì)較小時(shí),總體耗時(shí)是可以接受的。但隨著虛擬化市場及技術(shù)的發(fā)展,越來越多的用戶開始使用超大規(guī)格的虛擬機(jī),內(nèi)存資源已從4G增長到384G甚至更高,隨之帶來的DMA map時(shí)間消耗問題也日益突出。

圖1:虛擬機(jī)的創(chuàng)建及啟動(dòng)時(shí)間與內(nèi)存大小關(guān)系

如圖1所示,以開源社區(qū)的KVM虛擬化組件及Ubuntu18.04虛擬機(jī)為例,在虛擬機(jī)內(nèi)存達(dá)到350G以上時(shí),整個(gè)KVM系統(tǒng)的啟動(dòng)時(shí)間將超過2分鐘,其中絕大部分時(shí)間都消耗在DMA map執(zhí)行操作中。在這2分鐘里,對(duì)于用戶來說虛擬機(jī)是一個(gè)黑盒,用戶能做的只有靜靜等待,甚至不確定虛擬機(jī)是否仍然在正常創(chuàng)建中,完全處于未知的狀態(tài)。

2、設(shè)計(jì)思路:異步DMA map,完美解決虛擬機(jī)創(chuàng)建耗時(shí)問題

為了解決這一個(gè)問題,阿里云異構(gòu)計(jì)算團(tuán)隊(duì)研究了現(xiàn)有的虛擬化技術(shù)和實(shí)際應(yīng)用場景。雖然DMA map本身不能省去,但我們發(fā)現(xiàn)在系統(tǒng)啟動(dòng)過程中DMA訪問雖然是隨機(jī)的、但并不會(huì)訪問到全部,由此阿里云異構(gòu)計(jì)算團(tuán)隊(duì)提出了一種異步DMA map(async DMA map)的方法,即在虛擬機(jī)創(chuàng)建過程中僅map有限的內(nèi)存空間,剩余的大部分內(nèi)存空間可以在虛擬機(jī)啟動(dòng)過程中于后臺(tái)異步map完成,從而保證用戶可以快速地獲取訪問虛擬機(jī)的權(quán)限。

這時(shí),如何保證虛擬機(jī)在啟動(dòng)過程中不會(huì)有設(shè)備通過DMA訪問到需要異步map的內(nèi)存就成為了關(guān)鍵。這個(gè)過程中,我們用到了大家比較熟悉的Virtioballoon,因?yàn)閂irtioballoon設(shè)計(jì)之初即被用來占用虛擬機(jī)內(nèi)存使用,因此我們提出的解決方案不會(huì)涉及到大量、復(fù)雜的軟件改動(dòng),即可完美解決虛擬機(jī)創(chuàng)建耗時(shí)的問題。

圖2:async DMA map設(shè)計(jì)思路

Async DMA map主要設(shè)計(jì)思路就是:虛擬機(jī)創(chuàng)建時(shí),低于4G內(nèi)存空間的DMA map請(qǐng)求會(huì)被正常處理,其他內(nèi)存空間的DMA map操作將會(huì)等待virtioballoon前端驅(qū)動(dòng)加載完成后根據(jù)實(shí)際情況進(jìn)行處理。

具體的操作流程如下:

首先,確保virtioballoon驅(qū)動(dòng)先于VFIO設(shè)備驅(qū)動(dòng)加載。這樣virtioballoon驅(qū)動(dòng)會(huì)在配置空間中獲取初始的balloon大小,然后再根據(jù)balloon大小進(jìn)行實(shí)際的虛擬機(jī)內(nèi)存的分配,被分配的內(nèi)存將從可用內(nèi)存中去除。在沒有釋放前,其他設(shè)備將無法申請(qǐng)到這部分被占用的內(nèi)存,那就不會(huì)被DMA訪問到,也就不需要在這之前進(jìn)行map。

其次,完成balloon,獲得可異步執(zhí)行map內(nèi)存空間。Balloon的過程是經(jīng)過很多次inflate操作完成的。每次操作完成后,前端的virtioballoon會(huì)通知后端完成的inflate balloon大小及其對(duì)應(yīng)的PFN,位于宿主機(jī)上的后端驅(qū)動(dòng)收到通知后,會(huì)將PFN從消息隊(duì)列中解析出來,并轉(zhuǎn)換為IOVA記錄在ballooned頁表中。待balloon完成后,后端驅(qū)動(dòng)會(huì)得到一張完整的被virtioballoon占用的內(nèi)存頁表,這部分的內(nèi)存空間即是可以異步執(zhí)行map的部分。沒有在頁表中的內(nèi)存可能會(huì)被其他設(shè)備通過DMA訪問,因此需要即刻完成map操作。

最后,在保證虛擬機(jī)系統(tǒng)可繼續(xù)正常啟動(dòng)的情況下,async DMA map正式開始。通過向virtioballoon前端驅(qū)動(dòng)觸發(fā)deflate操作,從而向虛擬機(jī)歸還一定大小的內(nèi)存,前端virtioballoon驅(qū)動(dòng)會(huì)將釋放的內(nèi)存地址同步給后端驅(qū)動(dòng),后端驅(qū)動(dòng)接收到被釋放的內(nèi)存地址空間后,觸發(fā)同步的DMA map,通過分步的deflate及map,慢慢完成全部內(nèi)存的映射、鎖定,從而使虛擬機(jī)恢復(fù)到完整內(nèi)存資源可用狀態(tài)。

3.具體實(shí)踐:三個(gè)關(guān)鍵點(diǎn)優(yōu)化,進(jìn)一步優(yōu)化啟動(dòng)時(shí)間

在具體的實(shí)踐中,我們進(jìn)行了balloon臨近地址空間自動(dòng)合并、增加單次balloon頁面大小和預(yù)處理機(jī)制等三個(gè)關(guān)鍵點(diǎn)的優(yōu)化,以進(jìn)一步優(yōu)化啟動(dòng)時(shí)間。具體優(yōu)化如下:

(1)Balloon臨近地址空間自動(dòng)合并。通過合并多次balloon的臨近內(nèi)存地址空間,可以顯著地減少觸發(fā)DMA map的次數(shù)。因?yàn)関irtioballoon會(huì)在系統(tǒng)啟動(dòng)初期被加載,此時(shí)的內(nèi)存使用較少,virtioballoon申請(qǐng)到的內(nèi)存地址絕大部分是連續(xù)的,臨近內(nèi)存地址的可合并率非常高。

(2)增加單次balloon頁面大小。內(nèi)存資源已經(jīng)不再是非常稀缺的資源,當(dāng)前virtioballoon前端驅(qū)動(dòng)中基于小頁(4KB)大小的內(nèi)存申請(qǐng)機(jī)制已經(jīng)不太適合當(dāng)前大規(guī)格實(shí)例的業(yè)務(wù)場景?;跇I(yè)界用戶實(shí)際應(yīng)用場景的分析,我們將virtioballoon單次申請(qǐng)的內(nèi)存大小從4KB提高到2MB,這一舉措可減少約98%的前后端通信消耗,從而顯著減少了不必要的CPU資源占用。

(3)預(yù)處理機(jī)制。為了更快的完成異步DMA map操作,其實(shí)可以預(yù)先開始進(jìn)行DMA map操作,而不是等待deflate觸發(fā)并收到virtioballoon前端驅(qū)動(dòng)發(fā)出的通知才進(jìn)行。在接收到前端發(fā)出的通知后,只需要做釋放地址已映射命中檢測即可。如地址未命中則可以插入DMA map操作,若命中則可以更快地返回通知給虛擬機(jī)進(jìn)行后續(xù)的deflate操作。

圖3:VM啟動(dòng)時(shí)間與內(nèi)存關(guān)系(左)、QEMu初始化時(shí)間與內(nèi)存關(guān)系(右)

如圖3,經(jīng)過上述的優(yōu)化(初始保留8G內(nèi)存給虛擬機(jī)),我們看到隨著分配給虛擬機(jī)的內(nèi)存增加,KVM虛擬機(jī)的啟動(dòng)時(shí)間及QEMU初始化時(shí)間均沒有明顯增加。即我們將350G內(nèi)存KVM虛擬機(jī)的創(chuàng)建及啟動(dòng)時(shí)間從原來的120秒以上減少到20秒以下,QEMU初始化時(shí)間縮減到7秒以內(nèi)。對(duì)于T級(jí)內(nèi)存的用戶,預(yù)計(jì)效率可提升10倍以上,可以極快地獲得虛擬機(jī)的訪問控制權(quán)限。

結(jié)語

未來,我們將持續(xù)依托阿里云智能,致力于云計(jì)算產(chǎn)品的性能及用戶體驗(yàn)的優(yōu)化,為用戶提供便捷、高效的彈性計(jì)算產(chǎn)品。


文章推薦
Yandex俄羅斯搜索引擎引導(dǎo)者(一),yandex搜索引擎是哪個(gè)國家的
WhatsApp停用,whatsapp停用怎么處理
YouTube營銷指南,youtube多語種視頻營銷
TikTok廣告營銷指南,tiktok廣告投放有什么重要手段


特別聲明:以上文章內(nèi)容僅代表作者本人觀點(diǎn),不代表ESG跨境電商觀點(diǎn)或立場。如有關(guān)于作品內(nèi)容、版權(quán)或其它問題請(qǐng)于作品發(fā)表后的30日內(nèi)與ESG跨境電商聯(lián)系。

搜索 放大鏡
韓國平臺(tái)交流群
加入
韓國平臺(tái)交流群
掃碼進(jìn)群
歐洲多平臺(tái)交流群
加入
歐洲多平臺(tái)交流群
掃碼進(jìn)群
美國賣家交流群
加入
美國賣家交流群
掃碼進(jìn)群
ESG跨境專屬福利分享群
加入
ESG跨境專屬福利分享群
掃碼進(jìn)群
拉美電商交流群
加入
拉美電商交流群
掃碼進(jìn)群
亞馬遜跨境增長交流群
加入
亞馬遜跨境增長交流群
掃碼進(jìn)群
亞馬遜跨境增長交流群
加入
亞馬遜跨境增長交流群
掃碼進(jìn)群
拉美電商交流群
加入
拉美電商交流群
掃碼進(jìn)群
ESG獨(dú)家招商-PHH GROUP賣家交流群
加入
ESG獨(dú)家招商-PHH GROUP賣家交流群
掃碼進(jìn)群
《TikTok官方運(yùn)營干貨合集》
《TikTok綜合運(yùn)營手冊(cè)》
《TikTok短視頻運(yùn)營手冊(cè)》
《TikTok直播運(yùn)營手冊(cè)》
《TikTok全球趨勢報(bào)告》
《韓國節(jié)日營銷指南》
《開店大全-全球合集》
《開店大全-主流平臺(tái)篇》
《開店大全-東南亞篇》
《CD平臺(tái)自注冊(cè)指南》
通過ESG入駐平臺(tái),您將解鎖
綠色通道,更高的入駐成功率
專業(yè)1v1客戶經(jīng)理服務(wù)
運(yùn)營實(shí)操指導(dǎo)
運(yùn)營提效資源福利
平臺(tái)官方專屬優(yōu)惠

立即登記,定期獲得更多資訊

訂閱
聯(lián)系顧問

平臺(tái)顧問

平臺(tái)顧問 平臺(tái)顧問

微信掃一掃
馬上聯(lián)系在線顧問

icon icon

小程序

微信小程序

ESG跨境小程序
手機(jī)入駐更便捷

icon icon

返回頂部

【免費(fèi)領(lǐng)取】全球跨境電商運(yùn)營干貨 關(guān)閉
進(jìn)行中
進(jìn)行中
【活動(dòng)報(bào)名】2024年歐洲多藍(lán)海平臺(tái)招商沙龍
官方親臨,拆解phh group/eMAG/worten三個(gè)平臺(tái)商機(jī)
立即報(bào)名
進(jìn)行中
進(jìn)行中
TikTok運(yùn)營必備干貨包
包含8個(gè)TikTok最新運(yùn)營指南(市場趨勢、運(yùn)營手冊(cè)、節(jié)日攻略等),官方出品,專業(yè)全面!
免費(fèi)領(lǐng)取
進(jìn)行中
進(jìn)行中
韓國電商節(jié)日營銷指南
10+韓國電商重要營銷節(jié)點(diǎn)詳細(xì)解讀;2024各節(jié)日熱度選品助力引爆訂單增長;8大節(jié)日營銷技巧輕松撬動(dòng)大促流量密碼。
免費(fèi)領(lǐng)取
進(jìn)行中
進(jìn)行中
全球平臺(tái)詳解——全球合集
涵括全球100+個(gè)電商平臺(tái)的核心信息,包括平臺(tái)精煉簡介、競爭優(yōu)勢、熱銷品類、入駐要求以及入駐須知等關(guān)鍵內(nèi)容。
立即領(lǐng)取
進(jìn)行中
進(jìn)行中
全球平臺(tái)詳解——主流平臺(tái)篇
火爆全球的跨境電商平臺(tái)合集,平臺(tái)優(yōu)勢、開店選品、入駐條件盡在掌握
立即領(lǐng)取
進(jìn)行中
進(jìn)行中
全球平臺(tái)詳解——拉美篇
涵蓋9大熱門拉美電商平臺(tái),成熟的市場是跨境賣家的熱門選擇!
立即領(lǐng)取
進(jìn)行中
進(jìn)行中
全球平臺(tái)詳解——日韓篇
涵蓋10+日韓電商平臺(tái),入駐條件一看就懂,優(yōu)勢熱銷品應(yīng)有盡有
立即領(lǐng)取
進(jìn)行中
進(jìn)行中
全球平臺(tái)詳解——?dú)W洲篇
涵蓋20+歐洲電商平臺(tái),詳細(xì)解讀優(yōu)勢、入駐條件、熱銷品等
立即領(lǐng)取