陳 剛,王志堅,徐勝超
(廣州華商學院 數據科學學院,廣州 511300)
近年來,物聯網技術[1-2]的不斷發展以及5G技術的出現,成功開啟了新型數據革命。然而,由于物聯網設備以及移動智能設備在計算領域的局限性,應用APP的增加使設備本身無法滿足應用APP的計算需求,因此需要將設備上的一些計算任務卸載到具有足夠計算能力的云服務器上實施計算處理,從而促使了移動云計算的發展。通常來說,云服務器多為集中形式,計算數據量會隨著時間的推移發生爆炸式增長。從而出現傳播時延慢的情況,由此有研究人員提出了移動邊緣計算[3],移動邊緣計算能夠很好地緩解了網絡計算數據量大導致的信道擁堵問題。其中移動邊緣計算中的任務卸載作為邊緣計算的關鍵環節,對其開展有效的任務卸載方法研究,就成為邊緣計算領域急需面對的問題。
文獻[4]提出基于遺傳算法的可持續任務卸載決策,該算法可以使卸載任務具有可持續性。但是該方法時效性較差,具有延時性。文獻[5]針對邊緣計算任務卸載時信息延遲問題,將模擬退火機制引入計算任務卸載中。以優化結果為基礎,改變用戶卸載策略,選取合適的服務器展開卸載執行,實現移動邊緣計算任務的高效卸載。但是,該方法在進行任務卸載時存在卸載延時較高的問題。文獻[6]基于移動邊緣計算網絡多任務卸載狀態,使用強化學習算法對其實施優化處理,建立邊緣計算任務卸載模型。最后通過求解模型,實現移動邊緣計算任務的有效卸載。該方法雖然能夠完成邊緣計算任務的卸載,但是在實際應用過程中存在能耗較高的問題。文獻[7]針對移動邊緣計算任務卸載時低能耗、低時延的卸載需求,提出一種最小化系統響應的任務卸載方案。通過設計的免疫優化算法,獲取最優卸載方案,完成移動邊緣計算時的任務卸載。但是,該方法需要經過多個步驟的計算,導致該方法存在卸載時間較長的問題。文獻[8]中提出了一種基于網格篩選的大規模密度峰值聚類算法,使用網格化方法去除部分密度稀疏的點,再使用密度峰值聚類算法的決策圖方法選取聚類中心。該算法可以在保證聚類準確性的基礎上,有效降低計算復雜度,并適用于數據的不均勻分布情況。文獻[9]中提出了一種針對結構復雜數據集的模糊聚類有效性指標。該指標使用類內平方誤差和和隸屬度權值得到緊致性度量策略,使用聚類中心距離最小值和各聚類中心到平均聚類中心的距離和,衍生出分離性測算方法。通過合成得到新的有效性指標V_(GSDC),在V_(GSDC)的極值處對應的類別數可以自動得到最佳聚類數。
為解決上述移動邊緣計算任務卸載過程中存在的問題,本文提出基于強化學習方法的移動邊緣計算任務卸載。本文的創新技術路線如下:
1)針對移動設備的計算任務卸載形式進行詳細分析,并獲取計算任務卸載相關參數值,如能量消耗、發射功率和傳輸速率等。
2)根據上述計算結果,建立移動邊緣計算任務卸載模型。
3)基于建立的卸載模型并結合Q-Learning算法,實施強化學習,從而找出最佳的移動邊緣計算任務卸載策略。
4)實現移動邊緣計算任務的實時卸載
本文使用的強化學習方法利用Q-Learning算法,具有不依賴模型的特點,以貪婪策略為目標策略,通過迭代更新可以獲得最優的學習結果。強化學習算法在移動邊緣計算任務卸載中應用的創新點主要為:該算法可通過學習和反饋調整決策策略,并自適應地調整任務卸載方式,使得系統能更好地響應網絡狀態、設備負載等因素,具有較高的動態性、自適應性、可擴展性和精度提升效果。因此,在實際應用中,強化學習與移動邊緣計算的結合可實現任務的智能調度和優化,改善邊緣計算的性能和用戶體驗。
用戶在享受移動邊緣計算帶來的便利時,還需要面臨計算任務卸載的決策問題。移動邊緣計算過程的任務卸載決策主要是指用戶在明確計算任務中時延、能耗各項指標后,對計算任務是否卸載至邊緣服務器展開決策,該決策會直接影響用戶的體驗,是整個邊緣計算的關鍵。
從移動云計算整體架構來看,計算任務在卸載時通常可以分成水平和垂直兩個方向。水平方向一般將框架分成3層,相同層設備和服務器可以看做移動邊緣的計算中心。在水平方向上的卸載方式分成設備到設備之間通信以及服務器之間協同計算兩種。而在垂直方向上,則要直接劃分UE層、移動云計算中心和云計算中心層三層架構。移動邊緣垂直方向卸載主要是通過任務計算能力劃分計算層級,任務卸載在三個層級之間,由低計算能力逐層向高計算能力層卸載,過程如圖1所示。

