999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

無服務器環境下基于DQN和用戶意圖的函數放置研究

2023-02-21 16:16:03徐東紅花旭
計算機應用研究 2023年12期
關鍵詞:云計算

徐東紅 花旭

摘 要:隨著無服務器計算技術的快速發展,無服務器計算以其按需付費、自動擴展等特性吸引了越來越多用戶的關注,研究人員正在探索將無服務器架構應用于日漸完善的邊緣計算系統。然而,在分布式的無服務器系統中如何有效地進行無服務器函數放置并為用戶提供優質的服務仍是該領域一個亟需解決的問題。采用基于用戶意圖的DQN(deep Qnetwork)無服務器函數放置算法來解決分布式無服務器系統中的函數放置問題。該算法將用戶意圖作為學習目標,利用DQN算法進行函數放置的優化。仿真實驗表明,基于用戶意圖的DQN無服務器函數放置算法在計算時延和放置開銷方面顯著降低。相較于傳統方法,該算法能夠有效滿足用戶的不同需求,并取得了較好的函數放置效果,在分布式無服務器系統中具有較高的適應性和性能優勢。

關鍵詞:云計算; 無服務器計算; 深度強化學習; 用戶意圖; 函數放置

中圖分類號:TP18?? 文獻標志碼:A?? 文章編號:1001-3695(2023)12-035-3747-07

doi:10.19734/j.issn.1001-3695.2023.03.0143

Research on function placement based on DQN and user intention in serverless environment

Abstract:With the rapid development of serverless computing technology, serverless computing has attracted more and more users attention with its payasyougo, automatic extension and other features. Researchers are exploring serverless architectures for increasingly sophisticated edge computing systems. However, how to effectively place serverless functions in distributed serverless systems and provide users with highquality services is still an urgent problem in this field. This paper applied user intentbased DQN serverless function placement algorithm to solve the function placement problem in distributed serverless systems. The algorithm took user intention as the learning objective and used DQN algorithm to optimize function placement. Simulation experiments show that, the user intentbased DQN serverless function placement algorithm achieves significant reduction in computing delay and placement cost. Compared with traditional methods, this algorithm can effectively meet the different needs of users and achieve better function placement effect, and has higher adaptability and performance advantages in distributed serverless systems.

Key words:cloud computing; serverless computing; deep reinforcement learning; user intention; function placement

0 引言

云計算技術起源于網格、并行和分布式系統、虛擬化、互聯網技術,相較于傳統方式,云計算具有規模大、虛擬化、可靠性高、通用性強、高可擴展性和廉價的優點。云計算技術使企業能夠快速擴展和適應業務,加速創新,提高業務敏捷性,簡化運營,并降低成本。因此越來越多的服務和應用遷移到云端。由于云計算廣闊的發展前景,吸引了眾多學者和工業界的注意力。在過去十年間,工業界涌現了一大批云服務器提供商(如Amazon Web Services(AWS)、Google Cloud Platform(GCP)和Microsoft Azure)[1]。

隨著容器化、面向服務和事件驅動的逐漸普及,云計算的范式由基礎設施即服務(IaaS)轉向容器即服務(CaaS)和平臺即服務(PaaS),再到函數即服務(FaaS)[2]。FaaS也被稱做serverless computing(無服務器計算),是指構建和運行不需要服務器管理的應用程序的概念,它描述了一種更細粒度的部署模型,應用程序捆綁一個或多個無服務器函數上傳到平臺,然后執行和計費,以響應當前所需的確切需求。由于無服務器函數的細粒度特性,其在按需付費、自動擴展等方面具有優勢。目前主要的云服務提供商都提供了FaaS平臺,諸如AWS Lambda、Google Cloud Functions和Azure Functions。在使用無服務器應用時,傳統的應用被分解為一些具有獨立功能的小型代碼單元,這些代碼單元被稱為函數,FaaS提供事件驅動計算,并由事件或HTTP 請求觸發的函數來運行和管理應用程序代碼。開發人員將代碼的小型單元部署到FaaS 平臺,這些代碼根據需要作為離散動作執行,無須管理服務器或任何其他底層基礎設施即可進行擴展。從無服務器提供商獲得后端服務的用戶將根據計算量來付費。傳統的后端服務(服務器分配)模式經常導致用戶為未使用的空間或空閑的CPU時間付費;由于無服務器計算是自動擴展的,用戶不必預留和付費購買固定的帶寬或者服務器,這大大減少了用戶的開銷。同時,由于開發人員通過逐個添加和修改代碼來修復錯誤或發布新功能而不涉及復雜的部署,所以使得應用無服務器架構可以大大縮短產品上市的時間。

近些年來全球數字化浪潮蓬勃興起,截至2021年入網終端一年可產生高達847 ZB的數據,這些數據呈現分散性、碎片化的特點,有超過50%的數據需要在網絡邊緣進行處理[3]。傳統云計算模式雖然具有強大的數據處理能力,但是面對如此海量的數據以及網絡帶寬帶來的阻礙時,對實現計算的全面覆蓋,數據的就近分析處理以滿足實時性要求顯得力不從心。由于邊緣計算在減少延遲、降低開銷、提高效率方面相較于傳統云計算模式具有獨特的優勢,所以受到了學術界和工業界的廣泛關注,目前其已逐步成為了計算體系發展的新方向,整體上處于高速發展的新階段,正邁向實際部署。一些學者已經嘗試將無服務器計算應用于邊緣計算環境下:AWS IoT Greengrass允許在邊緣設備上運行AWS Lambda功能;Azure Functions提供了在物聯網設備上部署功能的指南,將其作為預發布功能;此外,一個基于OpenWhisk 的FaaS 邊緣計算開源項目已經啟動,其將云服務器組織成一個分層的分布式體系結構,通過在地理上分布的云服務器上運行的多個功能的協作來提供服務[4,5]。

