• 關于我們

    麒麟動態

    當前位置  >  首頁  >  關于我們  >  麒麟動態  >  正文

    綠色節能|詳解銀河麒麟云底座操作系統混合部署技術

    發布時間:2024-03-19    瀏覽次數:3626次    作者:麒麟軟件



    “新質生產力”是什么?綠色發展是高質量發展的底色,新質生產力本身就是綠色生產力。

    作為數字經濟的“底座”,數據中心是新型基礎設施節能降耗的關鍵環節,如何建設下一代綠色高效數據中心一直是產業界的焦點。銀河麒麟云底座操作系統結合云場景,從提升數據中心資源利用率、優化系統級能耗、提高系統整體性能三個方向入手進行技術突破,促進降碳增效,推動數據中心綠色發展。


    瀏覽、下單、一氣呵成,電商購物的方便快捷已惠及每個人。在這背后,平臺上的每臺服務器早已分配好充足的計算資源,為隨時到來的流量高峰做足準備。然而高峰總會過去,夜深人靜時,那些提前分配的資源就白白閑置嗎?

    類似的情況無處不在。隨著網絡業務的高速發展,各行各業對計算資源的需求量也日益增高。然而部分業務的流量往往隨著用戶的使用習慣呈現穩定的潮汐現象,從而導致在流量低峰期間(例如深夜)產生大量的資源閑置。同時,部分重要性較高的業務出于對穩定性的考慮,往往會過量分配資源,導致資源利用率低下。


    針對以上的問題,麒麟軟件將業務進行“高低優先級”劃分,將對穩定性要求高的業務劃分為“高優先級”,對穩定性要求不高、沒有響應時延要求類的業務劃分為“低優先級”。銀河麒麟云底座操作系統針對qemu-kvm虛擬機場景實現了高低優先級混合部署技術,通過將“高優先級”與“低優先級”混合部署、合理調控的方式,提升數據中心資源利用率,實現節能降耗,有力服務數字經濟發展。



    銀河麒麟云底座操作系統針對云場景下基于qemu-kvm的虛擬機場景,通過libvirt與skylark相結合,實現虛擬機高低優先級混合部署方案。在該方案下,通過資源隔離技術,在不影響高優先級虛擬機感知的情況下,允許低優先級虛擬機充分利用高優先級虛擬機空閑期間的資源,提高資源利用率;同時通過對Qos的控制嚴格保證高優先級虛擬機的Qos,在高優先級虛擬機需要資源期時,保證其能夠及時回收自身資源與搶占相關資源,保證高響應率與處理速率。


    libvirt:根據業務需求自主設置虛擬機


    libvirt支持用戶根據業務需求自主選擇虛擬機的“高低優先級屬性”,并配置在虛擬機的xml配置文件中。libvirt將通過高低優先級配置將虛擬機在cgroup中劃分為不同的子組,然后由cgroup為虛擬機高低優先級混合部署提供內核態基礎的資源隔離技術。


    在資源分配方面,libvirt對高優先級虛擬機的設置區別如下:


    優先級屬性

    高優先級

    低優先級

    CPU綁核要求

    一對一獨占式綁核

    范圍自由選取,選取范圍包括高優先級虛擬機CPU范圍

    目的

    提升虛擬機性能;

    防止高優先級之間互相競爭;

    預分配充足的資源;

    在高優先級虛擬機空閑時,使用其“獨占”的閑置的CPU資源,提高整體資源的利用率

    資源搶占能力

    對低優先級虛擬機的絕對壓制

    只能在高優先級虛擬機空閑期間,使用其“獨占”的閑置資源


    libvirt對高低優先級虛擬機資源分配


    這種實現方式因為cgroup的內核態資源隔離,不會主動讓高優先級虛擬機感知到CPU資源的變動,但是實際上當它們的CPU資源閑置時,能夠被低優先級虛擬機充分利用。


    skylark:保證高優先級虛擬機保持絕對優勢


    銀河麒麟云底座操作系統在用戶態主要通過skylark組件進行Qos控制,實現高優先級虛擬機能夠在資源競爭上保持絕對優勢,保證其資源充足、響應及時的功能。


    skylark能夠通過訪問cgroup中的子組,獲取分類為“高優先級”與“低優先級”的虛擬機,從而對兩者進行不同的Qos控制。


    skylark的核心模塊為QoSManager,主要模塊包括:


    數據收集模塊:DataCollector

    功耗分析模塊:PowerAnalyzer

    CPU控制模塊:CpuController

    內存LLC 及帶寬控制模塊:CacheMBWController

    守護進程模塊:BlockingScheduler


    這些模塊相互協作,支持的Qos控制功能如下:


    功耗干擾控制:相比非混部情況,混部后主機利用率更高,高利用率意味著高功耗,服務器功耗在超過TDP時會觸發CPU降頻。

    skylark 支持當功耗超過預設的TDP閾值(即出現 TDP 熱點)時,通過對低優先級虛擬機的CPU帶寬進行限制,以此達到降低整機功耗的同時保障高優先級虛擬機QoS。

    在skylark虛擬機混部方案中,我們有數據采集,QoS實時分析,QoS 實時控制,三個核心模塊,通過這三個模塊,可實現功耗干擾控制的核心算法。


    內存LLC/MB干擾控制:skylark在周期性地訪問cgroup下虛擬機的子組,并同步信息到resctl的控制組下,通過銀河麒麟云底座操作系統提供的resctrl接口來限制低優先級虛擬機的LLC和內存帶寬。


    內存LLC ways控制對內存LLC占用率的影響


    內存帶寬控制對流量的影響


    CPU干擾控制:混合部署場景下,虛擬機之間會產生CPU時間片干擾與超線程SMT干擾。

    skylark基于內核提供的 QOS_SCHED 及 SMT_EXPELLER 特性實現對這兩種干擾的控制:一是QOS_SCHED 特性實現了單個CPU core或SMT上高優先級虛擬機對低優先級虛擬機的絕對壓制,解決了 CPU時間片干擾問題;二是SMT_EXPELLER 特性實現了同一個 CPU core的不同 SMT 上高優先級虛擬機對低優先級虛擬機的絕對壓制,解決了 SMT 干擾問題。


    混合部署是業界提升整機資源利用率的一種通用做法,但對操作系統底層的資源隔離性提出了極高的要求,需要包含底層內核、調度系統和云平臺形成整體解決方案。銀河麒麟云底座操作系統以高性能、強安全、高可靠、高穩定為特點,同時,以綠色節能為用戶降低能耗,提升效率。未來,麒麟軟件將在如何充分發揮國產CPU硬件性能、優化系統級能耗感知等方面不斷探索,服務新質生產力綠色發展。



    通訊員 | 肖鈺亮

    來    源 | 服務器研發部

    審    核 | 市場與政府事務部

    上一篇: 共繪新圖景|麒麟軟件助力貴陽地鐵進入“線網時代” 下一篇: 使用麒麟操作系統,TA們獲獎了!

    試用

    服務

    動態

    聯系

    公啊灬啊灬啊灬快灬深用力视频