圖1 移動邊緣計算任務卸載場景圖
從圖1可知,用戶在決定是否進行邊緣計算任務卸載,主要基于卸載決策,其中包括任務卸載的任務量以及卸載邊緣服務器的決策,移動邊緣計算任務卸載[10-11]方式如下:
1)本地計算:由于移動邊緣計算任務通常都是由用戶自身CPU決定的,不涉及任務卸載。過程中通常由于移動邊緣計算資源的可用信道,若資源計算結果未達到理想收益,則不進行計算卸載。
2)全部卸載:用戶資源計算任務由信道上傳至移動邊緣計算服務器,通過服務器展開計算信道的計[12-13]處理。這一過程中由于信道質量穩定,計算資源充分,因此計算任務可直接通過任務卸載形式獲取計算收益。
3)部分卸載:該形式主要通過任務的兩種計算類型來開展,計算類型為上述的本地計算形式和卸載計算形式。卸載過程中主要針對可拆分任務,利用本地計算和卸載計算結合的形式,計算資源的收益,根據計算結果將要求高的任務部分卸載至移動邊緣計算服務器中,將簡單的任務放入用戶本地計算中,從而節省不必要的能耗。三種計算執行方式之間的關系如圖2所示。

圖2 移動邊緣計算執行方式關系圖
根據對移動邊緣計算卸載形式分析結果,構建用戶移動邊緣計算卸載網絡模型,模型具體結構如圖3所示。

圖3 移動邊緣計算卸載網絡模型結構
基于圖3可知,移動邊緣計算卸載模型是由K個移動設備以及一個具備高性能服務器的基站構建而成。在網絡時隙中,設備可將制定的卸載決策TDMA(time division multiple access)卸載至邊緣服務器。
在建立移動邊緣計算任務卸載本地執行模型之前,需要進行能量消耗和執行時間的確定,以便準確建立移動邊緣計算任務在本地計算設備上的執行模型。首先,對于本地執行,需要考慮移動設備的能量消耗。這包括移動設備在執行任務期間所消耗的能量,例如CPU運行、數據傳輸等過程中所需的功率。可以通過實驗或者建立能耗模型來測量或預測移動設備在不同負載和操作條件下的能量消耗。其次,還需要確定移動邊緣計算任務在本地執行時的執行時間。這涉及到移動設備處理任務所需的計算資源、存儲資源以及網絡傳輸延遲等因素。可以通過在移動設備上運行任務,并測量執行時間,或通過建立執行時間模型來評估任務在本地計算設備上的執行性能。通過準確測量能量消耗和執行時間,可以建立移動邊緣計算任務在本地執行設備上的執行模型。這個模型將為后續的決策提供基礎,幫助選擇合適的卸載策略和資源分配方案,以最小化系統開銷和提高任務執行效率。
設定qk表示第k個設備任務上傳發射功率,信道增益為fk,以此獲取任務傳輸速率[14-15]以及任務卸載所需時間,結果如下式所示:
(1)
(2)


(3)
式中,εoff,k為計算出的任務卸載能耗。
由于上述確定的移動邊緣計算任務卸載多目標組合優化問題屬于NP難問題,因此需要采用深度強化學習中的Q-Learning算法[16-19]解決任務卸載以及資源分配問題。
強化學習算法主要是通過不斷的試錯獲取問題的最優解,該算法通常由狀態、動作、匯報以及智能體幾個元素組成。強化學習算法通常分為有模型和無模型兩種算法,由于真實網絡的場景環境較為復雜,無法有效建立算法模型,因此在移動邊緣計算任務卸載過程中,可使用Q-Learning算法進行卸載任務強化學習,從而實現移動邊緣計算任務的卸載。
當面臨馬爾可夫決策過程(MDP)問題時,Q-Learning是一種基于強化學習的算法,旨在通過不斷與環境交互,學習最優策略。該算法利用一個Q值表格來表示在不同狀態下采取不同動作的預期回報,并通過更新和選擇最大Q值的方式,迭代地優化策略。Q-Learning的核心是通過探索和利用的平衡,使智能體能夠學習到長期回報最大化的策略,而無需事先了解環境模型。這種算法被廣泛應用于游戲智能體訓練、路徑規劃等領域。將用戶看做一個智能體,設定系統狀態S的卸載決策系數為A,資源分配系數描述成H,剩余以此獲取系統狀態值以及動作值,過程如下式所示:
(4)
式中,F為任務卸載時剩余計算資源系數,a為系統動作值,ai為計算任務Ti的卸載方案,aj為計算任務Tj的卸載方案。由于在智能體系統中,卸載決策系數能夠直接決定哪些計算任務需要卸載,哪些在本地計算執行。

