信云sCloud解決方案突破ARM服務(wù)器性能瓶頸

日前,首屆openEuler?Summit在北京順利舉行,本次大會匯聚行業(yè)領(lǐng)袖、業(yè)界資深專家、社區(qū)技術(shù)委員、Maintainer、廣大開發(fā)者及用戶,圍繞軟硬件協(xié)同、云邊端和多樣性算力場景展開深入探討,共同挖掘技術(shù)創(chuàng)新與開源生態(tài)的無限潛能。深信服信云sCloud研發(fā)負(fù)責(zé)人庾志輝受邀出席本次會議,并在現(xiàn)場分享了信云sCloud在基于鯤鵬服務(wù)器+openEuler的場景下,進(jìn)行計(jì)算、存儲、網(wǎng)絡(luò)等虛擬化的性能優(yōu)化方案。


信云sCloud解決方案突破ARM服務(wù)器性能瓶頸


庾志輝表示,目前國內(nèi)ARM的服務(wù)器,主要面臨兩個問題,一是在某些場景下單核能力與x86服務(wù)器相比,還有一些差距;二是ARM服務(wù)器的單核物理CPU有64個核2個NUMA,x86只有14個核1個NUMA,而多NUMA會導(dǎo)致線程遠(yuǎn)地訪問內(nèi)存。因此,在實(shí)際使用過程中,ARM服務(wù)器需要進(jìn)行性能優(yōu)化。


深信服信云sCloud不僅成功在ARM中實(shí)現(xiàn)了95%的x86功能,而且信云sCloud還調(diào)整了底層架構(gòu),能同時(shí)同集群內(nèi)異構(gòu)兼容多款操作系統(tǒng)和多款主流ARM服務(wù)器。具體在鯤鵬服務(wù)器+openEuler的場景下,信云sCloud提出了以下解決辦法:


ARM單核能力:“多線程+緩存”解決


在IO解析場景下,當(dāng)虛擬機(jī)下發(fā)IO到客戶端并解析IO動作的時(shí)候,x86需要單核的算力就能解析,但由于ARM的單核計(jì)算能力與x86相比,還有一些差距,可能會造成解析阻塞,成為整個性能瓶頸。因此,信云sCloud在整個數(shù)據(jù)流程中加了一層緩存同時(shí)增加線程,有效解決了ARM的性能瓶頸問題。


多核多NUMA:“NUMA智能調(diào)度”解決


ARM服務(wù)器相對于x86服務(wù)器來說比較特殊,其單顆物理CPU有64個核,2個NUMA節(jié)點(diǎn)。如何有效把這些特性利用起來,提高整個平臺的性能,成為虛擬化平臺性能優(yōu)化的大方向。信云sCloud采用深信服自研的NUMA智能調(diào)度技術(shù),以虛擬機(jī)為單位在多個NUMA內(nèi)進(jìn)行調(diào)度平衡,盡量減少跨NUMA的遠(yuǎn)地內(nèi)存訪問,提高整體性能。


在本次會議中,庾志輝還通過調(diào)度優(yōu)化、負(fù)載平衡、架構(gòu)透傳、重要虛擬機(jī)等場景,詳細(xì)地分享了深信服自研的NUMA智能調(diào)度技術(shù):


  • 調(diào)度優(yōu)化


內(nèi)核的CPU負(fù)載平衡機(jī)制,是以線程task_struct為調(diào)度單位的,而虛擬機(jī)的vCPU是一組線程task_struct。這就存在虛擬機(jī)的多個vCPU被調(diào)度到不同物理CPU核上,導(dǎo)致跨NUMA訪問內(nèi)存,性能下降。信云sCloud 的NUMA機(jī)制是在平臺上實(shí)現(xiàn),以虛擬機(jī)為調(diào)度單位來進(jìn)行調(diào)度優(yōu)化,保證了虛擬機(jī)的vCPU盡可能的調(diào)度到同個NUMA上,避免內(nèi)存遠(yuǎn)地訪問。


  • 負(fù)載平衡


