方和平,劉曙光,冉泳屹,鐘坤華
(1.中國科學院 重慶綠色智能技術研究院,重慶 400714;2.中國科學院大學 重慶學院,重慶 400714;3.重慶郵電大學 通信與信息工程學院,重慶 400065)
隨著大數據、人工智能等技術的發展和應用,數據中心成為新型基礎設施。各地的數據中心建設和擴容的步伐得以加快。國內建成的數據中心大都是獨立營運的數據中心[1],通常分布在不同的地理區域,根據服務區域的需求規劃建設,規模較小且配備的資源也有限,配置也都是差異化的[2]。
獨立營運的數據中心受限于計算資源的有限性,會出現可用資源與任務需求不匹配,導致數據中心資源利用率低;受限于傳統的計算任務調度系統只為保證服務質量,忽視了數據中心整體能效,冷卻系統往往會過度制冷,導致不必要的能耗損失[3]。
為了響應我國提出的“雙碳”目標,數據中心在提供算力的同時還要保障數據中心綠色可持續發展,引導數據中心走高效、清潔、集約、循環的發展道路[4]。多數據中心調度通過分階段的方法解決上述提到的資源利用率低、能效低的問題:在多數據中心層面,整合各地獨立營運的數據中心差異化的計算資源,通過合理調度任務提高計算資源的利用率;在數據中心內部層面,避免熱點產生,降低制冷設備能耗。
近年來國內外學者在多數據中心調度任務的方法上,在數據中心選擇階段,更多考慮的是通信網絡層面的優化,較少將資源使用成本和網絡通信成本都納入優化因素。Xu等[5]提出了一種基于成本感知的資源分配和任務調度算法為使用云計算的用戶提供服務。Shen 等[6]通過動態分配資源的最佳權重和遷移目的地的分散選擇,有效地降低了數據中心之間虛擬機遷移的通信成本,同時確保了物理機的負載平衡。在數據中心內部任務調度階段,大多數的研究[7-8]只考慮服務質量,也有一些考慮到降低數據中心能耗的相關研究。Yi 等[9]通過使用長短時記憶(Long Short-Term Memory,LSTM)模型描述服務器功率和產生熱量的關系,然后使用深度Q 網絡(Deep Q Network,DQN)方法與LSTM 模型進行離線交互式訓練,通過訓練后的DQN 調度任務到合適的服務器,這種離線訓練的方式提高了收斂速度,避免了潛在的服務器過熱。Ran 等[10]提出了一種基于參數化動作空間的PADQN(Parameterized Action space based Deep Q-Network)算法解決混合動作空間的問題,聯合優化IT(Information Technology)系統的作業調度和冷卻系統的氣流速率。針對多數據中心分階段進行任務調度的研究,Li 等[1]針對多數據中心中難以選擇最優數據中心租用和使用虛擬機的問題,在虛擬機租賃階段,使用深度強化學習算法獲得用戶與數據中心之間的最短通信路徑;在虛擬機使用階段,為了提高對用戶的服務質量,使用深度強化學習算法獲得最優的任務調度策略,縮短了總體任務完成時間。Cheng 等[11]利用多個DQN模型構建一種分層混合的在線任務調度框架H2O-CLOUD(Hierarchical and Hybrid Online task scheduler for CLOUD computing)將動作空間解耦為幾個子動作空間:服務器集群、服務器、小時和分鐘,其中每個子動作空間對應的決策由一個特定的DQN 作出。
上述的相關研究存在著以下的不足:1)當多個數據中心形成一個復雜龐大網絡時,缺乏尋找最優通信路徑的方法;2)借助神經網絡模型擬合數據中心內部狀態(包括IT 狀態、環境溫度等)存在著可解釋性、泛化性差的問題;3)數據中心內部大量的服務器構成了高維的狀態空間和動作空間,大多數的優化方法難以求解;4)傳統數據中心內的任務調度大都只考慮服務質量,較少從溫度感知的角度設計降低能耗的任務調度策略。“服務質量”調度是為了滿足不同用戶對IT 系統的任務截止時間、系統安全性和系統穩定性等差異性服務質量的需求[12-13],它能夠提高IT 系統的運行效率,并滿足不同用戶提交不同任務類型的服務質量要求,但在數據中心整體能效上沒有明顯的提升;“溫度感知”調度是為了避免數據中心產生過熱區域,導致冷卻系統過度制冷造成能耗增加,它能夠在滿足基本服務質量的前提下,將數據中心溫度分布情況納入任務部署考慮因素,讓溫度變化更加均勻、平穩,降低平均制冷功耗,提高數據中心整體能效。
針對獨立營運的單個數據中心處理任務面臨的資源利用率和能效低的問題,本文提出了基于深度強化學習的一體化任務調度優化策略。參考已有的分階段任務調度[1],分別從“選擇數據中心租賃虛擬機”和“虛擬機任務調度”兩個階段研究如何更好地使用云計算資源。在選擇數值型租賃虛擬機階段,以用戶成本最低為目標;在虛擬機任務調度階段以保證服務質量、縮短任務完成時間為目標。因此,本文聚焦于“數據中心選擇”和“數據中心內部任務分配”兩個階段的問題。這兩個階段分別對應用戶和服務商,待解決的兩個問題的場景和目標都有所不同。用戶只知道多個數據中心各自的計算資源收費和到達各個數據中心的通信成本,對于數據中心內部的能效并不關注,因此在第一階段主要以降低用戶的成本的標準選擇數據中心;服務商為了更低的數據中心運行、維護成本,就必須同時考慮冷卻系統和IT 系統的能耗,因此在第二階段主要以提高數據中心整體能效為標準將任務部署到服務器上。本文分別對兩個階段以不同的標準進行優化。
本文提出的基于深度強化學習的一體化任務調度優化策略在數據中心選擇階段,首先利用網絡連接將多數據中心進行一體化整合,根據不同地區和不同時間的任務量變化、通信成本和資源價格等因素,采用一種基于具有優先經驗回放 的 DQN(DQN with Prioritized Experience Replay,PER-DQN)的數據中心選擇算法以解決在多數據中心環境下尋找最優通信路徑問題;然后計算路徑對應的總成本,根據總成本大小將任務調度到不同的數據中心執行,從而提高一體化數據中心的整體資源利用率并降低任務調度成本;選定數據中心之后,進入數據中心內部任務部署階段,提出了一種溫度感知的、基于雙深度Q 網絡(Double Deep Q Network,Double DQN)的任務部署算法。溫度的感知通過構建計算流體動力學(Computational Fluid Dynamics,CFD)仿真模型解決了數據驅動擬合方法可解釋性差的問題;通過基于Double DQN 的算法將任務部署到數據中心內部不同位置的服務器節點,解決了在高維狀態、動作空間下的決策問題,可以有效避免過熱、過載的情況,從而間接地減少了冷卻系統能耗,并提高了能效。
本文主要工作內容包括以下3 點。
1)在多數據中心構建的復雜網絡條件下,通過PER-DQN 算法快速獲取最小網絡通信成本的路徑,任務調度的網絡通信成本得以表示和計算。
2)實現了溫度感知的、基于Double DQN 的任務部署算法,根據數據中心當前溫度狀態和IT 狀態作出決策,讓數據中心服務器之間避免負載失衡和局部過熱,達到降低能耗的效果。
3)利用CFD 軟件6SigmaDCX 和數據中心計算仿真程序構建數據中心數據仿真平臺,解決了真實數據中心作為生產環境,不能直接用于優化算法訓練和策略校驗的問題。
多數據中心一體化任務調度系統架構如圖1 所示,由數據中心選擇和選定的數據中心內部任務部署兩階段組成。在這兩個階段中,依次由每個階段對應的智能體作出相應的決策,前一個階段選擇的數據中心是后一個階段展開數據中心內部任務部署的場景。