在Q-Learning算法中,設定智能體在t時刻的環境狀態為s,基于隨機選取的動作a,進入到s中獲取響應的獎勵值r,以此更新Q表格和算法當前狀態,從而獲取最佳的卸載策略,過程如下式所示:
Q(st,at)=Q(st,at)+
(5)
式中,ι為折扣因子,η為學習率,Q(st,at)為獲取的最佳卸載策略。
基于確定的最佳卸載策略,可以構建一個層次結構模型來比較模型中不同準則層因素的重要性。這種層次結構模型將幫助明確各個因素之間的相對權重,從而對移動邊緣計算任務進行更合理的決策。首先,需要確定準則層因素。這些因素可包括能源消耗、執行時間、任務負載、設備性能等與任務卸載和資源分配相關的因素。通過比較和分析這些因素,可以確定它們在決策過程中的相對重要性。接下來,根據比較結果,建立一個判斷矩陣。判斷矩陣是根據準則層因素之間的比較結果構建的,用于定量地表示它們的重要性。通過兩兩比較準則層因素,并給出其相對重要性的比較判斷,可以得到一個方陣形式的判斷矩陣。然后,需要進行一致性檢驗來驗證判斷矩陣的合理性。一致性檢驗是為了確保判斷矩陣的邏輯一致性,即判斷矩陣中的比較判斷是否符合一定的數學規律。通過計算一致性指標(例如一致性比例CR),可以評估判斷矩陣的一致性,以確保判斷矩陣的可靠性和合理性。最終,通過計算一致性檢驗結果和矩陣運算,可以得到最終的移動邊緣計算任務權值向量。這個權值向量代表了各個準則層因素對于最佳卸載策略的相對重要性。基于這些權值,可以進行任務卸載和資源分配的決策,選擇最優的移動邊緣計算策略,以達到系統開銷的最小化和任務執行效果的最大化。
首先設定層次模型[20-22]層數為3層,第一層負責任務緩存價值獲取,第二層為計算任務的流行度、任務數據大小以及計算量的獲取層;第三層為任務層。
建立辨識矩陣時,設定矩陣中第i個元素與第j個元素之間重要程度為bi,j,任務的流行度、任務數據大小以及計算量都受任務緩存價值支配,建立額定辨識矩陣表述成B=bi,j形式。
基于上述建立的辨識矩陣,利用評價指標算法確定矩陣的不一致程度值以及隨機一致性比值概率,以此完成最終計算任務權重向量的計算,過程如下式所示:
λ=w1xi+w2yi+w3Q(st,at)
(6)
式中,w表示與矩陣最大特征值對應的特征向量,λ為獲取的權重向量,w1、w2、w3分別為任務在度量時流行度、任務CPU周期大小以及數據量權值,Q為表格,xi為Ti時刻橫坐標值,yi為Ti時刻縱坐標值。
當用戶發出移動邊緣計算任務的卸載請求時,移動邊緣計算服務器會首先檢測是否已將該任務的計算結果緩存起來。如果存在已緩存的計算結果,服務器將直接返回緩存結果,并根據預設算法計算卸載策略值。該策略值決定是否將移動邊緣計算任務卸載到邊緣設備上執行,以降低系統的總開銷成本。然而,如果計算結果未被緩存,服務器將繼續使用Q-Learning算法來決定最佳的卸載策略和資源分配策略,以最小化系統的開銷。Q-Learning算法通過不斷的學習和迭代,基于環境與動作的獎勵情況,逐步優化策略,并探索可能的卸載策略和資源分配方案。通過聯合優化計算移動邊緣計算任務的卸載、資源分配以及任務緩存策略值,系統可以得到最優的開銷成本。這種方法利用緩存和智能決策相結合,針對不同的任務和環境條件[23-25],實現了高效的任務卸載和資源利用,提高了系統性能和用戶體驗。
為了驗證本文基于強化學習的移動邊緣計算任務卸載方法的整體有效性,需要對此方法測試。
分別采用基于強化學習方法的移動邊緣計算任務卸載(本文方法)、基于遺傳算法的可持續任務卸載決策方法(文獻[4]方法)、基于免疫優化的邊緣計算任務卸載(文獻[7]方法)進行對比測試。
測試過程中,基于計算機仿真平臺建立一個虛擬大型的集中式移動邊緣計算網絡,仿真環境參數如表1所示。

