?

基于強化學習的云計算資源調度策略研究

2019-09-04 09:50李天宇
上海電力大學學報 2019年4期
關鍵詞:調度決策狀態

李天宇

(國網上海電力公司信息通信公司, 上海 200030)

云計算是一種新興的領先信息技術,云計算是在“云”上分配計算任務,通過專用軟件實現的自動化管理使用戶能夠按需訪問計算能力、存儲空間和信息服務,用戶可以專注于自己的業務,無需考慮復雜的技術細節,有助于提高效率、降低成本和技術創新。

云計算研究的關鍵技術有:虛擬化技術、數據存儲技術、資源管理技術、能源管理技術、云監控技術等。其中,系統資源調度是云計算中的關鍵問題之一。然而,由于云計算平臺上應用程序的多樣性和用戶負載的動態變化,可能發生節點之間負載不平衡的問題,一些節點負載不足、資源不足,而另一些節點負載閑置空閑,極大地影響了云計算系統的整體性能。此外,隨著云計算資源規模的擴大,資源集群的人工或手動管理變得非常不現實。因此,如何通過適當的算法自動協調服務器之間的負載,以提升云計算平臺的資源利用率已成為云計算領域迫切需要解決的問題[1-3]。

與傳統的虛擬機資源調度策略算法不同,強化學習(Reinforcement Learning,RL)算法是一種無模型調度方法,不需要系統的先驗知識和模型。該算法通過設定馬爾可夫決策模型,定義強化模型中的智能體(Agent)和環境(Environment),通過使智能體與環境交互學習,獲得系統的模型和動態特性。交互過程中,通過設定獎勵(Reward)和懲罰(Punishment)來約束智能體的行為,并通過最大化累計獎賞獲得最優控制策略[4]。文獻[5-6]研究了強化學習和動態規劃模型在云計算資源管理中的應用,以云計算虛擬資源的配置問題為學習對象,從控制規劃的角度進行了研究。文獻[6]著重于每個虛擬機的計算資源分配,并將其作為學習對象,構建了分布式虛擬機資源自動配置系統。但是,該方法僅從每個虛擬機資源啟動,忽略了虛擬集群的整體資源性能。

本文針對具有用戶負載動態的云計算虛擬機資源調度問題,設計了一種基于Q值強化學習的云計算虛擬機資源調度方法。將系統虛擬機的配置管理過程描述為馬爾可夫決策過程(Markov Decision Process,MDP),并根據系統中的運行狀態和輸入負載的動態變化引入Q值強化學習機制。智能體通過與服務器虛擬機資源環境的持續交互來獲得最佳虛擬機調度策略。 最后,本文以按需增減虛擬機數量和虛擬機動態遷移兩種場景為例,進行了仿真研究,并分析了不同場景下強化學習的性能。

1 虛擬機資源調度決策模型

1.1 虛擬機調度結構

本文研究的云計算虛擬機資源調度模型由用戶服務器、監視器、調度器和虛擬機資源池等組成。虛擬機資源調度結構如圖1所示。其中,調度程序自動將虛擬機的決策模塊配置為強化學習的智能體結構,發揮虛擬機的資源決策調度作用。根據動態負載平衡,當用戶負載與所需虛擬機服務器不匹配時,虛擬機調度策略將通過控制器調節相應節點的虛擬機個數,以達到用戶負載平衡。

圖1 虛擬機資源調度結構示意

1.2 虛擬機決策模型

強化學習方法側重于學習解決問題的策略。與一般機器學習方法相比,強化學習算法更注重與環境的交互。本文構建的強化學習智能體將虛擬機資源調度問題轉化為有限時間序列的馬爾可夫決策過程,智能體觀測量為數據提取的特征。

馬爾可夫決策過程具有馬爾可夫性,同時考慮動作和獎勵的影響?;隈R爾可夫決策過程,本文定義了虛擬機調度策略問題,在每個時間步長上,智能體觀測量包含強化學習中的狀態st,動作at和獎勵函數rt。系統在當前狀態st下采取動作at并通過P函數轉移到下一狀態st+1,即