圖1 多數據中心一體化任務調度系統架構Fig.1 Architecture of integrated task scheduling system for multiple data centers
系統的工作流程為:首先,將需要服務的多個任務上傳至任務調度服務器;在開始調度的第一階段,即數據中心選擇,任務調度服務器在充分考慮該任務調度執行產生的資源使用成本、網絡通信成本的前提下,選擇多數據中心的其中一個數據中心提交任務;在調度的第二個階段,即數據中心內部任務部署,基于Double DQN 的任務部署算法根據數據中心內溫度、IT 狀態將任務調度到合適的服務器上執行。
任務調度服務器通過因特網或者專用網絡和分布在不同地域的數據中心相互聯通,并對這些數據中心做一體化調度。首先,需要從多數據中心中選擇某個數據中心提交任務,這里主要考慮每個數據中心的資源使用成本和任務調度服務器到該數據中心的網絡通信成本。資源使用成本主要指的是硬件資源使用成本,考慮到各地由于市場的波動,不同的數據中心的硬件資源價格可能也會有所不同[14-16];網絡通信成本指的是任務調度服務器到數據中心,任務在不同網絡通信路徑上傳輸的費用[17]。
任務調度服務器連接多數據中心的網絡,可以將它抽象表示為網絡拓撲圖G=(V(G),E(G)),其中E(G)為圖中邊的集合,通過邊表示網絡連接;V(G)為圖中頂點的集合,通過頂點表示數據中心。任意兩個vi,vj∈V(G),它們之間只要存在高速或者普通網絡的連接,那么必存在邊ei,j(vi,vj∈V(G))。在圖G的基礎上添加一個頂點s表示數據中心間的調度服務器,從調度服務器將任務分發給選擇的數據中心。頂點s表示的調度服務器與圖G任意頂點表示的數據中心vi存在網絡連接,則構成圖G':
其中:V'(G')、E'(G')分別表示在圖G'中的頂點集合和邊集合。在圖G'中,邊的權重值用表示,代表兩點vi,vj∈V(G)的網絡通信距離。頂點vi的權重值代表任務提交到當前數據中心的資源使用成本。在圖G'中,兩頂點之間的路徑表示為:
1.1.1 資源使用成本
由于各個數據中心位于不同的物理位置并且具有不同的資源配置,所以不同數據中心的計算資源價格也不同。大多數數據中心采取的計費方式按不同計算資源的單位時間價格、計算資源使用量和任務運行時間的乘積收費。計算資源費用示例如表1 所示。