盡管無服務器計算在邊緣計算環境下應用前景廣闊,但仍然存在許多問題阻礙其發展。在分布式的無服務器系統中,存在各類不同的計算節點,如何將不同類型的無服務器函數放置到不同的節點,以獲取相對較小的計算時延和相對較低的使用開銷是一個亟待解決的問題。

在現有的無服務器平臺上采用了不同的函數放置策略:在AWS Lambda平臺上執行的操作表明,函數放置決策目前被視為裝箱問題,以最大限度提高虛擬機內存利用率;Azure Functions采用一種分散的函數放置策略,該策略盡量將同一函數的不同并發實例放置到不同的虛擬機上[6];IBM OpenWhisk 使用基于散列的FirstFit 啟發式方法,該方法按函數類型聚合應用程序執行,旨在提高實例重用和緩存命中率[7];Docker Sarm采用了一種分散放置算法,該算法試圖將任務均勻分布在集群中的節點上。以上方法均不能很好地解決分布式無服務器系統中的函數放置問題。該問題建模和優化的挑戰主要存在于以下三個方面:

a)由于無服務器函數細粒度的特性,無服務器函數放置的問題規模將大大增加,在邊緣云系統中各類節點以及用戶數量龐大,函數放置的問題規模將進一步擴大;b)用戶在使用無服務器應用時,函數類型往往種類繁多,使用場景也不盡相同,這要求無服務器函數放置算法具有良好的動態適應能力;c)由于用戶使用無服務器應用時對實時性要求較高,這要求無服務器函數放置算法具有較高的效率,能在較短的時間內精準地完成函數放置任務。

為了解決以上問題,本文提出了基于用戶意圖的深度強化學習算法解決無服務器系統中的函數放置問題。首先建立分布式無服務器系統的MDP模型(MDP模型是強化學習理想的數學模型)用于強化學習算法的實現,本文通過將無服務器系統建模為MDP數學模型,將強化學習算法應用到函數放置的決策過程中;其次參數化對無服務器系統中用戶意圖的認知,用戶意圖體現用戶的需求,對用戶意圖的清晰認知有助于合理的強化學習獎勵函數的設計;最后將用戶意圖與強化學習算法結合的無服務器函數放置優化算法,本文將研究其在決策過程中起到的相關作用。

1 相關工作

許多研究已經嘗試了將無服務器架構應用于邊緣計算的環境中[8~18],因此許多邊緣計算領域的任務調度算法具有借鑒意義。在邊緣計算領域中,經典任務調度算法如隨機調度算法、輪詢調度算法、最早調度算法以及通過它們改進的一些算法適用范圍較廣[8,9]、邏輯簡單,在一些場景下可以獲得較好的性能,但其不能針對不同任務類型使用場景進行改進,導致其使用時不夠靈活,不能完成對特定目標的優化。許多學者把任務調度看成是NP 完全問題,使用啟發式任務調度算法,例如粒子群優化算法、遺傳算法、蟻群優化算法和模擬退火算法[10~12]。這些啟發式算法可以針對特定的目標進行優化,相比于經典的任務調度算法,可以自適應地改變自己的策略,但啟發式算法往往在實現上比較困難,程序運行時計算量較大,雖然在離線任務調度上已經有了很好的應用,但并不適合對延遲要求較高的實時在線函數放置。基于機器學習的調度算法常見的有基于深度學習、基于強化學習以及結合了兩者的基于深度強化學習的方法[13~17],在這一領域有眾多學者進行了研究。這類調度算法是在近幾年興起的,算法的自適應能力強,調度效率高,能夠滿足無服務器函數放置的需求。Anupama同時從無服務器提供商和用戶兩個角度出發,提出了一種無服務器函數放置策略(deadline based function placement,DBP) ,其目標是最大限度地降低服務器提供商的資源消耗成本并同時滿足用戶的應用需求,用是否在截止時間內完成函數放置來表示是否完成用戶需求,但單單通過截止時間而不考慮用戶對于應用成本的預期并不能很好地滿足用戶的需求[18]。Bermbach等人[19]提出了一種基于拍賣理論的函數放置策略,考慮了用戶請求的執行成本和到達率,以最大化用戶在邊緣云和云數據中心上執行無服務器函數放置的收益,但僅考慮了如何降低用戶的使用成本,忽視了用戶應用程序的時延。類似地,Cheng等人[20]提出了以數據為中心的編程模型,用于根據數據上下文、系統上下文和使用上下文放置無服務器函數。同時其考慮了延遲和靈活性因素,研究的主要方向是減少延遲和面向數據的需求,但忽視了對用戶執行成本的優化。Xu等人[21]提出了基于MDP的函數放置算法,考慮了影響函數放置的多種因素,如放置開銷、不同函數種類對于放置的影響等,但其提出的函數放置算法在較為復雜的現實情況下適應性較差。

