崔運進,江 帆,黃建德,閻 峻,趙 鋒
1(華東桐柏抽水蓄能發電有限責任公司,杭州 310003)
2(國網新源控股有限公司,北京 100761)
截至2020年,我國抽水蓄能電站裝機規模將達4000 萬千瓦[1].隨著抽水蓄能電站規模的日益增大以及新技術、新方法的逐步應用和成熟,為抽水蓄能電站進一步實現智能化、自動化提供了需求背景和技術基礎.目前國內主要發電集團、設備制造商、科研所等相關單位均進行了深入積極研究,并陸續建成實現了數據收集、控制調度、生產管理等較完備的自動化體系[2].然而由于終端設備的算力存在不足,導致抽水蓄能電站的物聯網體系智能化程度不高.云計算技術在一定程度上能夠緩解終端設備計算資源不夠的問題[3],但是由于物理距離的限制,云計算技術會導致較高的任務處理時延.為此,邊緣計算模式應運而生,邊緣計算可以滿足相關應用場景的低時延需求[4].邊緣計算的主要特點是將移動計算、網絡控制和存儲遷移到網絡邊緣,以便在資源有限的移動設備上實現計算密集型和延遲關鍵性應用.與云計算相比,邊緣計算可以實現更低延遲、移動設備的能耗節省、上下文感知計算以及移動應用隱私和安全的增強[5].
邊緣計算技術包含計算卸載、資源管理、移動性管理以及安全與隱私保護4 個方面,其中計算卸載是將移動終端的計算任務卸載到邊緣服務器上,它是邊緣計算的關鍵環節[6].并且,計算卸載是邊緣服務器進行數據處理的有效方式,通過計算卸載策略實現數據分流,有效利用邊緣服務器和本地計算資源,增加數據處理效率,減少任務處理時延.邊緣計算技術通過計算卸載算法對復雜的計算任務進行分配,被分配后的數據利用邊緣附近計算資源而不是利用本地資源,大大減少了中心云的數據處理壓力[7].
本文利用邊緣計算的概念,將邊緣計算的理念應用到抽水蓄能電站系統里,提出一種基于邊緣計算的卸載算法.首先,針對終端設備不同的任務屬性信息進行優先級預處理,在邊緣控制器端基于深度Q 網絡制定任務卸載決策,然后將終端設備的計算任務遷移到邊緣服務器處進行處理,以獲得更低的任務處理時延,并保證任務卸載決策的長期有效性,從而大幅提高抽水蓄能電站中數據處理相關工作的有效性與抽水蓄能電站物聯網管理體系的智能化程度.
目前國內外大量研究者對邊緣計算和深度Q 網絡進行了深入研究.文獻[8]中作者提出了一種動態的端邊協同任務調度算法,聯合優化卸載過程中的執行時延和傳輸能耗,動態調整終端任務調度策略.文獻[9]中,作者通過數值優化算法,提供了任務卸載過程中的最優解.文獻[10]針對計算任務無差別向邊緣服務器卸載的情況,基于一維搜索算法提出最優卸載決策.但是對于動態變化的物聯網環境來說,文獻[9,10]的卸載決策不能保證長期有效性.在文獻[11]中提出了一種基于DQN的多用戶單小區計算卸載與資源分配算法,聯合優化任務執行時延與能耗的加權和,實現了任務總成本的下降.
隨著抽水蓄能電站規模的不斷擴大以及物聯網技術的不斷應用,抽水蓄能電站正在進一步地向智能化的體系轉變.文獻[12]對泛在電力物聯網下的抽水蓄能電站智慧管理模式進行了思考,其中泛在物聯網提出了全息感知、泛在連接、開放共享、融合創新的技術路線,對目前抽水蓄能電站的智能化發展進一步提供了思路.文獻[13]提出一種多能耦合協同的新一代抽水蓄能電站,極大地增強了傳統抽水蓄能電站的綜合效益性能.文獻[14]研究了關于抽水蓄能電站自動化系統智能化發展,分析了自動化系統框架的結構,實現將抽水蓄能電站各并聯電力機組加以高度集成化、互動化控制,使其在智能電網中發揮更為顯著的應用效用.文獻[15]中基于國網新源控股有限公司正在建設的物聯網架構,對智慧管控平臺進一步提出了設想,該平臺建設并完善了信息采集、數據處理、智能分析等功能,形成了共享、互聯的智能管控系統.文獻[16]針對能源管理,信息管理和安全性等多個不同領域的電網架構進行了分析,同時對邊云協同技術的應用進行了全面調研,論證了相應技術在這些領域的效性與可靠性,為智能電網的發展指明了方向.文獻[17]將集成信息系統引入抽水蓄能電站的生產管理中做出了嘗試,并提出相應的技術方案,有效解決抽水蓄能電站的生產管理任務.文獻[18]介紹了小型光伏抽水蓄能系統的設計和頻率控制,提出了系統的雙重用途和智能控制方法.其中儲罐設計計算是針對傳統用水進行的,進行計算是為了預測每個設計情況下的發電量,進而在不同運行條件下,采用非線性PID 控制器和神經網絡進行頻率控制.
本文所提出的系統模型應用于抽水蓄能電站生產活動中,該系統包含電站物聯網終端設備及邊緣設備.在智能電網的應用場景中,電網對抽水蓄能機組的安全等級、響應方式及速度等提出了新的要求,電站物聯網終端設備會產生各種各樣的計算密集型任務.如果按照傳統的方式將計算任務上傳至云服務器,會產生較大的處理時延,影響電站的正常運轉.為優化處理程序,減小任務執行時延,本文將計算任務卸載至邊緣服務器進行處理.如圖1所示,該系統包含3 個層面:終端層,邊緣層和控制層.其中,終端層包含大量進行數據采集任務的傳感器以及對數據進行匯總的終端設備,邊緣層為一組高計算性能的邊緣服務器.在該系統架構中,終端設備將收集的數據匯總并形成對應的計算任務后,由于受限與自身較弱的計算能力,終端設備會將最大容忍時延、計算復雜度、數據量大小等任務屬性信息上傳至邊緣控制器,之后由邊緣控制器制定相應的卸載算法決定哪些終端設備的計算任務可以卸載至邊緣服務器.
本文假設抽水蓄能電站廠區的終端設備集合表示為K={1,2,···,k,···,K},邊緣層的邊緣服務器集合表示為E={1,2,···,e,···,E},第k個終端設備在第i個時隙產生的計算任務表示為Ci,k=(Vi,k,Di,k,Γi,k,Pi,k,e),其中Vi,k表示任務的計算復雜度,單位為比特/輪(bit/cycle),Di,k表示計算任務的數據量大小,單位為比特(bit),Γi,k表示計算任務的最大可容忍時延,其單位為毫秒(ms),Pi,k為邊緣控制器給該任務制定的卸載決策,其中Pi,k,e=0表示本地執行,Pi,k=1表示計算任務被卸載至邊緣服務器e執行.同時我們設定廠區的終端設備本地計算能力為fkl,單位為轉/秒(cycle/s).邊緣服務器的功率設為pe,計算資源表示為F={fe,k|e∈E,k∈K},且滿足約束其中fe,k>0表示終端設備k卸載到邊緣服務器e后被分配的計算能力,單位為轉/秒(cycle/s).最后本文假設無論是在本地或者卸載執行,計算任務的相關屬性信息保持不變,一旦任務執行時延超過最大容忍時延,則將該次任務標記為執行失敗.
如果廠區的終端設備k選擇本地執行任務Ci,k,則計算任務的本地執行時延可表示為:

在本地計算中,任務的執行速率可以表示為:

同時由文獻[19]可知,若終端設備的能耗系數為α,則終端設備k執行任務的能耗可以表示為:

若終端設備k采用卸載方式執行計算任務,則該過程可分為3 段:任務上傳、任務執行、執行結果下載.
首先在任務上傳過程中,本文將當前終端設備上傳帶寬設定為Bk,信道傳輸噪聲設定為N0,無線信道增益設定為gk,終端設備發射功率為pk,則上傳速率可表示為:

上傳時延表示為:

在任務執行過程中,計算任務的執行時延我們可以表示為:

本文將任務結果下載過程的執行時延忽略不計,因此終端設備k在任務卸載過程中的執行時延可以表示為:

能耗表示為:

由于計算任務屬性的不同,其所需的計算資源也不一樣,本文基于層次分析法(Analytic Hierarrchy Process,AHP)[20]對計算任務進行預處理,給計算復雜度更高、最大容忍時延更小的計算任務賦予更高的權重,從而為邊緣控制器制定卸載決策更合理的依據.
本文將計算任務復雜度Vi,k、最大容忍時延Γi,k、數據量大小Di,k作為計算任務權重系數的3 個考量因素,其重要程度依次下降.首先,可以得到評價因素判斷矩陣A=(aij)3×3,如式(1)所示:

然后根據方根法可以求得矩陣對應的權重向量元素.如式(10)所示:

根據式(10),可以得到廠區所有終端設備計算任務的權重矢量矩陣:

接著如式(9)構造出目標層與準則層之間的判斷矩陣B1,B2,B3=(aij)k×k,并求出判斷矩陣B的權重向量,如式(12)所示:

最后,根據式(13)可得到廠區所有終端設備計算任務的權重向量:

在3.1 節中,本文選取了計算最大容忍時延、任務復雜度、數據量大小3 個因素對終端的計算任務進行了預處理,其重要性依次下降,得到了對應的計算權重.因此考慮以邊緣服務器計算資源及能耗為約束、以時延為優化目標建模時,具體問題可以如下表示:

其中,約束2 (C2)、約束4 (C4)分別表示邊緣服務器分配的計算資源以及任務執行總能耗不可超過限定值.
式(13)是一個典型的混合整數非線性規劃問題,多項式時間內無法用常規的數值優化方法求出[21].對于需要動態監測的抽水蓄能電站而言,本文考慮采用深度強化學習對問題進行求解,將邊緣控制器作為智能體,協調廠區內的所有邊緣服務器.在本節中,我們首先對強化學習三要素進行建模.
(1)狀態
在本文中,考慮到邊緣服務器剩余計算資源隨著終端計算任務卸載決策的變化而變化,將邊緣服務器在每個時隙開始時具有的剩余計算資源設定為當前狀態,表示如式(15):

其中,S(t)表示第t個時隙的狀態空間,se(t)表示邊緣服務器e在第t個時隙開始時剩余的計算資源.
(2)動作
本文訓練算法采用Double DQN,其核心迭代算法使用的是Q 學習算法[22].由式(13)可知,本文主要優化的變量分別為邊緣控制器的卸載決策以及邊緣服務器的計算資源分配決策,因此將動作向量定義為;

其中,P表示邊緣控制器制定的卸載決策向量,fk表示邊緣服務器分配給第k個終端設備的計算資源,pk表示第k個終端的發射功率.
(3)獎勵
邊緣控制器可以通過獎勵值的期望來對未來動作進行規劃,其目標是最大化當前獎勵值.結合本文應用場景,我們計算任務的本地執行速率與上傳速率的加權和作為獎勵函數,定義如下:

接下來可以得到該問題的長期累積獎勵,表示為:

在本文中,動作、狀態值、獎勵值存放于回訪記憶單元中,通過Q 學習算法經歷多個迭代過程來反復訓練Q 值網絡,最后得到最佳卸載決策,可以表示為:

本文算法流程描述如算法1 所示.