表1 資源費用示例Tab.1 Resource price examples
假設一個任務需要a個CPU 核,bGB 內存,cGB 磁盤容量和gMb 通信帶寬,運行時間為ts,該任務提交到表1 所示收費標準的數據中心v i后,計算資源成本如式(1)所示:
1.1.2 網絡通信成本
任務調度器通過網絡和多數據中心連通。任務提交需要的網絡通信成本主要由帶寬、傳輸數據量和延遲決定。在確定帶寬和任務數據量后,延遲主要由傳輸距離決定[1]。在多數據中心抽象化表示的圖G'的基礎上,任務調度服務器s到任意一個數據中心v的通信成本由式(2)表示:
1.1.3 數據中心選擇優化目標
在選擇合適的數據中心提交任務時,假設所有數據中心的可用資源都能滿足執行任務的需求。選擇合適的數據中心的主要目標是最小化總成本,總成本包括資源使用成本和網絡通信成本兩項。最小化總成本由式(3)表示:
1.2.1 任務模型
本文主要針對數據中心的計算密集型任務[18]。計算密集型任務(如特定領域的優化和模擬、深度學習等)構成了當今計算需求的主要部分。主要具有以下特征。
1)當任務所需資源大于單個服務器節點可用資源,需要將任務劃分為多個子任務,每個子任務僅在單個服務器節點上運行。
2)每個CPU 核都只能由單個任務獨占使用,否則多個任務間對核的爭用將增加開銷并導致計算效率低下。
提交的任務包含執行文件、輸入數據、需要的CPU 核數、預計運行時間和運行優先級等。在分配任務時,將所需CPU核數作為計算密集型任務分配給某個服務器主要因素。
1.2.2 負載模型
其中:crunning表示當前服務器處在運行狀態下CPU 核數,pidle和pfull分別表示服務器在空閑狀態和滿載狀態下的功耗。線性功率的模型在估算機架式服務器是可用的事實得到了證明[19]。
1.2.3 熱模型
1.2.4 數據中心內部任務部署優化目標
其中:rjob是單個任務成功分配至服務器執行獲得的獎勵,φT和φu分別表示溫度閾值和利用率閾值。式(7)等號右邊后兩項表示對服務器過熱和過載的懲罰。
在多數據中心一體化任務調度策略的選擇數據中心階段,計算網絡通信成本與選擇的通信路徑是密切相關的,在復雜網絡中,如何快速尋找到最短通信路徑是需解決的問題;在數據中心的內部任務部署階段,面臨著任務的多樣化、環境的動態化的情況,在保證服務質量的前提下,避免發生數據中心內部出現負載失衡、局部熱點的情況。深度強化學習的方法憑借強大的決策和感知能力,能夠分別解決上述兩個階段的問題。下面將介紹深度強化學習DQN 方法的背景知識,以及利用DQN 解決上述問題的過程。
谷歌DeepMind 較早將強化學習(Reinforcement Learning,RL)同深度神經網絡相結合,形成了深度強化學習這一研究方向,其中深度學習部分具有環境感知的功能,強化學習部分通過決策完成從狀態到動作的映射。DQN 是深度強化學習領域的一個重要方法,并且已被成功用于高維度輸入環境的策略求解[20-21]。如圖2 所示,在傳統強化學習中,智能體通過迭代地向環境發送動作、監視環境的狀態并評估獎勵用以指導下一個動作與環境交互,學習的目標是最大化累積獎勵,最終獲得接近最佳的動作策略。

