“新質(zhì)生產(chǎn)力”是什么?綠色發(fā)展是高質(zhì)量發(fā)展的底色,新質(zhì)生產(chǎn)力本身就是綠色生產(chǎn)力。
作為數(shù)字經(jīng)濟的“底座”,數(shù)據(jù)中心是新型基礎(chǔ)設(shè)施節(jié)能降耗的關(guān)鍵環(huán)節(jié),如何建設(shè)下一代綠色高效數(shù)據(jù)中心一直是產(chǎn)業(yè)界的焦點。銀河麒麟云底座操作系統(tǒng)結(jié)合云場景,從提升數(shù)據(jù)中心資源利用率、優(yōu)化系統(tǒng)級能耗、提高系統(tǒng)整體性能三個方向入手進行技術(shù)突破,促進降碳增效,推動數(shù)據(jù)中心綠色發(fā)展。
瀏覽、下單、一氣呵成,電商購物的方便快捷已惠及每個人。在這背后,平臺上的每臺服務(wù)器早已分配好充足的計算資源,為隨時到來的流量高峰做足準備。然而高峰總會過去,夜深人靜時,那些提前分配的資源就白白閑置嗎?
針對以上的問題,麒麟軟件將業(yè)務(wù)進行“高低優(yōu)先級”劃分,將對穩(wěn)定性要求高的業(yè)務(wù)劃分為“高優(yōu)先級”,對穩(wěn)定性要求不高、沒有響應(yīng)時延要求類的業(yè)務(wù)劃分為“低優(yōu)先級”。銀河麒麟云底座操作系統(tǒng)針對qemu-kvm虛擬機場景實現(xiàn)了高低優(yōu)先級混合部署技術(shù),通過將“高優(yōu)先級”與“低優(yōu)先級”混合部署、合理調(diào)控的方式,提升數(shù)據(jù)中心資源利用率,實現(xiàn)節(jié)能降耗,有力服務(wù)數(shù)字經(jīng)濟發(fā)展。
銀河麒麟云底座操作系統(tǒng)針對云場景下基于qemu-kvm的虛擬機場景,通過libvirt與skylark相結(jié)合,實現(xiàn)虛擬機高低優(yōu)先級混合部署方案。在該方案下,通過資源隔離技術(shù),在不影響高優(yōu)先級虛擬機感知的情況下,允許低優(yōu)先級虛擬機充分利用高優(yōu)先級虛擬機空閑期間的資源,提高資源利用率;同時通過對Qos的控制嚴格保證高優(yōu)先級虛擬機的Qos,在高優(yōu)先級虛擬機需要資源期時,保證其能夠及時回收自身資源與搶占相關(guān)資源,保證高響應(yīng)率與處理速率。
libvirt:根據(jù)業(yè)務(wù)需求自主設(shè)置虛擬機
libvirt支持用戶根據(jù)業(yè)務(wù)需求自主選擇虛擬機的“高低優(yōu)先級屬性”,并配置在虛擬機的xml配置文件中。libvirt將通過高低優(yōu)先級配置將虛擬機在cgroup中劃分為不同的子組,然后由cgroup為虛擬機高低優(yōu)先級混合部署提供內(nèi)核態(tài)基礎(chǔ)的資源隔離技術(shù)。
在資源分配方面,libvirt對高優(yōu)先級虛擬機的設(shè)置區(qū)別如下:
優(yōu)先級屬性 | 高優(yōu)先級 | 低優(yōu)先級 |
CPU綁核要求 | 一對一獨占式綁核 | 范圍自由選取,選取范圍包括高優(yōu)先級虛擬機CPU范圍 |
目的 | 提升虛擬機性能; 防止高優(yōu)先級之間互相競爭; 預(yù)分配充足的資源; | 在高優(yōu)先級虛擬機空閑時,使用其“獨占”的閑置的CPU資源,提高整體資源的利用率 |
資源搶占能力 | 對低優(yōu)先級虛擬機的絕對壓制 | 只能在高優(yōu)先級虛擬機空閑期間,使用其“獨占”的閑置資源 |
libvirt對高低優(yōu)先級虛擬機資源分配
這種實現(xiàn)方式因為cgroup的內(nèi)核態(tài)資源隔離,不會主動讓高優(yōu)先級虛擬機感知到CPU資源的變動,但是實際上當它們的CPU資源閑置時,能夠被低優(yōu)先級虛擬機充分利用。
skylark:保證高優(yōu)先級虛擬機保持絕對優(yōu)勢
銀河麒麟云底座操作系統(tǒng)在用戶態(tài)主要通過skylark組件進行Qos控制,實現(xiàn)高優(yōu)先級虛擬機能夠在資源競爭上保持絕對優(yōu)勢,保證其資源充足、響應(yīng)及時的功能。
skylark能夠通過訪問cgroup中的子組,獲取分類為“高優(yōu)先級”與“低優(yōu)先級”的虛擬機,從而對兩者進行不同的Qos控制。
skylark的核心模塊為QoSManager,主要模塊包括:
? 數(shù)據(jù)收集模塊:DataCollector
? 功耗分析模塊:PowerAnalyzer
? CPU控制模塊:CpuController
? 內(nèi)存LLC 及帶寬控制模塊:CacheMBWController
? 守護進程模塊:BlockingScheduler
這些模塊相互協(xié)作,支持的Qos控制功能如下:
? 功耗干擾控制:相比非混部情況,混部后主機利用率更高,高利用率意味著高功耗,服務(wù)器功耗在超過TDP時會觸發(fā)CPU降頻。
skylark 支持當功耗超過預(yù)設(shè)的TDP閾值(即出現(xiàn) TDP 熱點)時,通過對低優(yōu)先級虛擬機的CPU帶寬進行限制,以此達到降低整機功耗的同時保障高優(yōu)先級虛擬機QoS。
在skylark虛擬機混部方案中,我們有數(shù)據(jù)采集,QoS實時分析,QoS 實時控制,三個核心模塊,通過這三個模塊,可實現(xiàn)功耗干擾控制的核心算法。
? 內(nèi)存LLC/MB干擾控制:skylark在周期性地訪問cgroup下虛擬機的子組,并同步信息到resctl的控制組下,通過銀河麒麟云底座操作系統(tǒng)提供的resctrl接口來限制低優(yōu)先級虛擬機的LLC和內(nèi)存帶寬。
內(nèi)存LLC ways控制對內(nèi)存LLC占用率的影響
內(nèi)存帶寬控制對流量的影響
? CPU干擾控制:混合部署場景下,虛擬機之間會產(chǎn)生CPU時間片干擾與超線程SMT干擾。
skylark基于內(nèi)核提供的 QOS_SCHED 及 SMT_EXPELLER 特性實現(xiàn)對這兩種干擾的控制:一是QOS_SCHED 特性實現(xiàn)了單個CPU core或SMT上高優(yōu)先級虛擬機對低優(yōu)先級虛擬機的絕對壓制,解決了 CPU時間片干擾問題;二是SMT_EXPELLER 特性實現(xiàn)了同一個 CPU core的不同 SMT 上高優(yōu)先級虛擬機對低優(yōu)先級虛擬機的絕對壓制,解決了 SMT 干擾問題。
混合部署是業(yè)界提升整機資源利用率的一種通用做法,但對操作系統(tǒng)底層的資源隔離性提出了極高的要求,需要包含底層內(nèi)核、調(diào)度系統(tǒng)和云平臺形成整體解決方案。銀河麒麟云底座操作系統(tǒng)以高性能、強安全、高可靠、高穩(wěn)定為特點,同時,以綠色節(jié)能為用戶降低能耗,提升效率。未來,麒麟軟件將在如何充分發(fā)揮國產(chǎn)CPU硬件性能、優(yōu)化系統(tǒng)級能耗感知等方面不斷探索,服務(wù)新質(zhì)生產(chǎn)力綠色發(fā)展。
通訊員 | 肖鈺亮
來 源 | 服務(wù)器研發(fā)部
審 核 | 市場與政府事務(wù)部