上述研究給了本文很大啟發,但這些研究仍然存在不足之處。上述算法中的大多數都僅僅從單方面考慮了時延或者能量消耗的優化,將兩者結合的比較少見。由于實際情況的復雜性、多樣性和不確定性,深度強化學習很難應用于實際場景。在學習過程中DRL智能體可以通過一定的行為策略選擇隨機的動作,這對于智能體探索動作狀態空間來說是必不可少的,然而在復雜系統與實際情況中,這些隨機動作有可能會對系統造成相當嚴重的破壞。這些禁止的危險行為使智能體不可能積累后續狀態或學習如何避免潛在的嚴重威脅。在無服務器系統模型中對動作空間的探索也是如此,如若在智能體進行探索時選擇一些不被接受的動作可能會對系統造成不可逆的損害或導致放置的時延或開銷急劇增加。在復雜的現實環境中,人類專家在學習效率和決策表現方面具有顯著優勢,最近的研究[22]表明,結合用戶意圖是增強DRL模型對復雜任務適應性的潛在解決方案。為了解決上述問題并更好地利用用戶意圖,本文將深度強化學習算法DQN應用到函數放置領域,提出了基于DQN的無服務器函數放置算法。本文考慮了時延、開銷以及用戶的意圖對于函數放置的影響,使得應用無服務器服務的用戶可以在一定程度上影響函數放置的具體方位,從而達到令用戶更加滿意的函數放置效果。

2 研究方法

2013年谷歌的DeepMind團隊將深度學習與Qlearning算法相結合[23],首次提出了DQN算法,該文借助深度學習來處理高維的視覺輸入,使得DQN算法可以玩Atari游戲。2015年的改進版本中DeepMind團隊提出了DQN的第一個改進版本[24],提出了經驗回放機制和雙網絡兩個重要技術。

a)經驗回放機制(experience replay)。在強化學習中所得到的數據都是具有關聯性的,其并不符合深度學習中關于數據獨立性的要求,因此DQN算法在這里建立一個經驗回放機制,當訓練神經網絡時,從經驗池里隨機抽取一個batch的經驗用于當前的訓練,通過隨機抽取的操作打亂了原始數據的順序,將數據的關聯性減弱。經過訓練網絡獲得的數據又將通過轉換存入經驗池中用于下一次訓練中獲得新的經驗。

b)建立兩個結構一樣的神經網絡。一直在更新神經網絡參數的網絡和用于更新Q值的網絡TargetNet。由于DQN算法在進行學習時會存在Q值不斷發生變化的情況,所以如果使用一組不斷移動的值(values)來更新Qnetwork,則價值估計可能會失去控制,最終導致算法的不穩定。為了解決這個問題,目標Q網絡TargetNet被用來緩慢地更新主Q網絡的值。這樣,目標和估計Q值之間的相關性顯著降低,從而穩定了算法。

傳統Qlearning算法因為Q表的維度限制,從而無法適用于狀態空間或者動作空間較大的任務,DQN利用神經網絡代替Q值函數,在一定程度上解決了空間爆炸的問題。該算法首先用了一個帶參數的神經網絡來擬合Q表中的Q值。在DQN中通過深度學習計算預測數據與標簽數據的損失,并通過反向傳播計算梯度,通過隨機梯度下降等算法更新神經網絡的參數。從而使神經網絡逼近最優動作值函數,實現對強化學習最優策略的學習。Qlearning 算法是一個基于價值的強化學習算法,其迭代計算的是動作值函數(Q函數)對于一個確定策略π動作值函數定義為

Qπ(s,a)=Eπ[G(t)|S=s,A=a](1)

最優策略π*定義為

π(a|s)=argmaxa∈AQ(s,a)(2)

因此找到一個最優的策略π*就等價于找到了最優的動作價值函數Qπ(s,a)。由貝爾曼方程可知最優動作價值函數可寫為

Qπ(s,a)=Eπ[Rt+1+γ×maxa′Q(s′,a′)|S=s,A=a](3)

其中:0<γ<1是折扣率。最優動作價值函數通過TD方法進行迭代更新:

Q(s,a)←Q(s,a)+α[R(s,a)+γ(maxa′Q(s′,a′)-Q(s,a))](4)

由式(4)可以看出,其迭代目標是最優動作價值函數,且與策略π無直接關聯。由于Qlearning算法在迭代的過程中要維護一個Q表,導致其在狀態空間較大的情況下,容易產生維數災難問題。DQN算法通過一個帶有參數的神經網絡來擬合Q函數即Q(s,a,θ)≈Q(s,a),θ是神經網絡的權重,神經網絡的輸入是狀態s,而輸出是相應動作的Q值。另一個網絡被稱為targetnetwork(目標網絡),在DQN算法中使用此網絡來計算Q函數更新的目標。目標網絡的參數θ′間隔一定的輪次與θ同步。這樣可以保證更新目標不會因為參數更新而頻繁改變,進而導致訓練過程的不穩定。DQN的損失函數可以定義為

L(θ)=[R(s,a)+γ×maxa′Q(s′,a′,θ′)-Q(s,a,θ)]2(5)

DQN算法將神經網絡和強化學習結合起來,開創了深度強化學習的先河,引領了強化學習的發展方向,為強化學習的發展作出了重要貢獻。

3 系統模型

本文考慮了一個多用戶、多任務的無服務器函數放置系統模型,如圖1所示。在該系統模型中不同的用戶向無服務器系統發送不同的請求,這些請求用于構建無服務器應用。這些無服務器應用通常可以分解為一系列的函數,這些函數都是一些具有獨立功能的代碼塊。無服務器系統根據請求的不同以及函數的不同特點與需求,將函數放置到不同的計算節點上運行,以保證任意一個函數都放置到最佳位置,即綜合考慮函數放置的時延、放置開銷等因素之后的代價最小。

由于網絡邊緣數據量的激增,處理位于網絡邊緣的數據密集型應用程序的需求正在挑戰流行的以云為中心的計算模式,將所有的計算任務分流到云數據中心可能不切實際或不可行,因為數據將不得不離開邊緣網絡,從而導致隱私問題,或招致高延遲和帶寬使用。為了應對這一變化本文提出了一個具有多種異構計算節點的分層無服務器系統模型。