圖2 智能體與環境的交互Fig.2 Interaction between agent and environment
在交互的過程中智能體構建一個查找表,反映每個狀態-動作對(st,at)和動作-價值函數Q(st,at)之間的關系,Q(st,at)如式(8)所示:
其中:π是智能體的動作策略,智能體通過與環境的交互訓練網絡,從而獲取最佳動作策略。r是智能體做決策獲得獎勵(reward)值。DQN 用神經網絡近似式(10)所示的最優動作價值函數,有了Q*就可以指導智能體的決策,最大化未來的累計獎勵。DQN 將均方誤差(Mean Square Error,MSE)函數作為損失函數,由式(11)表示。計算損失函數的梯度更新網絡參數,采用隨機梯度下降(Stochastic Gradient Descent,SGD)來更新參數。
根據狀態st+1對應的動作-價值函數Q(st,at)最大化原則選出的動作a',θ-表示深度強化學習中的目標網絡參數。
在訓練DQN 模型過程中,可以運用以下技巧:1)考慮到DQN 在復雜環境下訓練的收斂過程中速度緩慢的情況,引入了優先經驗回放(Prioritized Experience Replay,PER)[22],PER 是針對經驗回放的改進,核心思想是強化學習智能體可以從某些經驗中更高效地學習。更多地采樣高期望值的經驗,通過時間差分(Temporal Difference,TD)算法誤差衡量。2)目標網絡,計算目標網絡的Q 值時使用兩套不同的參數,有效地避免了DQN 過高估計動作值的問題。3)使用ε-greedy 策略,智能體用1 -ε的概率選擇貪心動作,以ε的概率隨機選擇動作。
在數據中心選擇、數據中心內部任務部署兩個階段分別采用PER-DQN 和Double DQN 的算法,第一階段加入PER 使智能體能夠在復雜網絡環境下更快地找到到達任意數據中心的最短通信路徑。這兩種算法都采用圖3 所示的智能體訓練過程訓練智能體。智能體通過在不同階段分別與連接多數據中心的網絡拓撲環境、數據中心仿真平臺進行迭代交互,積累寶貴的經驗以獲得最優的調度策略。