st+1=P(st,at),?t∈{0,1,2,…,T-1}

(1)

獎勵函數rt與狀態轉移函數ρ相關聯,可表示為

rt=ρ(st,at,st+1),?t∈{0,1,2,…,T-1}

(2)

本文研究的問題是尋找最優策略h*,使得整個優化范圍內獲得的獎勵Gt最大。Gt的表達式為

(3)

式中:γ——折扣因子,根據未來獎勵在學習中的重要性而設定,γ∈[0,1]。

當智能體采用策略h時,累計回報服從一個分布,累計回報在狀態s處的期望值定義為狀態-動作值函數Qh(s,a)。

(4)

定義最優Q值函數為Q*(所有策略中最大的狀態-動作效用值函數),即

(5)

若已知Q*,則最優策略h*可通過直接最大化Q*(s,a)來確定,即

(6)

2 虛擬機調度策略的實現

2.1 深度Q值強化學習過程

虛擬機資源調度問題的學習目標是通過使用調度系統模塊的時間序列來添加或刪除虛擬機作為決策變量,利用智能體的反饋信號,不斷與環境互動,調整和改善智能決策行為從而獲得最佳調度策略。

文獻[5-6]將強化學習引入到云計算虛擬資源的配置中,文獻[7-10]將強化學習引入到實際應用場景的綜合研究中。本文采用深度Q值學習算法來解決虛擬機資源自動配置決策問題,即通過當前云計算應用系統中的運行狀態,調度決策模塊,并根據特定標準從動作空間中選擇最優動作,以改善系統的狀態和處理能力。對于Q值函數解,即最優策略求解問題,通常使用諸如神經網絡的非線性函數逼近器來近似值函數或策略。

深度Q值強化學習算法使用的是雙重Q值網絡結構。圖2為雙重Q值網絡的培訓流程圖,介紹了系統模型培訓過程。由于雙重Q值網絡將動作選擇和動作評估用不同的值函數來實現,因此雙重Q值網絡解決了值函數的過估計問題,如圖2所示。

在值函數更新中,目標值可以表示為

(7)

當前值網絡的參數θ是實時更新的,每經過N輪迭代,即可將當前值網絡的參數復制給目標值網絡。通過最小化當前Q值和目標Q值之間的均方誤差來更新網絡參數。誤差函數θt為

(8)

圖2 雙重Q值網絡培訓流程

強化學習過程中,Q值學習算法采用隨機梯度下降法不斷修正網絡參數,使網絡計算的Q值不斷接近目標值。最后,更新動作值網絡參數為

(9)

2.2 馬爾可夫決策過程元組描述

2.2.1 狀態空間

根據文獻[7-8],虛擬機自動調度決策需要解決狀態空間中的最佳虛擬機資源配置行為,因此將當前虛擬機集群中的虛擬機資源數用作配置決策模型中的狀態空間。調度決策模型的狀態空間S表示為

S={s1,s1,s3,…,sn}

(10)

2.2.2 動作空間

根據用戶需求,對不同的物理資源和虛擬資源進行動態劃分或釋放。當用戶不需要這部分資源時,可以將其釋放。云計算為用戶提供的這種服務實現了資源利用的可擴展性。根據文獻[9-10],在每個時間步長上,強化學習智能體采取的離散化動作包括添加虛擬機、虛擬機保持閑置和刪除虛擬機3種狀態。本文將動作空間a劃分成3個數值,即a∈[0,1,2]。a=0指示調度決策模塊添加虛擬機,a=1指示虛擬機保持空閑,a=2指示調度決策模塊刪除虛擬機。

2.2.3 獎勵函數