在無服務器系統模型中存在多種異構的計算節點。終端設備作為網絡中靠近用戶的計算節點,是系統中數量最多且分布最為廣泛的節點。隨著硬件技術的不斷提高,這些終端設備也具有了可觀的計算能力,且一些具備特殊硬件加速器的終端設備在處理某些特定應用時具有較大優勢。充分利用這些本地資源不僅在一定程度上保障了數據的隱私,并且可以在一些特定的環境下大幅減少用戶的開銷與時延,減少數據傳輸的壓力從而改善用戶的使用體驗,但仍要看到的是其相較于云端仍在計算存儲能力等方面具有較大差距,并不能滿足所有任務的需求。云數據中心作為基于超級計算機構建的計算系統,其功能是對外提供計算資源和存儲資源等服務并以高性能計算機為基礎,面向各個用戶提供高性能計算服務。邊緣設備位于該系統的中間層,其地理位置相較于云數據中心更貼近終端用戶。因此相較于云數據中心其具有相對較低的傳輸時延和開銷。

根據系統中異構計算節點的不同特性,可以將其描述為

(Arch,Accelerator,CPU,MEM,Network)(6)

計算節點的CPU架構使用Arch表示。在無服務系統中存在許多異構的計算節點,這些節點具有不同的CPU架構如X86、 ARM32 等,對于相同的無服務器函數在不同架構的計算節點上運行需要不同的鏡像版本,并且由于架構的不同其所需的計算存儲資源以及運行的時間可能不同。Accelerator表示計算節點存在何種硬件加速器,無服務器系統中的異構設備都有各自獨特的功能,因此這些設備往往存在各類不同的硬件加速設備,這些加速器對于特定的無服務器函數的執行是必不可少的或具有顯著的加速作用。CPU與MEM分別表示該計算節點的CPU核心數量以及運行內存大小,這兩個參數衡量了計算節點的計算能力。Network表示該計算節點接入網絡的方式,不同的接入方式對于數據的傳輸速率與穩定性相當重要。

在無服務器系統模型中參考了OpenFaas工作流程。無服務器函數運行在系統的函數容器中,開發人員需要為這些容器構建鏡像,構建好的無服務器函數鏡像上傳到無服務器函數池中,用戶則通過FunctionRequest來調用這些無服務器函數。用戶上傳自己的無服務器函數到無服務器函數池,無服務器函數池負責擴展和部署POD,這些將會提交給無服務器系統中的強化學習智能體模塊,這個模塊負責選擇集群中合適的節點進行函數放置。

強化學習模塊在無服務器系統中扮演著調度器的角色,其任務是將一個個POD(無服務器系統中部署的原子單元分配給集群節點,POD可以是由一個或者多個容器組成的,它們共享存儲卷的網絡配置和元數據組成)調度到無服務器系統中進行函數放置操作。類似于K8S的調度器,本文使用SFdelay來? 表示執行用戶提交代碼的持續時間。每個無服務器函數的調用都以用戶發送的服務請求開始,下一個時間戳指示服務器的接收和隨后的轉發,然后調用執行該函數并將結果返回給用戶,用戶收到執行結果后本輪調用結束。除了測量SFdelay還對CPU內存網絡I/O進行檢測,跟蹤了CPU的使用時間、內存使用率和GPU負載等,這些信息將作為強化學習智能體衡量放置動作好壞的重要依據。

4 基于深度Q學習的無服務器函數放置算法

本文將無服務器函數放置性能優化問題描述為MDP。MDP模型的環境包括幾個關鍵要素即狀態空間、動作空間以及獎勵函數。其中狀態空間代表了智能體所能感知到的環境信息,以及自身作出的動作給環境帶來的變化,狀態空間是智能體制定決策和評估長期收益的依據。對于本文研究的無服務器函數放置性能優化問題,采用無服務器函數狀態信息以及無服務器系統中計算節點的信息來作為MDP環境中狀態信息的描述。強化學習智能體與無服務器系統交互如圖2所示。

4.1 狀態空間

無服務器函數狀態信息:

SF={FI,cI,mI,aI}(7)

FI={DdI,RuI}(8)

其中:FI代表此無服務器函數的函數鏡像FI∈F(全體鏡像集合),這些鏡像來自于開發人員的上傳,儲存在無服務器系統的函數池中當無服務器系統接收到對應服務請求時將其發送到對應的計算節點;DdI表示計算節點在拉取該無服務器函數鏡像時需從函數池中下載的數據量;RuI表示計算節點在完成該無服務器函數的計算時需提交的日志信息、計算結果等數據量;cI代表著運行該無服務器函數所需的CPU資源數;mI代表運行該無服務器函數所需的運行內存資源數,將服務器函數放置到計算節點將消耗該節點一定的CPU資源與運行內存,當該計算節點剩余資源不能滿足無服務器函數的請求時,將會導致無服務器函數無法立即運行,從而使其變為掛起狀態,在計算節點處等待運行從而產生額外的等待時間;aI代表運行該無服務器函數時對其具有加速效果的加速設備信息,這些加速設備專為特定任務設計其可以以相對較低的成本加速該類無服務器函數的運行。

無服務器系統中計算節點的狀態信息:

SN={UJ,DJ,CJ,MJ,FLJ,COSTJ,AJ}(9)

該節點的網絡信息上傳速度與下載速度為UJ、DJ,這兩個參數衡量了該計算節點的網絡狀況,下載速度關系到計算節點拉取無服務器鏡像的速度,當本地并沒有該無服務器函數鏡像時,計算節點需要從系統中拉取無服務器鏡像,上傳速度則與上傳無服務器函數日志信息以及計算結果等相關;在無服務器函數放置系統中其上下行傳輸速率主要指其與云數據中心之間進行數據傳輸的速率:

其中:BJ表示計算節點J的帶寬;PuJ表示計算節點J的數據傳輸功率;HJ表示其在無線信道中的信道增益;H0表示信道中的噪聲功率;gu表示目標誤碼率;Γ(gu)表示滿足上述鏈路誤碼率的信噪比余量;d表示計算節點與數據中心的鏈路長度;ε表示傳輸信道路徑的損耗指數。類似地可以計算:

該節點的可用計算資源信息為CJ、MJ,當智能體在選擇合適的計算節點進行函數放置時需要考慮的就是該計算節點的計算剩余資源是否可以滿足該無服務器函數的資源請求,如若滿足請求則無須進行等待直接運行該無服務器函數,否則無服務器函數進入掛起狀態;某一時刻t,該計算節點可用資源信息可表示為

其中:CPUJ、MEMJ分別代表計算節點J所擁有的CPU與運行內存資源總量;It表示在t時刻該計算節點上運行的無服務器函數的集合。

該節點的函數鏡像列表FLJ,這個參數是指該計算節點已經從系統中下載的函數鏡像信息,當有新的放置請求時應首先判斷是否有鏡像存在該計算節點的函數鏡像列表,如果不存在則需要重新下載。

COSTJ={μJ,κJ,ηJ,νJ}(14)

節點的資源使用單價信息COSTJ,該參數定義了使用該計算節點需要向無服務器服務提供商支付的費用,本文在這里參照AWS的定價規則制定相關使用價格;μJ表示通信鏈路使用單價;κJ表示CPU資源使用單價;ηJ表示運行內存使用單價;νJ表示加速器使用單價;AJ表示節點上的可用加速設備信息,在每個計算節點上存在一個或多個加速設備,這些加速設備或是GPU、TPU或是其他設備,這些加速設備對于特定無服務器函數的處理具有加速作用。

4.2 動作空間

在強化學習中,動作空間定義了智能體可選擇動作的集合。在智能體進行函數放置決策時,需要考慮將無服務器函數放置到某個計算節點以獲得獎賞,在該模型中可以將動作空間定義為各類可用計算節點的集合。

Action∈[n1,n2,…,ni](15)

4.3 獎勵函數

獎勵函數是強化學習中極其重要的一環,通過將任務目標具體化與數值化,實現了目標與算法之間的溝通,決定了智能體最終是否能夠學到期望的技能,達到事先預想的放置效果。在無服務器函數放置模型中,獎勵函數決定了對某個放置動作的具體評價,智能體根據這些評價最終確定放置動作的優劣。

時延模型為

SFD=TD+CD+WD(16)

其中:

其中:CD表示無服務函數放置到計算節點上運行產生的時間開銷;TD如若智能體選擇的放置節點上原本不存在該無服務器函數的鏡像,那么需要其從函數池中下載該鏡像,此時會產生一定的傳輸時延,相當一部分無服務器函數在完成函數的運行之后需要向用戶返回其計算結果,這些計算的結果反饋給用戶也會產生一部分的時延開銷;WD在智能體選擇計算節點進行放置時,該時隙內選擇的計算節點可能會存在資源已被占用的問題,需要等待,可用資源數量滿足該無服務器函數的需求才能進行正常的函數放置,故此時無服務函數處于掛起狀態,產生了一部分的等待時延。

開銷模型為

其中:UDC表示無服務器函數鏡像下載開銷結果及運行日志上傳開銷等;AC表示當該計算節點恰好擁有無服務器函數所需的硬件加速設備時,在進行函數放置后需要計算使用硬件加速器設備的開銷;CC與MC分別表示無服務函數放置在計算節點上時占用的CPU資源與運行內存資源的開銷。

用戶意圖是用戶在選擇無服務器函數放置節點時根據自身認知、心理感受等因素對無服務器函數放置效果的具有個人傾向性的預估。本文基于不同用戶的使用經驗建模用戶意圖并對用戶意圖進行學習,以強化無服務器函數放置模型。基于用戶意圖的獎勵函數設置為

其中:ΔC、ΔD分別表示基于用戶使用經驗設置的開銷、時延閾值,超過此閾值則認為在該次無服務器函數放置任務中用戶沒有獲得符合其預期的良好使用體驗。當該次放置任務中無服務器函數放置的時延消耗大于時延閾值時,由于該次任務產生超出用戶預期的時間消耗,所以給予該次放置動作PenatlyD的懲罰;當該次放置任務中無服務器函數放置的開銷大于開銷閾值時,該次任務產生超出用戶預期的開銷,所以對于該次放置動作給予PenatlyC的懲罰。此外,不同用戶對于無服務器函數放置時延及開銷的重視程度也不盡相同,所以對于這兩項指標公式中采用權重系數α與1-α表示開銷、時延的重要性權重。

4.4 基于DQN的無服務器函數放置算法

4.1、4.2、4.3節分別介紹了無服務器函數放置模型中的狀態空間、動作空間、獎勵函數的設置。在基于DQN的無服務器函數放置算法中,智能體通過觀測所處環境得到狀態信息,并根據這些狀態信息和智能體的策略選擇動作空間中的相應動作,最后從環境中得到一定的獎勵。基于DQN的無服務器函數放置算法通過最大化智能體從環境中得到的獎勵,來選擇最優的函數放置行為。

算法1 基于DQN的函數放置算法

輸入:

user intent factor α, time delay threshold ΔD,cost threshold ΔC,serverless functions set F。

初始化:

serverless function f upload to serverless functions pool

initialize the experience replay D with capacity N

initialize policy network Q with parameter δ

initialize target network Q′ with parameter δ′=δ