圖3 智能體訓練過程Fig.3 Process of agent training
由于服務器規模大、資源異構多樣、用戶群體廣泛、應用任務類型多樣,多數據中心需要處理海量任務和數據。傳統的啟發式算法能夠很好地進行靜態任務調度,但不適用于動態環境。多數據中心的任務調度需要一種實時在線的方法。深度強化學習作為一種通用的學習模型,將深度學習的感知能力與強化學習的決策能力相結合,可以有效解決復雜多數據中心環境下的決策問題。因此在數據中心的選擇問題上,采用基于深度強化學習的方法是可行的。在數據中心選擇過程中,采用PER-DQN 獲取在復雜網絡中快速找到到達各個數據中心的最短通信路徑,然后根據路徑計算選擇最小化資源使用成本、網絡通信成本之和的數據中心。把數據中心間的任務調度服務器看作網絡節點,各個數據中心也作為網絡上的節點,求解的問題即:代表數據中心的頂點到代表任務調度服務器的頂點的最短路徑的問題。
任務調度服務器連接多數據中心的網絡環境下,深度強化學習的狀態空間、動作空間和獎勵的定義如下。
1)狀態空間。網絡中有D個數據中心,每個數據中心都有一個編號i(i∈{1,2,…,D})。數據傳輸就是從拓撲圖中的一個頂點到達另外一個頂點,同時任務調度服務器也有一個編號為0 的頂點。那么對于任意頂點vi的任務調度的狀態空間為:
2)動作空間。動作空間是智能體在當前狀態下可能執行的所有動作。當前數據中心節點vi做出動作j,動作j表示狀態i(頂點vi)到狀態j(頂點vj)的邊ei,j,即下一步從頂點vi前往頂點vj。因此智能體的動作空間為:
3)獎勵函數。獎勵函數表示智能體在某一狀態下執行某個動作獲得的獎勵的定義。在任務調度服務器連接多數據中心的網絡環境中,目標頂點代表了數據中心間的任務調度服務器,通過智能體的決策可以求解出任意一個數據中心到任務調度服務器的最短通信路徑,對得到的路徑取相反方向后,便可得到任務調度服務器到網絡中任意一個數據中心的最短通信路徑。智能體在當前頂點的狀態下,沿動作選定的邊進入下一個頂點,如果下一個頂點不存在,這個動作將會有懲罰值-1;如果下一個頂點不是目標節點,為了找到最短的路徑,需滿足路徑越長獎勵值越小,因而獎勵值設為邊上權重值的倒數如果下一個頂點是目標節點,獎勵值設為遠大于的目標頂點的資源使用成本tr,它表示智能體通過作出的一系列決策后,成功到達目標頂點。因此智能體的獎勵函數為:
基于上述PER-DQN 模型,獲取任務調度服務器到各個數據中心的最短路徑,然后根據得到的路徑運用式(2)計算任務調度到該數據中心的網絡通信成本;資源使用成本根據任務需求的情況運用式(1)計算。通過將各個數據中心資源使用成本和網絡通信成本相加,得到任務調度到各個數據中心的總成本,選擇總成本最小的數據中心作為當前任務的調度對象。
在數據中心內部任務部署,由于接收到的任務類型、數量和IT 系統運行狀態都是不斷變化的,通過基于Double DQN 的任務部署算法選擇部署提交的任務的服務器。任務調度到數據中心后,根據任務的規模和數據中心服務器資源使用情況,將規模較大的任務解耦,劃分為多個子任務;子任務加入數據中心任務隊列中;根據先到先服務(First-Come First-Served,FCFS)原則依次通過智能體學習的調度策略將任務調度到數據中心服務器中部署[23]。為了避免在真實數據中心環境的訓練中,智能體做出不符合規范的動作,智能體通過與構建的仿真平臺進行交互,智能體在訓練過程中學習如何解決造成數據中心局部熱點和服務器過載的問題。
在數據中心內部,深度強化學習的狀態空間、動作空間、獎勵函數定義如下。
2)動作空間。智能體根據當前數據中心內部的狀態作出決策,將任務調度到合適的服務器k運行,其中k=0 表示當前任務不會被分配給任何服務器。動作空間表示為:
3)獎勵函數。數據中心內部任務部署的目的是在保證服務質量的同時,保持服務器間的負載均衡和防止局部服務器過熱。為了實現上述的目標,獎勵函數如下:
基于Double DQN 的任務部署算法在訓練完成后,在任務需調度的時刻,根據數據中心內部環境狀態選擇合適的服務器用于部署提交的任務。
本章主要通過針對多數據中心一體化任務調度的兩個階段做相關實驗驗證。首先在任務調度服務器連接多數據中心的網絡環境中,驗證和評估PER-DQN 算法,同時與傳統的方法做相關對比實驗;然后在建立的數據中心仿真模擬平臺上進行仿真實驗,驗證和評估基于Double DQN 的任務部署算法,并對仿真結果進行分析。
3.1.1 實驗設置
如圖4 所示,假設有任務調度服務器連接到11 個(頂點編號為1~11)數據中心的網絡,頂點編號為0 表示數據中心間的任務調度服務器。通過對多數據中心環境抽象形成網絡拓撲圖,每條網絡連接對應的邊上,根據通信距離給出相應的權值。

