“新質生產力”是什么?綠色發展是高質量發展的底色,新質生產力本身就是綠色生產力。
作為數字經濟的“底座”,數據中心是新型基礎設施節能降耗的關鍵環節,如何建設下一代綠色高效數據中心一直是產業界的焦點。銀河麒麟云底座操作系統結合云場景,從提升數據中心資源利用率、優化系統級能耗、提高系統整體性能三個方向入手進行技術突破,促進降碳增效,推動數據中心綠色發展。
瀏覽、下單、一氣呵成,電商購物的方便快捷已惠及每個人。在這背后,平臺上的每臺服務器早已分配好充足的計算資源,為隨時到來的流量高峰做足準備。然而高峰總會過去,夜深人靜時,那些提前分配的資源就白白閑置嗎?
針對以上的問題,麒麟軟件將業務進行“高低優先級”劃分,將對穩定性要求高的業務劃分為“高優先級”,對穩定性要求不高、沒有響應時延要求類的業務劃分為“低優先級”。銀河麒麟云底座操作系統針對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硬件性能、優化系統級能耗感知等方面不斷探索,服務新質生產力綠色發展。
通訊員 | 肖鈺亮
來 源 | 服務器研發部
審 核 | 市場與政府事務部