for 1→M do

observe serverless state, initialize state information S1={x1},φ1=φ(s1)

for t=1,1-T do

randomly select with a ε chance to functions place actions;

otherwise, choose the action with the greatest value according to at=max aQ(s,a,δ)

to perform an action at, calculate the placement reward according to Rt=α×(ΔCOST-SFCOST)+(1-α)×(Δdelay-SFdelay)and update state xt+1;

updated the serverless system state st+1=st, set up the at,xt+1,pretreatment φt+1=φ(st+1);

store transition(φt,at,Rt,φt+1) into experience replay D;

take a random transition (φj,aj,Rj,φj+1)from D;

在基于DQN的無服務器函數放置算法中,完成對神經網絡和經驗回放池的初始化工作之后開始進行深度強化學習的迭代過程。該算法中使用ε貪心算法:以ε的概率選擇隨機動作,以1-ε的概率根據公式at=maxaQ(φ(st),a;δ)選擇Q值最大的動作。對ε使用退火算法,使其逐漸從0.99減小至0.01,使得該算法在一開始可以盡可能多地進行探索,獲取更多的經驗以存儲到經驗回放池中;而后慢慢地減少選擇動作的隨機性,使算法獲得更好的收斂效果。在經驗回放池中存儲的是智能體與環境交互產生的經驗,并在使用時對其進行隨機抽樣,減少了數據之間的關聯性,使數據之間處于近似獨立同分布的狀態以滿足神經網絡的要求。使用從經驗回放池中采樣而得到的數據首先計算目標值yj,結合策略網絡輸出的Q(φj,aj,δ)根據公式(yj-Q(φj,aj,δ))2對策略網絡進行梯度下降并更新策略網絡參數δ。為了使目標值yj保持相對穩定有利于算法收斂,算法間隔C步同步策略網絡參數和目標網絡參數。最后算法輸出可用于完成無服務器函數放置任務的神經網絡Q。

5 仿真實驗

5.1 實驗配置

本文基于FaaSSim[25]開發了無服務器函數放置仿真系統,該系統使用了Ether[26]來生成網絡拓撲。Ether 是一種綜合了不同條件下邊緣計算系統基礎設施配置的框架,其中包含了許多對應不同邊緣系統特征的邊緣設備;Ether可應用于配置不同的邊緣網絡架構以幫助研究人員對于不同場景下的邊緣系統進行評估。本文使用Ether模擬了云邊端的分層無服務器系統,在該系統中存在大量異構的網絡節點,其配置如表1所示。

實驗中采用的預制場景為城市感知場景,城市感知是一種智慧城市的概念,為市民和政府部門提供環境和背景城市數據。在該場景下每個節點是一個具有兩個SBC(single board computers)的物聯網計算小區,并連接到附近的移動基站(移動基站由具有Intel NUC作為存儲節點的移動基站的計算箱組成)。此外每個節點配置了兩個嵌入式GPU設備用于處理視頻任務,這些單元通過移動網絡連接到Internet,并且該場景還提供了光纖連接的Cloudlet。本文采用Ether工具構建的城市感知場景來評估基于不同的無服務器函數放置策略。

本文使用了多種無服務器函數負載,這些無服務器函數可以應用于不同的任務需求,其在一定程度上可以代表不同種類的無服務器函數對于系統資源的請求,本文使用的無服務函數負載如表2所示。

5.2 實驗結果

基于DQN的無服務器函數放置算法智能體訓練結果如圖3所示。可以看到,在基于DQN的無服務器函數放置算法剛開始運行時,由于智能體作出大量隨機的探索動作,導致其函數放置的效果較差,獲得獎勵數值較小。隨著訓練輪數的增加,該智能體較好地學習了如何進行函數放置以得到最好的獎勵,在訓練輪次達到700輪左右時智能體已經學習到了所需的函數放置策略。

圖4、5分別是該算法訓練中時延及開銷變化圖,前700輪的訓練中智能體作出隨機動作以探索狀態—動作空間,700輪之后智能體學習到相應策略,此時時延與開銷開始穩定。從圖中可以看出,時延與開銷相較于訓練初始時分別下降了約45%與40%。

圖6是不同算法下函數放置時延與開銷的結果對比。圖中四種函數放置算法分別為skippyopt算法[24]、遺傳算法(GA)[12]、基于DQN的無服務器函數放置算法、隨機函數放置算法。從實驗效果可知,相較于僅單方面考慮時延需求的skippyopt算法,本文算法可在增加相對較少延遲的情況下,在減少開銷方面獲得巨大提升;并且可以看到,無論在時延還是開銷方面都優于算法隨機函數放置算法;遺傳算法雖然可以在放置開銷與時延取得相對優越的放置效果,但由于其受計算復雜度影響,當無服務器系統較復雜情況下求解時間將急劇增加。表3為不同無服務器系統計算復雜度下兩種算法的求解時間對比(F為無服務器系統中計算節點個數,K為無服務器系統中待放置服務數量)。

圖7為不同用戶意圖下時延與開銷訓練效果圖。在該實驗中,設置不同的獎勵函數參數以模擬用戶意圖對于函數放置的影響。從圖中可以看出,用戶1希望獲得價格相對較低的無服務器服務,但對于單價較低的硬件設備來說,其計算效率往往也較低,并且可能也不存在相應的硬件加速設備,因此其完成同一計算任務會花費更多的時間;相比較而言,用戶2則更在乎使用體驗,希望獲得延遲更低的服務,則該算法為其選擇計算能力更強,且具有相應硬件加速設備的計算節點,但正因為如此,他也需要為此付出更多費用。參數設置如表4所示。實驗結果顯示該算法能較好地完成基于用戶意圖的函數放置決策。