圖4 任務調度服務器到多數據中心網絡拓撲Fig.4 Network topology of task scheduling server to multiple data centers
采用如表2 所示的模型參數設置,智能體通過在網絡拓撲環境中迭代交互訓練,訓練完成的智能體能夠在網絡拓撲環境中快速、準確地找到任務調度服務器到各個數據中心的最短距離。

表2 多數據中心任務調度模型參數設置Tab.2 Multiple data center task scheduling model parameters setting
3.1.2 基于PER-DQN的任務調度算法的訓練
采用式(11)定義的獎勵函數,分別采用PER-DQN 和DQN 求解多數據中心的最短路徑,跟蹤記錄兩種算法獲得的獎勵,實驗結果如圖5 所示。圖5 中的兩條曲線已經過平滑處理,PER-DQN 在經歷大約60 000 次訓練后,獲得的獎勵值趨于平穩;DQN 在經歷約70 000 次訓練,獲得的獎勵值趨于平穩。PER-DQN 比DQN 在訓練過程中收斂更快,且震蕩的幅度更小,這是因為優先經驗回放為訓練樣本加入了優先級信息,即重要的樣本給予較大的采樣優先級,從而讓智能體更加高效地學習。

圖5 兩種多數據中心任務調度算法的獎勵函數收斂曲線Fig.5 Convergence curves of reward functions for two kinds of multiple data center task scheduling algorithms
3.1.3 實驗結果與分析
假設當前任務調度服務器需調度一個需要如下資源的計算密集型任務:2 048 個CPU、4 GB 內存、200 Mb 帶寬、128 GB 磁盤空間。那么就需要在考慮計算資源成本和通信資源成本后,選擇成本最小的數據中心執行調度任務。傳統的路徑選擇常用方法有:1)計算資源優先(Computing Resource First,CRF)[1],優先選擇計算資源成本更低的數據中心,通信路徑采用隨機選擇的方式;2)最短路徑優先(Shortest Path First,SPF)[1],優先選擇通信距離最近的數據中心。
實驗通過分別采用PER-DQN、CRF 和SPF 路徑選擇方法將上述提到的計算密集型任務分別調度到編號為1~11 的數據中心,計算每個數據中心對應的總成本大小,全面檢驗PER-DQN 在將任務調度到任意數據中心對總成本控制的優勢。其中數據中心計算資源單價如表3[1,24]所示。實驗結果如圖6 所示。

表3 數據中心資源單位時間價格Tab.3 Prices of data center resources in unit time