算法1.任務卸載算法輸入:終端設備計算任務的計算復雜度V、數據總量D 及最大容忍時延,終端設備的上傳功率p.根據式(9)~式(13)得到每個計算任務的優先級W,即計算任務的計算資源分配權重.輸出:終端設備計算任務的卸載決策P.Γ 1.初始化經驗池存儲空間容量并且用隨機權重 初始化動作-價值函數.2.for each episode:S(t)θ Qπ(s,a)3.初始化狀態.4.for each iteration:ε a=maxQ(s,a;θ)5.以的概率選擇隨機動作,否則選擇潛在回報最大的動作.;6.執行動作a,得到獎勵值R與S'.7.將放入經驗池中,并從經驗池中選取最小批次數量的經驗對Double DQN 神經網絡進行訓練以更新權值.θ θ 8.每隔L 步,將評估網絡的權值 復制給目標網絡.9.如果是終止狀態,結束本輪迭代過程10.end for 11.end for
本節通過Python 編程語言對本文算法進行仿真以評估算法性能.本文考慮抽水蓄能電站中有單小區多邊緣服務器場景.基站覆蓋范圍內部署一個邊緣服務器,且覆蓋范圍內抽水蓄能電站廠區的終端設備均勻分布,其中邊緣控制器能夠調度所有基站及邊緣服務器資源.假定每個基站覆蓋范圍為1000 m,每個終端設備計算能力為1 GHz,邊緣服務器最大計算資源為5 GHz.終端設備計算功率為3 W,發射功率為0.3 W,攜帶的計算任務數據大小(以兆比特為單位)服從[0,2]的均勻分布,計算任務復雜度(以兆輪為單位)服從[900,1100]的均勻分布.下面將本文算法分別與全部本地計算、全部卸載計算、Q 學習算法進行比較.
圖2為平均總延遲與抽水蓄能電站廠區的終端設備待處理的計算任務數據大小的關系.任務的總延遲隨著輸入數據大小的增加而增加.在數據量最大時,本文算法相比較于Q 學習算法延遲減少了300 ms.分析可知,一方面我們引入了邊緣計算,提高了系統的計算容量,能夠優化任務執行效率.另一方面,基于DQN 算法,可以根據環境變化自適應制定卸載決策,最大化利用系統資源,并保證卸載決策的長期有效性,對抽水蓄能電站的物聯網體系智能化建設有著較大的幫助.

圖2 總延遲和任務數據大小的關系
在圖3中,本文以任務復雜度作為變量,對Q 學習算法和本文算法進行了比較.從圖3可以看出,隨著任務計算復雜度的上升,卸載決策的制定變得更加艱難,任務執行失敗概率都隨之增加.但是本文算法的任務執行失敗概率低于Q 學習算法,同時本文算法執行失敗率的上升趨勢也明顯低于Q 學習算法,這是因為本文算法對抽水蓄能電站廠區終端設備所有的計 算任務做了自適應優先級預處理,給優先級更高的計算任務分配了更多的計算資源,使計算任務執行成功概率更高,提高卸載決策正確率,有效減小了廠區終端設備計算任務執行時延,從而能夠使得抽水蓄能電站能夠在邊緣側完成一系列控制調度、自動化監測等時延敏感型應用的部署.

圖3 3 種情況下總延遲不滿足要求發生的概率
面向抽水蓄能電站中終端設備最大容忍時延及最大能耗約束的情況,本文提出了一種基于邊緣計算的任務卸載算法.通過引入邊緣計算,在完成終端自身攜帶計算任務的優先級處理后,邊緣控制器通過DQN 算法制定卸載決策,以最小化終端設備的任務執行時延.通過對該算法的大量仿真分析及數值驗證,本文所提出的任務卸載算法在不同的情景下都優于傳統的方案.今后的研究將會考慮對DQN的訓練算法進行相應改進,同時抽水蓄能電站中復雜的無線電干擾等環境因素也會加以綜合考慮.