6 結束語

隨著無服務計算和邊緣計算的快速發展,如何將無服務器應用部署到邊緣計算系統正在成為一個新的熱點領域。需要首先解決的問題是,如何將無服務器函數最優地放置到邊緣計算的各個計算節點上去,使得無服務器函數放置所需的函數放置時延與放置開銷符合用戶意圖。本文提出了基于DQN 的無服務器函數放置算法,在一定程度上解決了無服務器應用在邊緣計算系統中函數放置問題。基于DQN的無服務器函數放置算法考慮到了用戶意圖對于函數放置位置的影響,在算法中將對于用戶意圖的完成程度作為強化學習獎勵的一部分,完成了對于用戶意圖的學習,從而達到了令用戶滿意的函數放置效果;本文將深度強化學習算法DQN 應用到無服務器函數放置領域,一定程度上避免了傳統強化學習方法產生的維數災難問題。實驗表明該算法相較于隨機函數放置算法和輪詢函數放置算法,在函數放置效果方面具有優勢。

本文對于無服務器應用在邊緣計算系統中的部署問題考慮仍存在不足。首先,在無服務器應用中不同的函數應具有不同的執行關系,它們之間的關系可以用DAG圖表示[27],在本文并未對其進行考慮;其次,在進行函數放置時由于計算節點資源不足或由于數據傳輸時延等問題,導致函數不能正常運行的情況尚未進行考慮;最后,本文并沒有對所提出的無服務器函數放置模型系統驗證其優越性,仍需大量實驗來評估所提系統,并對其進行改進和創新。

參考文獻:

[1]Senyo P K, Addae E, Boateng R. Cloud computing research: a review of research themes, frameworks, methods and future research directions[J].International Journal of Information Management,2018,38(1):128-139.

[2]Varghese B, Buyya R. Next generation cloud computing:new trends and research directions[J].Future Generations Computer Systems,2018,79:849-861.

[3]王哲.邊緣計算發展現狀與趨勢展望[J].自動化博覽,2021,38(2):22-29.(Wang Zhe. Development status and trend prospect of edge computing[J].Automation Expo,2021,38(2):22-29.)

[4]Glikson A, Nastic S, Dustdar S. Deviceless edge computing:extending serverless computing to the edge of the network[C]//Proc of the 10th ACM International Systems and Storage Conference.New York:ACM Press,2017:article No.28.

[5]Jeon H, Cho C, Shin S, et al. A CloudSimextension for simulating distributed functionsasaservice[C]//Proc of the 20th International Conference on Parallel and Distributed Computing,Applications and Technologies.Piscataway,NJ:IEEE Press,2019:386-391.

[6]Wang Liang, Li Mengyuan, Zhang Yinqian, et al. Peeking behind the curtains of serverless platforms[C]//Proc of USENIX Annual Technical Conference.[S.l.]:USENIX Association,2018:133-145.

[7]Stein M. Adaptive event dispatching in serverless computing infrastructures[EB/OL].(2019-01-10).https://arxiv.org/abs/1901.03086.

[8]Shi Xuelin, Zhao Ying. Stochastic model and evolutionary optimization algorithm for grid scheduling[C]//Proc of the 7th International Conference on Fuzzy Systems & Knowledge Discovery.Piscataway,NJ:IEEE Press,2010:424-428.

[9]Xu Zongyu, Wang Xingxuan. A predictive modified round robin scheduling algorithm for web server clusters[C]//Proc of the 34th Chinese Control Conference.Piscataway,NJ:IEEE Press,2015:5804-5808.

[10]Rahbari D, Kabirzadeh S, Nickray M. A security aware scheduling in fog computing by hyper heuristic algorithm[C]//Proc of the 3rd Iranian Conference on Intelligent Systems & Signal Processing.Piscataway,NJ:IEEE Press,2017:87-92.

[11]Wang Tingting , Liu Zhaobin, Chen Yi, et al. Load balancing task scheduling based on genetic algorithm in cloud computing[C]//Proc of the 12th IEEE International Conference on Dependable,Autonomic and Secure Computing.Piscataway,NJ:IEEE Press,2014:146-152.

[12]Du Chen, Chen Yifan, Li Zhiyong, et al. Joint optimization of offloading and communication resources in mobile edge computing[C]//Proc of IEEE Symposium Series on Computational Intelligence.Piscataway,NJ:IEEE Press,2019:2729-2734.

[13]Wei Ziling, Zhao Baokang, Su Jinshu, et al. Dynamic edge computation offloading for Internet of Things with energy harvesting: a learning method[J].IEEE Internet of Things Journal, 2018, 6(3): 4436-4447.

[14]Yang Tianyu, Hu Yulin, Gursoy M C, et al. Deep reinforcement learning based resource allocation in low latency edge computing networks[C]//Proc of the 15th International Symposium on Wireless Communication Systems.Piscataway,NJ:IEEE Press,2018:1-5.

[15]Liu Yi, Yu Huimin, Xie Shengli, et al. Deep reinforcement learning for offloading and resource allocation in vehicle edge computing and networks[J].IEEE Trans on Vehicular Technology,2019,68(11):11158-11168.

[16]鄺祝芳,陳清林,李林峰,等.基于深度強化學習的多用戶邊緣計算任務卸載調度與資源分配算法[J].計算機學報,2022,45(4):812-824.(Kuang Zhufang, Chen Qinglin, Li Linfeng, et al. Multiuser edge computing task unloading scheduling and resource allocation algorithm based on deep reinforcement learning[J].Chinese Journal of Computers,2022,45(4):812-824.)

