胡旭 張冰
(1.清華大學,北京 100084;2.天津商業大學,天津 300010)
隨著云計算、物聯網、元宇宙等技術的大規模應用,產生了海量的數據,作為核心底層基礎設施的數據中心的數量正在迅速增長,這些數據的預處理、計算與存儲都需要大量的能耗,據統計,我國數據中心年用電量已占全社會用電總量的2%左右,且仍在快速增長。因此,對現存的傳統數據中心進行綠色轉型已經成為當前急需解決的關鍵問題。2019 年 2 月,工信部等多個部門聯合發布《關于加強綠色數據中心建設的指導意見》,要“大力推動綠色數據中心的創建、運維和改造,引導數據中心走高效、清潔、集約、循環的綠色發展道路,實現數據中心持續健康發展”[1]。2021 年4 月又提出《關于嚴格能效約束推動重點領域節能降碳的若干意見》,“鼓勵重點行業利用綠色數據中心等新型基礎設施實現節能降耗,到2025 年,數據中心電能利用效率普遍不超過1.5”[2]。
綠色計算的概念第一次被提出是在2005 年,主要用來定義安全數據的計算。在2010 年,國際綠色計算會議(International Green Computing Conference)在美國芝加哥舉行,主要討論傳統架構以及云存儲結構中的能耗問題。目前,綠色計算從狹義上來說指的是在底層硬件、虛擬層、中間件、上層軟件以及網絡傳輸的整合過程中進行資源分配和任務排序,實現能耗值極小化。
云基礎設施層主要由服務器集群和資源負載監控器構成。以銀行為例,在20 世紀90 年代中期,隨著網絡技術的發展,形成了一批省級分行的服務器機房,即銀行數據中心的雛形。經過幾次更新換代,至2010年前后,已經形成了數據集中,統一經營的超大規模數據中心,這些企業以維穩為主要目標,在架構上縫縫補補,累積起龐大的復雜性和慣性。這類企業在與新技術融合并向綠色計算體系轉型的戰略部署過程中,可以選擇高密度的集約型云體系架構,以實現高計算性能、高資源利用率、低經濟投入、低能耗和高存儲密度為目標,同時減少服務器的物理部署需求和后期擴展需求。
虛擬資源層主要包括虛擬機群以及負責監控的負載監控器。虛擬機的出現主要是解決異構服務器的兼容問題,將虛擬機合理地映射到物理計算節點也是提高云資源使用效率的有效手段。在這一階段一般會利用虛擬機的部署、遷移與整合相結合的方式,將任務集中在少量物理計算節點上,提高單個節點的利用率,同時關閉或降低閑置節點的計算功率,以達成降低能耗的目標。
中間件層是云體系中軟件與硬件的“連接器”,也是云體系中最復雜、壓力最大的層。面向服務(SOA)的架構模式已經成為目前云體系架構的主流方案,即在物理層采用基礎設施即服務(IaaS)架構,軟件應用層采用軟件即服務(SaaS)架構,中間件層的主要作用包括對分散的計算節點進行整合,將應用層的任務合理高效地映射到虛擬機以及物理節點上,對虛擬機的時延、能耗、利用率等物理特性信息進行檢測收集,根據虛擬機的指標進行自適應調節與調度。目前大部分能耗優化管理都集中在虛擬層以及基礎設施層,而中間件層的能耗優化研究則主要集中在以下三個方面:準入控制、資源調度以及負載均衡。
目前硬件能耗優化主要集中在多核處理器的動態電壓頻率調節(DVFS)和動態電源管理(DPM)方面,一般會根據任務負載對處理器內核進行細粒度的調控。此外,在大型數據中心,往往需要大量不同類型的處理器內核共同作用,因此需要針對異構的多核處理器的動態功耗進行調控。目前已知對多核處理器進行動態調控的算法主要集中在數學規劃算法、隨機搜索算法、元啟發式算法和智能仿生算法等領域[3-6]。
在軟件方面,降低數據中心能耗主要有兩種途徑:一是通過優化虛擬增資源配置調度進行減耗,主要途徑包括均衡負載和減少任務執行時間;二是將部分計算下沉到網絡邊緣側,通過云端融合來發揮云計算與端計算的協同優勢,減少數據中心能耗。第一種方法主要是中間件層通過對虛擬資源層作業調度的服務質量(QoS)進行優化來減少能耗,目前應用最多的算法是自適應啟發式算法。然而,由于主要計算任務仍舊由數據中心承擔,通過優化資源調度降低的能耗十分有限,一般適用于數據密集型的集約化結構,例如一些銀行、政府等機構采用集約化服務器架構,既可以降低經濟投入,又可以有效降低運行能耗;第二種方法則主要適用于資源分散的計算密集型結構,由于大量的計算數據傳輸會對骨干網造成極大負擔,也會引起大量能耗,將部分計算移到網絡邊緣側,可以提升包括時延、負載、能耗等QoS 性能。但是,由于網絡邊緣側需承擔一部分計算任務,對設備要求較高,需要對傳統計算框架進行升級改造,對經濟型造成一定影響。
目前數據中心的服務器多采用多核處理器系統,多核處理器的硬件能源消耗主要來源于DVFS 技術和DPM 技術。DVFS 技術主要指的是結合實時調度理論,根據系統的空閑時間,動態調節CPU 的計算速度,以降低能耗;DPM 技術指的是根據系統設備的空閑時間來決定是否將設備切換成空閑模式,以降低能耗[7]。目前,針對多核系統能耗優化的調度算法包含數學規劃法、啟發式方法和隨機搜索方法[8]。
數學規劃算法在傳統的調度算法中應用較多。W.Jiang等針對實行DVFS技術的嵌入式系統節能設計,提出了一種基于動態規劃算法的快速雙搜索方法,該算法根據執行任務時間的概率分布來進行任務分配[9]。該算法通過在能耗的上下界內進行快速的雙向搜索來獲得能耗的受限范圍,通過計算每個任務的期望能耗值,近似計算出最小能耗方案。周海航討論了多處理器系統的共享高速緩存分配問題,針對有相互依賴關系的周期性任務在多處理器系統上競爭高速緩存的應用場景,通過整合DVFS 和DPM 技術,最終得到各個處理器總能耗的最小期望值[10]。但是由于線性規劃自身的局限性,得到的最優解往往不能滿足系統動態變化規律,在任務調度方面不及其他仿生算法應用多。
啟發式算法應用較多的是任務復制算法、循環調度算法和任務組合算法。S.K.Biswas 等提出了一種多目標貝葉斯實時優化算法[11],算法將任務隊列構成的有向無環圖根據貝葉斯算法進行循環迭代,找出最優任務分配組合,該算法可以在保證延時的條件下有效減少等待隊列長度,算法如圖1 所示。M.Nejat 等提出了一種協同控制的集成資源調度算法(RMA)[12],該資源管理器可以同時進行DVFS 控制以及緩存調度。該算法是一種多層剪枝的啟發式算法,它的優點在于不需要考慮系統的任何先驗行為數據,只需要在指令的監控間隔內收集靜態統計數據,就可以計算出每個指令需要消耗的動態能量,另外,該算法是獨立應用在各個內核上的,因此,一個內核的優化降階并不會對其他內核的效率造成影響。