表1 仿真環境參數
設定網絡中移動邊緣計算服務器位于基站附近,小企業服務器隨機分散在網絡中,覆蓋范圍為35 m,其余測試參數如表2所示。

表2 集中式移動邊緣計算網絡參數值
開展移動邊緣計算任務卸載方法有效性檢測時,設定卸載實驗方案有3種,如表3所示。

表3 實驗方案
3.2.1 時延測試
選取200個計算任務作為卸載任務目標,基于上述設定的卸載方案,分別采用基于強化學習方法的移動邊緣計算任務卸載(本文方法)、基于遺傳算法的可持續任務卸載決策方法(文獻[4]方法)、基于免疫優化的邊緣計算任務卸載(文獻[7]方法)開展移動邊緣計算任務卸載,檢測上述3種方法在移動邊緣計算任務卸載時的總時延變化情況,結果如圖4所示。

圖4 不同方法任務卸載總時延測試結果
分析圖4可知,移動邊緣計算任務的數量越多,任務卸載計算時所測試出的總時延就越高。整體來看,當移動邊緣計算任務都在本地執行時所測試出的總時延較小,計算任務若全部卸載,則總時延較大。本文方法在移動邊緣計算任務卸載時,測試出的總時延要優于其他方法的測試結果。其中,基于遺傳算法的可持續任務卸載決策方法直接根據優化結果制定卸載策略,所以該方法在完成任務卸載時所用時延較大;基于免疫優化的邊緣計算任務卸載方法在設計免疫算法時,算法本身誤差較大,所以該方法在任務卸載過程中,測試出的總時延較不理想。而本文方法則使用Q-Learning算法對卸載任務展開強化學習,在不斷的試錯過程中,獲取計算任務的卸載策略,所以該方法在任務卸載時,測試出的總時延較為理想。
3.2.2 能耗及時間測試
采用本文方法,文獻[4]方法以及文獻[7]方法開展移動邊緣計算任務卸載時,對上述3種方法的卸載能耗以及卸載時間展開測試,以此驗證上述3種卸載方法的卸載性能,測試結果如表4所示。

表4 不同方法的卸載能耗、時間測試結果
分析表4可知,在開展移動邊緣計算任務卸載時,隨著待卸載任務數量的增加,3種方法測試出的卸載時間以及卸載能耗均出現不同程度的上升趨勢。但是整體來看,本文方法在測試過程中檢測出的卸載時間以及任務卸載能耗都是3種方法中最好的。由此可證明,本文方法在移動邊緣計算任務卸載時,卸載方法具備有效性。本文方法具有較低卸載能耗與較短卸載時間的原因在于,本文方法對任務卸載的相關參數進行精準的計算,并構建任務卸載模型。并且結合深度學習中的Q-Learning算法對計算任務進行強化訓練,從而獲得最佳的任務卸載策略。
基于強化學習的移動邊緣計算任務卸載方法能夠有效地優化數據處理和計算任務的分配,提高了移動邊緣計算系統的性能和效率。然而,該方法也存在一些局限性。首先,由于強化學習方法需要大量的訓練數據和計算資源,因此其計算成本相對較高。其次,當計算任務量較大時,強化學習可能會產生比較大的決策空間,導致計算開銷增加并降低系統的性能。此外,基于強化學習的任務卸載方法也比較難以處理多目標和多約束的情況。為了解決這些問題,未來可以從以下幾個方面進行改進。首先,可以采用深度強化學習等技術提高算法的學習效率和性能,并通過分布式計算等方式降低計算成本。其次,可以使用遺傳算法等進化算法來處理多目標和多約束問題,提高決策效率和優化性能。此外,還可以通過引入傳感器網絡、邊緣計算設備和物聯網等技術,構建更加智能、高效和可靠的移動邊緣計算系統,為實現更廣泛的應用場景打下基礎[26-27]。