[17]尚玉葉,袁家斌.深空環境中基于云邊端協同的任務卸載方法[J].計算機科學,2023,50(2):80-88.(Shang Yuye, Yuan Jiabin. Task unloading method based on cloud edge collaboration in deep space environment[J].Computer Science,2023,50(2):80-88.)

[18]Mampage A, Karunasekera S, Buyya R. Deadlineaware dynamic resource management in serverless computing environments[C]//Proc of the 21st IEEE/ACM International Symposium on Cluster, Cloud and Internet Computing.Piscataway,NJ:IEEE Press,2021:483-492.

[19]Bermbach D, Maghsudi S, Hasenburg J, et al. Towards auctionbased function placement in serverless fog platforms[C]//Proc of IEEE International Conference on Fog Computing.Piscataway,NJ:IEEE Press,2020:25-31.

[20]Cheng Bin, Fürst J, Solmaz G, et al. Fog function: serverless fog computing for data intensive IoT services[C]//Proc of International Conference on Services Computing.Piscataway,NJ:IEEE Press,2019:28-35.

[21]Xu Donghong, Sun Zhongbin. An adaptive function placement in serverless computing[J].Cluster Computing,2022,25(5):3161-3174.

[22]Byk E, Losey D P, Palan M, et al. Learning reward functions from diverse sources of human feedback:optimally integrating demonstrations and preferences[EB/OL].(2021-08-04).https://arxiv.org/abs/2006.14091.

[23]Mnih V, Kavukcuoglu K, Silver D, et al. Playing Atari with deep reinforcement learning[EB/OL].(2013-12-19).https://arxiv.org/abs/1312.5602.

[24]Mnih V, Kavukcuoglu K, Silver D, et al. Humanlevel control through deep reinforcement learning[J].Nature,2015,518(7540):529-533.

[25]Rausch T, Rashed A, Dustdar S. Optimized container scheduling for dataintensive serverless edge computing[J].Future Generation Computer Systems,2021,114:259-271.

[26]Rausch T, Lachner C, Frangoudis P A, et al. Synthesizing plausible infrastructure configurations for evaluating edge computing systems[C]//Proc of the 3rd USENIX Workshop on Hot Topics in Edge Computing.2020.

[27]Lin Changyuan, Khazaei H. Modeling and optimization of performance and cost of serverless applications[J].IEEE Trans on Parallel and Distributed Systems,2020,32(3):615-632.

猜你喜歡
云計算
云計算虛擬化技術在電信領域的應用研究
基于云計算的醫院信息系統數據安全技術的應用探討
談云計算與信息資源共享管理
志愿服務與“互聯網+”結合模式探究
云計算與虛擬化
基于云計算的移動學習平臺的設計
基于云計算環境下的ERP教學改革分析
科技視界(2016年22期)2016-10-18 14:33:46
基于MapReduce的故障診斷方法
實驗云:理論教學與實驗教學深度融合的助推器
大學教育(2016年9期)2016-10-09 08:54:03
云計算中的存儲虛擬化技術應用
科技視界(2016年20期)2016-09-29 13:34:06
主站蜘蛛池模板: 国产精品白浆在线播放| 一本无码在线观看| 亚洲精品国产成人7777| 国产剧情一区二区| 国产福利影院在线观看| 亚洲区第一页| 一级毛片基地| 久久综合一个色综合网| 亚洲成aⅴ人在线观看| 天天躁夜夜躁狠狠躁躁88| 在线观看亚洲人成网站| 麻豆精品国产自产在线| 午夜a视频| 欧美精品综合视频一区二区| 亚洲黄网视频| 国产亚洲欧美日韩在线一区| 欧美成人午夜在线全部免费| 美女无遮挡免费视频网站| 日本高清免费不卡视频| 国产精品大尺度尺度视频| 亚洲国产亚洲综合在线尤物| 91视频青青草| 国产在线一二三区| 国产精品人成在线播放| 亚洲精品视频网| 婷婷综合亚洲| 日本精品αv中文字幕| 天天干天天色综合网| 91精品网站| 国产一在线| 中国一级特黄大片在线观看| 日韩在线播放欧美字幕| 人妻丰满熟妇AV无码区| 欧美日本在线一区二区三区| 国产成本人片免费a∨短片| 精品久久香蕉国产线看观看gif| www.国产福利| AV在线天堂进入| 99视频精品在线观看| 久久精品国产在热久久2019| 一本二本三本不卡无码| 午夜爽爽视频| 亚洲第一视频免费在线| 免费人成黄页在线观看国产| 青青网在线国产| 91久久国产热精品免费| 亚洲精品无码成人片在线观看| 亚洲色图欧美在线| 亚洲av日韩av制服丝袜| 精品無碼一區在線觀看 | 青青草原国产免费av观看| 91欧美亚洲国产五月天| 亚洲av色吊丝无码| 国内精品久久久久久久久久影视| 亚洲熟女中文字幕男人总站| 欧美日韩中文国产va另类| 欧美三级视频在线播放| 久久精品66| 成人字幕网视频在线观看| 日本免费一级视频| 在线看AV天堂| 伊人色在线视频| 亚洲天堂啪啪| 日韩天堂视频| 国产精品九九视频| 四虎永久在线精品影院| 69综合网| 成人久久18免费网站| 亚洲午夜久久久精品电影院| 国产青榴视频| 色悠久久综合| 青草国产在线视频| 国内老司机精品视频在线播出| 亚洲另类国产欧美一区二区| 色妞www精品视频一级下载| 亚洲色图欧美视频| 国产成人高清精品免费软件| 久热re国产手机在线观看| 亚洲婷婷丁香| 午夜福利网址| 国产黄网站在线观看| 国产精品久线在线观看|