圖1 多目標貝葉斯實時優化算法流程圖
元啟發式算法是隨機搜索算法類別中應用較多的算法。近年來,研究學者嘗試將多種仿生算法,例如遺傳算法、人工免疫算法和神經網絡算法等,與元啟發式算法相結合,形成新的調度算法。王靜蓮等討論異構多核體系的動態能耗,將軟硬件節能原理深度融合,進而提出一種新的綠色異構調度算法[13],該算法基于元啟發式人工免疫理論,將候選解看作是基因組合的進化個體,進而將基因組合編碼為三維矩陣,依照粗粒度模型,設計CPU-GPU 相結合的多層次并發進化計算。S.Saroja 等提出了一種混合雙目標的并行遺傳算法[14],該算法首先生成初始種群,再對初始種群進行并行遺傳操作來確定全局最優解,該算法可以避免算法在局部最優解上的過早收斂,并減少算法的運行時間,從而得到全局最優解。
虛擬機的部署、遷移及資源調度管理是降低數據中心能耗的主要手段。虛擬機放置位置太分散或太密集都會對能耗造成很大影響。而由于數據量的逐漸增大,密集型虛擬機架構已經無法承擔所有的數據計算需求,而分散型虛擬機架構大量的數據傳輸則對帶寬利用、時延和能耗有較高的要求。目前對調度優化算法的研究主要集中在提高帶寬利用率和減少時延方面,而追求最小時延和最低能耗往往是矛盾的,怎樣在滿足QoS 的情況下達到最小能耗是個關鍵問題。
一些研究認為應該將任務盡可能地分布在最少數量的虛擬機上以減少網絡傳輸,進而降低能耗,例如,C.Delimitrou 等針對虛擬機之間的異質性和相互干擾問題設計了一種Pragon 調度算法[15],該算法旨在將虛擬器整合在盡量少的服務器上以減少能耗,算法的核心思想與Netflix 的推薦算法類似,通過對比不同應用在異構資源和干擾方面的相似性,具體來說,即是通過單數值分解(SVD)方法來協同過濾并確認新負載與計劃任務的相似度,以此來快速確定資源分配。H.Yuan等提出了一種基于分解的多目標進化算法(IMEAD)來研究數據中心能耗最小化與商業利益最大化之間的折中問題,如圖2 所示[16]。文章假設當前數據中心不同服務器使用的供電能源分別來源于能源電網、風力發電和太陽能發電這三種方式,中心任務調度器根據當前的電價、風速和太陽輻照度等參數來為不同的服務器分配任務,以使供應商達到能耗最小化和收益最大化之間的平衡。