內(nèi)核的負(fù)載平衡優(yōu)先考慮的是CPU之間的負(fù)載情況,然后考慮NUMA遠(yuǎn)地內(nèi)存問題。內(nèi)核做負(fù)載平衡時(shí)是直接把線程從CPU負(fù)載高的遷移到負(fù)載低的CPU上,不會考慮內(nèi)存相關(guān)影響,也不會遷移內(nèi)存頁。


信云sCloud 的NUMA調(diào)度機(jī)制,通過算法對歷史數(shù)據(jù)和現(xiàn)有負(fù)載情況做評估,來判斷NUMA節(jié)點(diǎn)的整體超配情況。當(dāng)超過閾值時(shí),會同時(shí)根據(jù)虛擬機(jī)的內(nèi)存訪問情況和NUMA負(fù)載情況,來選擇需要遷移的虛擬機(jī)。最終以虛擬機(jī)為單位把整個虛擬機(jī)vCPU遷移到其他負(fù)載較小的NUMA節(jié)點(diǎn)上,同時(shí)把相關(guān)的內(nèi)存也遷移過來,以保證虛擬機(jī)本地內(nèi)存訪問。


  • 架構(gòu)透傳


默認(rèn)情況下,虛擬NUMA架構(gòu)和物理NUMA架構(gòu)是沒有對應(yīng),這就會導(dǎo)致虛擬NUMA節(jié)點(diǎn)在各個物理NUMA節(jié)點(diǎn)上隨機(jī)調(diào)度,沒有充分利用物理NUMA架構(gòu)。信云sCloud通過識別物理服務(wù)器的NUMA架構(gòu),并透傳給虛擬節(jié)點(diǎn),讓虛擬NUMA節(jié)點(diǎn)和物理NUMA節(jié)點(diǎn)進(jìn)行對應(yīng)綁定。虛擬機(jī)內(nèi)部業(yè)務(wù)就可以真正使用到物理NUMA特性,提高虛擬機(jī)的性能。


  • 重要虛擬機(jī)


在特定業(yè)務(wù)場景中,重要虛擬機(jī)無法得到高優(yōu)先級的資源保障。信云sCloud可以自動識別虛擬機(jī)優(yōu)先級,在整體負(fù)載不超配的場景下,通過獨(dú)占NUMA來保障資源。在整體負(fù)載超配的場景下,通過調(diào)整重要虛擬機(jī)的vCPU權(quán)重來保障重要虛擬機(jī)被優(yōu)先調(diào)度,以保障用戶的重要業(yè)務(wù)。


最后,庾志輝表示,由于低能耗和低成本的優(yōu)勢,ARM服務(wù)器在我國的應(yīng)用范圍一直在不斷擴(kuò)大。特別是近年來國內(nèi)市場環(huán)境的推動,使得ARM服務(wù)器成為了IT行業(yè)的新寵兒。


目前,信服云已經(jīng)為眾多用戶交付了ARM架構(gòu)的云計(jì)算底座,特別在業(yè)務(wù)改造、x86服務(wù)器業(yè)務(wù)遷移至ARM服務(wù)器、兩種架構(gòu)服務(wù)器統(tǒng)一納管等等場景下,信服云已經(jīng)擁有了豐富的技術(shù)積累。未來,信服云也將繼續(xù)發(fā)揮自身的技術(shù)優(yōu)勢,為用戶帶來更優(yōu)的解決方案。


信服云:助力數(shù)據(jù)中心云化演進(jìn) 在云計(jì)算業(yè)務(wù)上,深信服作為成長迅猛的創(chuàng)新云計(jì)算廠商,致力于為全球用戶交付省時(shí)省事、平滑彈性、安全可靠、業(yè)務(wù)承載豐富的數(shù)據(jù)中心云化的優(yōu)選方案及服務(wù),解決用戶數(shù)字化轉(zhuǎn)型各階段核心問題,解放生產(chǎn)力,專注業(yè)務(wù)創(chuàng)新。