由強化學習中的獎勵函數可以立即得到動作和環境的優劣評估值。它是一種即時獎勵函數[11]。在應用系統添加或刪除虛擬機后,虛擬機資源的系統狀態(例如CPU,內存和帶寬利用率)會相應地發生變化。此時,若增加應用系統的處理能力,則可以滿足云計算應用提供商所需的系統處理要求,還可以滿足用戶的實時加載請求,并設置較大的正獎勵值;反之,經過調整后,產生了負荷損失,可設定為負的懲罰值。

rt=r(at,dt)=r+(at,dt)+r-(at,dt)

(11)

式中:at——動作加值;

dt——負荷需求;

r+(at,dt)——滿足用戶負荷需求的獎勵;

r-(at,dt)——不能滿足負荷需求的懲罰。

令δt=at-dt,當δt<0時,r-(at,dt)=kδt。

即時獎勵模型針對的是一個時間點信息做出的評價,無法說明整體策略的好壞。因此,需要定義狀態-動作值函數來表征策略對于狀態的長期效果。

(12)

Q值函數是強化學習的學習目標,選擇的最優策略就是基于最大Q值的策略。

(13)

3 仿真試驗和分析

3.1 仿真試驗

在電力系統云計算平臺基礎設施中,服務器、存儲和網絡資源通過虛擬化形成了龐大的資源池。分布式算法通過分配資源,消除了物理邊界,提高了資源利用率,并統一了資源池分配。在實施云計算基礎設施的過程中,資源池的構建尤為重要,將有助于實現云計算的最終目標——按需動態分配資源[11-12]。

本文以國家電網公司上海數據中心開展的“云平臺”系統為例,進行仿真分析,采集的歷史數據為小時級云平臺服務器節點處的用戶負荷量和剩余虛擬機數量,如圖3所示。圖3中,動作值線表示控制虛擬機數量的最優控制策略。試驗結果表明,強化學習算法提升了云平臺虛擬機系統的資源使用率,降低了云平臺虛擬機系統的整體運維成本。

強化學習算法中,學習率初始值設為0.000 5,折扣因子初始值設為0.9,貪婪策略概率ε初始值設為1。智能體通過增加折扣因子、減小學習率,以獲得更好的學習表現。

圖3 虛擬機動態遷移數量訓練結果

通過調度策略仿真結果可知:對于不同的用戶負荷使用初始值,服務器都能有效工作;在負荷消耗量沒有或較少時,虛擬機的個數能夠滿足負荷需求,虛擬機配置保持空閑;當負載較多時,開始增加虛擬機個數,為后面的負荷消耗提供保障;智能體觀測量的有效信息有所增加,使得智能體可以更加準確地選擇動作,從而使系統更有效地增減虛擬機個數,提高調度策略的性能。因此,智能體觀測的有效信息越多,則強化學習調度策略的性能越好。

4 結 語

在深度強化學習機制的基礎上,提出了云計算虛擬機資源調度策略,提取了有效特征,構建了強化學習模型,實現了云計算虛擬機資源的調度。首先,以云計算虛擬機資源為環境信息,以增減虛擬機為動作,以狀態環境收益獎勵和動作獎勵為獎勵函數,構建了強化學習模型;然后,提取輸入數據的特征,使用Q值強化學習算法計算Q值,得到最優的虛擬機調度策略。試驗結果表明,在不同環境狀態下,強化學習算法都能充分發揮模型的自主性,主動學習環境信息,調整自身參數和網絡結構,獲得較好的控制策略。

猜你喜歡
調度決策狀態
為可持續決策提供依據
《調度集中系統(CTC)/列車調度指揮系統(TDCS)維護手冊》正式出版
電力調度自動化中UPS電源的應用探討
基于強化學習的時間觸發通信調度方法
狀態聯想
決策為什么失誤了
CTC調度集中與計算機聯鎖通信接口的分析
生命的另一種狀態
堅持是成功前的狀態
關于抗美援朝出兵決策的幾點認識
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合