圖2 IMEAD 算法框架圖
還有一些研究認為應該提高數據傳輸的帶寬利用率,以降低能耗,其主要采取的操作有以下幾種:
1.優化網絡拓撲結構,虛擬器在服務器上的放置位置是影響能耗的重要因素[17-19],A.Ibrahim 等提出了離散粒子群優化算法來計算虛擬機的最佳部署,該算法首先采用加權和方法來合并活躍和過載的主機,再利用最小適應度函數來尋找虛擬機的最優位置,并根據CPU 的大小進行排序。王繼彬提出了基于虛擬現實(VR)技術的數據中心虛擬化資源節能調度算法[20]。該研究構建了數據中心資源采樣模型,結合VR 互動裝置調度中心資源,采用嵌入式模糊聚類融合分析方法建立虛擬化的信息融合中心,結合差異化融合特征量實現對數據中心資源的實時節能調度。
2.調整設備的自適應狀態,將設備的功耗與數據負載相關聯。L.Hongyou 等提出了ELMWCT 調度算法來進行任務資源分配[21]。當任務到達時,算法首先引入節點利用率閾值向量,根據CPU、內存、網絡利用率和閾值向量的關系,來確定負載虛擬機的移植位置,隨后,將其他沒有負載任務的虛擬機切換到休眠模式,以降低能耗。M.Safavi 等以均衡系統能耗和滿足系統穩定性為目標,提出了一種基于Lyapunov 穩定性分析的能量感知負載平衡技術[22],該技術將動態服務器調度(DSP)問題轉化為凸優化問題,根據服務器隊列的總能耗和空閑時間來進行動態分配負載,在計算復雜度與任務分配最優解之間取得平衡,并且可以根據資源的可用程度來進行DSP 調度。
云端融合即將云計算與端計算相結合。端計算即指邊緣計算,在2013 年,美國太平洋西北國家實驗室的一份報告中首次出現了邊緣計算的概念,2020 年,國際標準化組織(ISO)正式將邊緣計算定義為“一種將主要處理和數據存儲放在網絡的邊緣節點的分布式計算形式”。目前,邊緣計算的三種形式包括云邊緣(指將數據計算轉移到云層的邊緣節點)、邊緣云(指將數據計算轉移到邊緣層的節點中)和邊緣網關,其中,邊緣云中的移動邊緣云(MEC)主要應用在5G 移動互聯網、物聯網等領域,且落地規模較大。其中,在5G和車聯網領域中,由于數據的計算量激增,且對數據時延要求提高,將部分數據計算移到云的邊緣側可滿足敏捷連接、實時傳輸,降低能耗和隱私保護等需求。在物聯網領域,由于互聯設備節點會產生海量初始數據,將數據全部傳輸到云端處理會占用大量網絡資源和云資源,因此,在端側進行數據初步計算可大幅減少資源占用并提升用戶體驗,從而降低能耗。
在5G 環境中,降低能耗除了考慮云體系中的能耗外,通常考慮最多的是移動節點能耗,MEC 經典結構如圖3 所示。MEC 架構主要分為系統層、主機層和用戶設備層。其中,系統層主要由邊緣協調器、運營系統和第三方應用組成;主機層主要由邊緣應用和虛擬化基礎設施及管理組成。