圖6 數據中心選擇成本Fig.6 Data center selection cost
由于PER-DQN 在圖5 的任務調度服務器連接多數據中心的網絡拓撲環境下,始終獲得了相較于CRF、SPF 更短或相同的通信路徑長度。在相同的資源需求下,代表任務調度服務器的頂點在到達相鄰頂點代表的數據中心路徑時,基于PER-DQN、CRF 和SPF 這3 種方法獲得的總成本并沒有差異,隨著選擇其他非相鄰的頂點時,3 種方法獲得的總成本出現了較大差異,整體上基于PER-DQN 的數據中心選擇的總成本更低。采用任務調度到所有數據中心總成本的均值評價3 種方法的性能。基于PER-DQN 求出的平均總成本分別相對于CRF、SPF 求出的平均總成本下降約3.6%、10.0%。
3.2.1 數據中心仿真平臺
數據中心內部任務部署算法是在建立的數據中心仿真平臺上訓練和驗證的,數據中心仿真平臺如圖7 所示。仿真平臺主要由IT 模擬系統和數據中心內部環境模擬系統兩部分構成:IT 系統主要是對任務按FCFS 原則進行任務調度和模擬數據中心負載的動態變化情況。數據中心內部環境模擬系統由CFD 軟件構建,模擬數據中心內部動態變化的環境溫度。除了上述的IT 系統之外,數據中心最重要的就是數據中心的冷卻系統,這里采用具有架空地板供冷和天花板回程結構的風冷數據中心。數據中心的ACU(Air Cooling Units,ACU)跟IT 系統是獨立的,ACU 的制冷根據自身的控制系統調控制冷量。

圖7 數據中心仿真平臺Fig.7 Simulation platform of data center
3.2.2 實驗設置
參考傳統數據中心的配置,本次實驗采用的配置為共有N=16 個機架,每個機架有Mn=42 個1U 服務器,每個服務器的pidle=100 W、pfull=300 W,每個服務器的資源配置都是同構的,任務將根據智能體的決策調度到一個服務器,每個服務器有total_c=24 個CPU 核,這里主要針對計算密集型任務,所以調度任務考慮的資源的需求主要是CPU 核數。當任務需求的CPU 核數超過24,則需要劃分子任務,每個子任務需求CPU 核數最大不超過8。數據中心內部冷卻系統配有2 臺ACU,ACU 的最大顯冷量為450 kW,平均送風溫度設置在20℃。
使用LLNL Thunder[25]的真實工作負載日志生成任務請求。在LLNL Thunder 中,每條日志數據包括任務編號、提交時間、運行時間、運行時間和CPU 需求數等多項任務屬性,從日志中選取5 500 個任務:2 000 個任務用于初始化IT 系統和數據中心內部溫度環境,3 000 個任務用于算法的訓練,500 個任務用于驗證和評估算法。
采用如表4 所示的模型參數設置,通過在集成仿真平臺提供的環境中訓練,訓練完成的智能體能夠快速、準確地將任務調度到合適的服務器并避免過熱、過載極端情況的產生。

表4 數據中心內部任務部署模型參數設置Tab.4 Data center internal task deployment model parameters settings
3.2.3 基于Double DQN的任務部署算法
采用式(12)中的獎勵函數,圖8 為智能體在訓練過程中獲得的獎勵情況,可以看出經過大約7 000 次訓練之后,獎勵值趨于平穩,Double DQN 開始收斂。