圖3 MEC 框架
在MEC 中基于能耗優化的計算卸載問題是當前研究較多的課題。C.You 等針對多用戶MEC 系統MAC 層的信道資源分配問題展開研究[23],首先,TDMA 系統被考慮為一個凸優化問題,根據用戶的計算能耗和信道增益設計出一個計算卸載優先級函數并提出一個閾值結構,根據用戶優先級與閾值的關系,為用戶設定最大程度的卸載;其次,OFDMA 系統計算卸載被視為混合整數優化問題,根據平均子信道增益來設計優先級函數,再根據用戶的優先級來分配傳輸子信道。也有一些研究應用人工智能算法來進行計算卸載的算法優化。T.Bai 等考慮無人機的計算卸載問題,由于計算信息需要通過無線傳輸鏈路上傳到網絡邊緣進行計算卸載,可能會導致信息泄露[24]。文章針對無人機、AP、三種類型的竊聽者同時存在的場景,提出了一個PLS 策略(physical-layer security),在節能的同時降低信息泄露風險,該策略將復雜的多重參數優化問題變形為單一參數的凸優化問題,以找到資源分配和降低能耗的最優解。E.Li 等研究5G 網絡中的神經網絡計算的高負載引起的時延長和能耗大等問題[25],提出了Edgent 架構,通過對DNN 計算合理分區和精簡,在計算高精度和低延遲之間達到平衡。Edgent 訓練回歸模型來預測分層推理延遲并推導出DNN 分區和精簡的最優配置,在5G、車載網等動態網絡中,減輕網絡波動的影響。K.Wang 等提出一種移動邊緣云的無線電接入網(ME-RAN)架構[26],該架構由MEC 作為計算提供平臺和RAN 作為通信組成接口。通過觸發卸載動作來增加用戶設備的計算能力,考慮有限的計算和通信資源來減少所有UE 的能耗,提出的能耗最小化問題被證明是一種非凸混合整數規劃,通過分散式本地決策算法和集中決策資源分配算法進行ME-RAN 中的決策和資源分配。Q.Zeng 等針對邊緣機器學習領域中的聯合邊緣學習框架(framework of federated edge learning,FEEL)在節能領域進行探索[27],文章通過優化帶寬調度分配使得應用帶寬適用于設備的信道狀態,從而達到節能目的,這種策略下得到的帶寬配置與傳統調度策略是完全相反的,有著高算力和穩定帶寬的設備反而會被分配較少的帶寬,以此來達到算力平衡,這也會有效降低能耗值。
本文從硬件軟件兩個方面討論了云體系數據處理中心的節能方法。硬件方面的能耗優化主要集中在多核異構處理器的動態任務管理,通過動態規劃、啟發式和元啟發式算法進行任務調度,并借助DVFS 和DPM 技術提高多核處理器的利用率,以動態降低能耗。軟件方面的能耗優化主要集中在兩方面:一是對云體系的虛擬機資源調度和部署進行優化,通過均衡虛擬機的利用率以及提高虛擬機的數據密度來降低能耗;二是對云端融合的云體系架構進行算力卸載,通過優化云端資源分配和帶寬利用率來達到節能的目的。目前,海量數據的存儲和處理所產生的高能耗問題已經成為數據中心急需解決的關鍵問題。可以預見,未來隨著國家政策的擬定,會有越來越多的研究投入到綠色計算領域中。