圖8 數據中心內部任務部署算法的獎勵函數收斂曲線Fig.8 Reward function convergence curve of task deployment algorithm in data center
3.2.4 實驗結果與分析
為了驗證采用基于Double DQN 的任務部署算法在數據中心內部任務調度的問題上相較于傳統算法的有效性,本文基于Double DQN 的任務部署算法與傳統算法在測試數據集上進行對比。實驗采用的對比傳統調度算法如下。
1)輪詢調度(Round Robin,RR)。RR 每次以循環方式將任務隊列前面的任務分配給數據中心的服務器。如果當前服務器沒有足夠空閑CPU 處理任務,RR 將跳過該服務器并檢查下一個服務器的資源剩余情況。
2)貪心調度(Greedy)。該方法試圖減少為作業服務的服務器數量。它首先確定一組合格的服務器,這些服務器具有足夠的CPU 數,可以優先接收任務隊列中任務的調度。在用該方法調度時,將任務以貪心的方式分配給當前資源利用率最高的服務器。
分別采用基于Double DQN 的任務部署算法、RR 和Greedy 在相同的數據中心初始化狀態下,對參與評估的任務進行調度并記錄調度過程中獎勵、負載、電源使用效率(Power Usage Effectiveness,PUE)和溫度的變化情況。PUE是數據中心總能耗與IT 設備能耗的比值,其中數據中心總能耗主要包括IT 設備能耗和制冷等系統的能耗,值大于1,越接近1 表明非IT 設備耗能越少,即能效水平越高。
從表5 可以看出,基于Double DQN 的任務部署算法在平均獎勵、平均PUE、平均過載數上都比RR、Greedy 兩種算法取得的效果更好。平均獎勵的提升主要是因為基于Double DQN 的任務部署算法在保證任務分配到服務器執行的條件下,將任務分配到利用率更低和局部熱量更低的機架內服務器。通過將任務調度到不會產生局部熱點的服務器,從而避免空調的過度制冷,平均PUE 相較于RR、Greedy 分別下降約2.5%、1.7%,考慮到現有的數據中心改造冷卻系統高昂的成本,這里沒有對制冷系統進行聯合調控,所以PUE 下降的效果并不是很明顯。將過載的閾值設定為0.8,在出現服務器過載的數量上,基于Double DQN 的任務部署算法相較于RR、Greedy 調度算法分別減少約42.1%、13.2%。

表5 實驗結果數據Tab.5 Experimental results data
圖9 表示基于Double DQN 的任務部署算法、RR、Greedy這3 種算法調度過程中服務器機架背面出風的平均溫度變化,3 種算法在溫度變化趨勢上保持基本一致,但基于Double DQN 的任務部署算法在作出調度決策時考慮到了避免過載和過熱的情況,在平均溫度上比其他兩種算法更低,相較于RR、Greedy 調度算法平均溫度分別減少約0.4℃、0.2℃。

圖9 機架平均輸出溫度Fig.9 Average output temperature of racks
綜合上述的實驗,可以得出基于Double DQN 的任務部署算法相較于傳統的調度算法能夠讓數據中心負載狀態更加均衡,同時減少局部熱點的產生,間接提高了數據中心整體能效。
針對獨立運營的單個數據中心處理任務面臨的資源利用率和能效低的問題,采用任務調度服務器連接多數據中心的網絡整合有限的計算資源,以及溫度感知的數據中心內的任務調度的方案進行解決。本文分別從兩階段任務調度解決方案中涉及到數據中心選擇和數據中心內部任務部署的兩個角度,設計了基于深度強化學習的多數據中心一體化調度策略。引入網絡拓撲圖,通過PER-DQN 獲取到達各個數據中心最短網絡通信路徑,然后與傳統的路徑選擇方法進行成本對比,實驗結果表明PER-DQN 相對于CRF、SPF 有更低的總成本,能夠在相同的資源需求下,選擇總成本更低的數據中心執行調度的任務;數據中心內部任務調度通過將基于Double DQN 的任務部署算法與RR、Greedy 算法在相同的驗證數據集的調度結果進行對比分析,發現基于Double DQN的任務部署算法能夠在PUE、過載數量、溫度方面能夠取得更好的效果。
由于時間和精力的有限,本文研究還存在以下3 個方面的缺點:1)多數據中心選擇和數據中心內部任務部署兩個階段的任務調度,只是在各自獨立的階段進行優化,無法實現選擇數據中心成本最低,同時能在數據中心內部任務部署達到能耗最小的全局最優解決方案;2)在復雜網絡環境下的數據中心選擇上,網絡通信成本應同網絡質量密切相關的,且是動態變化的;3)數據中心內部任務調度階段,本文以每個服務器節點作為動作空間,每個服務器節點的狀態和溫度狀態作為狀態空間,當數據中心規模很大,就會導致智能體的動作空間、狀態空間維度很高,給作出合理的決策帶來了更大的挑戰,下一步研究考慮通過分層強化學習[26-28]的方法降低動作空間、狀態空間維度。