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

區塊鏈賦能的算力網絡協同資源調度方法

2023-04-19 18:32:48衷璐潔
計算機研究與發展 2023年4期
關鍵詞:優化資源

衷璐潔 王 目

1 (首都師范大學信息工程學院 北京 100048)2 (網絡與交換技術國家重點實驗室(北京郵電大學)北京 100876)

(zhonglj@cnu.edu.cn)

隨著人工智能[1]、元宇宙、大規模超高清直播[2]等計算密集型應用的蓬勃發展,如何滿足快速增長的算力需求已經成為當前互聯網所面臨的一大挑戰.近年來,算力網絡作為一種以“算”為中心、以“網”為骨干的全新網絡化計算框架,為滿足快速增長的計算資源需求提供了全新的解決思路. 算力網絡通過整合網絡中包括云數據中心、邊緣計算服務器、終端設備等計算單元的資源,來支持彈性、泛在的計算資源獲取,從而實現大規模、高密度的計算資源調度. 作為一種算力為核心的網絡架構,如何實現高效的資源調度是保障算力網絡性能的關鍵,同時也是最大的挑戰.

首先,計算單元在地理上是分散的,且不同計算單元在設備能力、網絡條件上都會存在差異. 算力網絡中的計算任務也是隨機到達的,如何在高度異構的場景下實現任務的動態卸載是算力網絡面臨的首要問題. 一些研究工作[3-5]試圖將異構場景下的資源調度問題表述為非凸優化問題,并證明了其NP-難.解決這類問題需要啟發式算法,但由于算力網絡中的端節點行為具有隨機性,啟發式算法在理論上難以保證性能. 強化學習(reinforcement learning, RL)[6-7]做為一種面向動態系統最優控制的解決方案也被部分工作采用. 基于強化學習方法通過將資源調度問題制定為馬爾可夫決策過程(Markov decision process,MDP)來適應系統變化. 通過觀察決策和環境之間的相互作用,RL 代理迭代優化策略以獲得最優的長期效用. 由于系統狀態變化是不可預測的,確保輸出決策的最優性需要RL 方法在訓練模型時探索系統狀態變化,給資源調度算法帶來了不可避免的時延問題.

此外,算力網絡中潛在的計算資源提供者可能來自不同的運營商甚至是個體用戶,給資源供給的可信和安全帶來了隱患,傳統依賴于第三方可信平臺方法始終存在著開銷和可擴展性問題. 近年來,區塊鏈技術被認為是解決這個問題的一個有效方案.區塊鏈中關于資源的使用或提供都將由區塊鏈的所有參與者進行驗證,在實現去中心化資源管理的同時也保證了數據難以被篡改. 文獻[8]等嘗試利用區塊鏈來支持面向資源調度卸載的激勵機制. 一些工作,如文獻[9]應用區塊鏈來解決分布式學習系統中的數據安全問題. 文獻[10?11]等研究使用區塊鏈構建聯邦學習框架. 然而,如何將區塊鏈與算力網絡結合從而支持可信、高效的資源調度仍然是一項十分具有挑戰的工作. 其主要問題是在算力網絡中操作區塊鏈的成本很高. 每個區塊鏈節點都需要生成區塊,并通過共識算法達成協議. 如工作量證明(proof of work, PoW)共識機制就是計算密集型的. 例如,比特幣所采用的PoW 每年耗電量為204TW·h,幾乎相當于整個泰國的耗電量. 然而PoW 每秒的處理事務數只有4.6 個,這對于計算任務頻繁發布的算力網絡來說是不可接受的. 因此,需要考慮更高吞吐量和節能特性的委托權益證明(DPoS)[12]或實用的拜占庭容錯(PBFT)[13]等共識機制. 然而,這些共識算法不可避免地會給算力網絡資源分配帶來額外的延遲和成本.這些問題要求設計基于區塊鏈的算力網絡,可以在維護區塊鏈時重用資源消耗,并允許對資源分配做出快速決策.

可以看出,現有解決方案雖然針對算力網絡分布式、異構化的資源特性,提出了諸多方法來試圖解決任務調度問題,然而這些方法仍然以集中式的調度為主,部分基于區塊鏈的解決方案雖然考慮到的算力網絡分布式的特性,區塊鏈所帶來的額外開銷這一問題仍沒有得到有效解決,導致了相關的卸載方法性能難以滿足需求. 因此,本文提出了一種區塊鏈賦能的資源調度(blockchain empowered resource allocation,BCERA)算法. BCERA 與現有解決方案的最顯著區別在于,它將資源調度納入區塊鏈的共識機制中,從而提高資源利用率,利用區塊鏈參與者的人群智能來解決復雜的資源調度問題. 具體來說,區塊鏈參與者通過解決卸載問題達成協議,而不僅僅是應用傳統的共識機制. 結果最好的參與者將被選出輸出區塊,包括資源交易信息. 為此,我們將BCERA中的資源調度問題表述為馬爾可夫決策過程. 每個區塊鏈參與者都應用了RL 方法來解決這個問題. 區塊鏈參與者通過比較各自輸出策略的最優性,進一步爭奪區塊輸出權. 此外,本文還提出了一種保證計算單元誠實性的激勵機制. 本文的主要貢獻包括2 個方面:

1)提出了BCERA,其中區塊鏈在維護資源調度信息和執行資源調度方面起著核心作用. BCERA 的區塊鏈節點通過解決算力網絡資源調度問題達成共識. 每個區塊鏈節點輸出資源調度結果,并在給定約束內選擇效用最大化的資源調度效用的策略節點來負責出塊. 這樣的設計提高了區塊鏈參與者的資源利用率,減少了時間開銷. 此外,BCERA 可以從不同區塊鏈參與者之間的競爭來選擇最優策略以提高資源調度性能.

2)本文將算力網絡資源調度問題表述為MDP.由于瓶頸鏈路上的帶寬競爭會顯著影響卸載性能,所提出的問題不僅像大多數現有解決方案那樣關注任務處理的延遲或能量消耗,而且還考慮了網絡條件的動態性. 為了解決這個問題,允許每個區塊鏈參與者使用RL 方法. 為了進一步確保在處理卸載任務時的可信賴性,本文提出了一種集成智能合約功能的激勵機制.

通過基于原型系統的實驗驗證,首先比較了BCERA 與幾種廣泛使用的解決方案DPoS 和PBFT的區塊鏈吞吐量和延遲,說明了BCERA 的可行性;還比較了幾種基于RL 方法在損失收斂、總獎勵、總體延遲和資源使用方面的資源調度性.

1 相關工作

1.1 算力網絡場景下的計算資源調度

目前,融合云—邊—端計算資源是實現算力網絡的重要途徑. 因此,高效地利用云—邊—端資源來支持計算資源調度已經成為研究重點. Huang 等人[3]將計算資源調度問題構建為一個多任務分解的優化問題并提出了一種在線算法來實時的調度計算資源.文獻[4]將計算資源調度問題建模為一個混合整形問題并分解為數個子問題. 第1 個子問題目標為最小化給定D2D 通信對的計算資源使用,而第2 個子問題目標為最大化可以支持的設備數量. Wen 等人[5]旨在提升邊緣計算卸載任務的能效利用. Xing 等人[14]通過利用D2D 鏈接來卸載任務到臨近的移動節點從而最小化計算時延,同時優化了本地用戶的計算資源調度. 考慮這些方法主要將問題建模為整型規劃而大多數整型規劃問題是NP 難的,因此這些方法只能通過將問題放縮為一個凸優化問題來得到一個次優解.

此外,文獻[9?11,14]方法都假設計算資源調度為確定性優化問題,而忽視了系統在運行過程中的隨機變化. 實際情況與建模的差距進一步損害了資源調度的性能. 因此近年來不少學者開始運用RL 的方法[15]. 不同于上述確定性優化,RL 方法通過求解MDP 來逼近隨機系統的長期最優解. Yi 等人[16]針對計算資源需求量巨大問題,運用深度強化來生成資源調度算法. 通過最大化累計獎勵函數來離線訓練一個深度Q 網絡. 根據訓練好的深度Q 網絡所產生的策略來進行在線的任務調度決策. Chen 等人[17]考慮超密蜂窩場景的計算資源調度. 將資源調度問題構建成一個MDP 并采用了一種基于雙深度Q 網絡的強化學習方法來學習最優卸載策略. Zhang 等人[18]考慮了一個具有多數據中心的多接入的變換計算場景. 該場景中由于數據中心歸屬于不同的運營商,并且數據中心之間存在競爭,因此提出了一種基于RL的分布式任務調度方法. Liu 等人[19]利用RL 來最小化邊緣計算場景下的平均任務完成時間,并提出了一種基于反事實RL 的分布式任務調度算法.

1.2 基于區塊鏈的資源調度方法

近年來,不少學者開始研究如何將區塊鏈融入到計算系統如云數據中心、邊緣計算等. 區塊鏈去中心化和防篡改的特點使得其對于分布式系統而言是一種十分有前景的解決方案. 不少研究工作都從不同角度展示了區塊鏈對于分布式計算系統的價值[20].例如,部分研究希望通過區塊鏈來提升系統的可靠和安全性. 文獻[21]提出了一種基于區塊鏈的聯邦學習應用交易平臺FLEX. 該平臺允許用戶購買或者出售計算資源來訓練自己的模型的同時保證數據隱私. 文獻[10]提出了一種面向認知計算的區塊鏈聯邦學習框架. 其中,聯邦學習在保護隱私的同時提供了高效的處理,而區塊鏈實現了全分布式的資源管理. Cheng 等人[11]提出了一種資源議價和交易方法來優化邊緣場景的計算資源分配并進一步用區塊鏈來記錄資源交易過程從而保證數據安全和隱私.

除了考慮安全因素以外,部分研究也希望通過區塊鏈來實現可信的資源調度. 一般地,為了激勵邊緣節點參與到計算中,大多數計算系統都會采用激勵機制來獎勵那些貢獻高的節點. 保證激勵是可信的,即計算節點按照承諾提供相應的計算資源,系統在任務完成后為計算節點支付相應報酬[20]. 文獻[22]介紹了一種基于區塊鏈的激勵機制. 該方法通過維護一個連續的防篡改數據庫來阻止邊緣服務器篡改參與節點的信息. 文獻[23]提出了一種基于區塊鏈的邊緣計算支持的物聯網架構. 該架構設計了一系列部署在私有鏈上的智能合約以及一個基于異步優勢Action-Critic (A3C)算法的資源調度機制. 文獻[24]考慮了邊緣場景下實時穩定的資源調度,并提出了一種橫向區塊鏈結構. 該結構中包含了上千個邊緣數據節點,從而在提高鏈上數據記載效率同時實現跨鏈的數據共享.文獻[8]應用區塊鏈來管理邊緣節點資源調度.文獻[25]設計了一種基于區塊鏈的CED 計算結構.區塊鏈負責保證任務上傳的安全性. Wu 等人[26]將CED 場景下的資源分配建模為一個Lyapunov 優化問題,其目標是最小化能耗和任務相應的時間. 通過求解這一問題,進一步設計了一種能耗效率的動態資源調度算法. 雖然文獻[23?24]的策略考慮到將區塊鏈融合到計算卸載中,但我們所提出的BCERA 與之不同的是,BCERA 中的區塊鏈在數據記錄、資源調度以及激勵機制中都扮演著核心角色; BCERA 還提出了一種改進的共識算法來允許區塊鏈節點通過求解資源調度優化問題來實現共識;為了應對算力網絡隨機動態變化的計算資源和用戶行為,本文采用多智能體強化學習的方法進行求解.

2 系統概述

本節介紹BCERA 的框架,BCERA 是一種由區塊鏈驅動的算力網絡協同資源調度機制. 圖1 展示了BCERA 的結構,它主要由3 層組成:1)應用層包括運行在BCERA 之上的各種網絡應用程序,這些應用程序充當BCERA 客戶端,發布資源請求,并將任務卸載到算力網絡中的計算單元. 2)區塊鏈層在BCERA 功能中起著核心作用,包括資源調度決策、資源管理和激勵. 此外,區塊鏈層還實現了改進的共識優化證明機制,通過優化BCERA 的資源調度方案,使區塊鏈能夠競爭輸出塊的權利. 與區塊鏈技術相結合,BCERA 旨在提供可信、分布式、高性能的資源調度. 3)資源層維護計算單元信息,以支持BCERA的資源調度. 算力網絡中的計算單元包括:1)計算能力穩定且強大,但資源消耗昂貴的數據中心或邊緣計算服務器;2)移動或人攜帶的設備,提供有限和隨機的資源.

Fig.1 BCERA framework圖1 BCERA 框架

基于BCERA 結構,本文定義了BCERA 中的成員類型及其基本概念.

1)任務發布者. 應用程序或客戶端通過指定其對資源的需求和QoS 要求,將其任務卸載到算力網絡中.

2)交易. 當客戶端在BCERA 中發出資源請求時,將生成一個包含資源和任務QoS 要求的交易.分配給該任務的計算單元信息、結果、獎勵也會記錄到相應的交易中.

3)區塊鏈節點. 區塊鏈中的節點用于存儲和處理交易信息. 類似于當前的區塊鏈,區塊鏈節點通過實現預先給定的目標來競爭出塊.

4)計算單元. 貢獻計算資源來處理資源調度的網絡實體.

5)代理節點. 該實體為各種角色提供交互接口.值得注意的是,代理將任務和計算單元信息轉發到區塊鏈. 其主要功能包括資源管理、資源調度和在區塊鏈上部署激勵機制. 代理可以是運營商提供的信任組件,也可以由多個實體協作實現.

6)獎勵. 算力網絡中有貢獻的實體由區塊鏈工作者和計算單元組成. 前者通過做出資源調度決策并記錄事務而獲得獎勵,后者則通過使用其資源處理卸載任務而獲得獎勵.

3 BCERA 中的資源調度

本節將討論BCERA 中的資源調度問題. 首先給出了系統模型,其包括計算模型和通信模型. 資源調度問題可表述為MDP,特別地,由于算力網絡本身的特性,調度問題是部分可觀測的.

3.1 系統建模

3.1.1 通信模型

首先本文對BCERA 做出4 個假設:1)用戶通過骨干鏈路和無線鏈路訪問Cloud 的計算資源;2)邊緣計算服務器直接連接基站,其資源只能通過無線鏈路訪問;3)客戶端使用基站作為中繼,從同一小區內的移動設備訪問計算資源;4)系統時間是分片的,用T={1,2,…,T}表示.系統在每個片內保持靜態,不同片之間有系統狀態會發生變化.

算力網絡拓撲可以被建模成一個無向圖G(V,E),其中 V 和 E分別是節點和鏈接的集合. 設Vu,Vc,Ve,Vm,Vr∈V分別為任務發布者、云、邊、端計算單元以及路由器的集合. 設l(u,v)∈E表示節點u,v∈v之間的鏈路. 為了簡化描述,將l(u,v)簡化為l. 對于 E中的l,cl(t)表示它在時隙t內的可用帶寬.考慮網絡條件的動態性,將cl(t)定義為區間上時隙t的隨機變量,為l的容量.

設bi和xi(t)分別表示卸載任務i時需要傳遞的原始數據量和在時隙t內任務i的傳輸速率. 則有

其中Bl(t)表示使用鏈接l的任務集合. 式(2)約束可以用一個隊長Vl(t)的虛擬隊列模型來描述.這個虛擬隊列表示等待在t傳輸的積壓數據.隊列到達速率是使用l的任務的總體數據速率,出速率可用帶寬cl(t)表示.Vl(t)的變化為

要使得鏈路l不發生擁塞,則Vl(t)必須穩定.

3.1.2 計算模型

回顧Vc,Ve,Vm是算力網絡中的計算單元,它們的可用計算資源由一個隨機變量Fu(t)表示,并通過每秒CPU 周期來衡量計算能力. 假設云計算和邊緣計算服務器的計算能力是穩定的,即Fu(t),u∈Vc,Ve. 而對于移動節點MDs 來說,由于只能貢獻空閑資源,因此提供的資源是動態的. 因此,Fu(t),u∈Vm是時隙t的隨機變量. 對于每一個在時隙t生成的任務i,我們定義一個二元組{si(t),bi},其中si(t)表示處理任務i所需的計算資源,bi是需要傳遞給計算單元的原始數據的大小. 假設計算單元在收到任務i的所有原始數據后開始執行任務i,則分配給節點u的任務i的任務處理延遲可以是交付延遲和執行時間的總和. 將在節點u等待處理的任務積壓表示為時隙Qu(t). 隊列輸入為時隙t期間到達的任務對計算資源的總需求,出隊列率為Fu(t) ,Au(t)為時隙t上由節點u處理的計算任務集合. 因此,Qu(t)的動態可以描述為:

3.2 問題形式化描述

資源調度的主要目的是最小化任務執行的總體延遲和資源使用開銷. 對于任何任務i,將執行延遲定義為處理時間和傳輸時間的總和:

其中Pi,u(t)為任務的處理時間. 對于任意計算節點u,單位資源使用的費率為Ru,在u處處理任務i的收益可由Rusi(t)給出. 結合執行延遲和資源使用情況,定義任務執行的代價函數為:

其中αi∈[0,1] 和βi∈[0,1]是權重. 給定第1 項執行延遲的維度為秒,令 αi的維度為1/s來消掉第1 項. 據此,資源調度優化問題:

該問題的目標是最小化系統運行期間生成的所有任務的代價函數,其中G(t)表示在時隙t內生成的任務的集合.約束 C1表示資源調度的決策應該避免網絡擁塞.此外,該問題的在線方法可以通過求解t的無約束優化問題[27]:

其中V是一個非負參數. 使用相同鏈路的計算單元的決策xi(t)通過第2 項耦合. 優化xi(t)以使整體延遲最小化是很困難的,因為它不僅需要考慮i的代價函數,還需要考慮鏈路上中其他節點的決策. 算力網絡的計算單元可能由不同的運營商維護,因此不能直接觀察式(2)中要求的鏈路限制. 也就是說,對于調度器來說,知道每個鏈接l的Vl(t)是困難的,只能得到Di(t)的估計:

3.3 RL 方法求解問題

所提出的問題是一個時變優化問題,也就是動態規劃問題,這使得傳統的確定性優化方法,如凸優化,不適合這種情況. 此外,由于系統狀態不可預測,對系統變化進行建模并不容易. 也就是說,基于模型的動態規劃方法如回溯法等也不能直接應用于這些問題. RL 方法通過與環境的相互作用來解決隨機優化問題,并通過觀察反饋來進行決策,因此對于這一類問題是最具有可行性的辦法. 與傳統的優化方法不同,RL 方法通過根據系統變化調整決策策略來實現長期最優. 這種探索使得RL[28-29]方法在隨機環境中有效地搜索最優解.

因此,可以應用各種基于RL 的方法來解決這個問題. 這里,本文將討論如何使用Action-Critc(AC)網絡來解決這種方法. 我們首先將問題重新表述為MDP:

定義1 優化問題(7)的MDP 由多元組M={S,A,P,R,b0}表示,其中:

1)S為狀態空間. 我們用元組S={Q,V,C,N}來表示,其中Q,V,C,N是所有計算單元等待處理任務集合,V為所有鏈接的虛擬隊列長度的值集,C為所有鏈接的可用帶寬的值集,N=|Nc|,|Ne|,|Nm| .

2)A 為動作空間. BCERA 需要決定哪個節點卸載任務和任務的數據率.t處的動作可以用一個二元組(w(t),x(t))表示.w(t)由|Vc∪Ve∪Vm|個一維向量組成,每個向量wj(t)對應一個運行在計算單元j上的任務i.wj(t)的分量aij(t)定義為:

由于直接觀測到Vl(t)很困難,通過式(12)(13)(14)來近似得到即時獎勵:

由于端到端時延可以通過多種網絡測量方法進行觀測,因此可以很容易地推導出式(15)近似的

4)P為概率轉移Pr(b|s,(wj(t),xj(t))),由于無法獲得系統動態的完整信息,假設只能在云和邊處觀察動態的Qu(t). 由于端節點龐大的數量和隱私問題,不可能觀察到所有移動節點的Qu(t). 相反,假設只能擁有單元內所有MDs 的隊列平均值. 此外,BCERA 只能觀察到端到端延遲.

通過AC 方法來求解問題(7). AC 是一種RL 模型,它包括2 個神經網絡:1 個Actor 和1 個Critic 網絡. Actor是策略網絡,它根據當前觀察到的系統狀態在每次t輸出動作,Critic 根據Actor 和獎勵學習Critic 函數.

1)Actor. 令πθ(w(t),x(t)|St)定義輸出策略,其中θ表示Actor 網絡的參數,S t表示t處的狀態.網絡通過基于梯度[30]的方法迭代更新參數θ:

其中 γ和 α是學習率, σ(st)是指示函數,如果s=st,σ(st)=1,否則σ(st)=0.

根據設計,在每個t處,AC 通過執行迭代優化卸載決策,直到達到迭代條件:

4 BCERA 區塊鏈設計

4.1 智能合約設計

在BCERA 中,區塊鏈[28-29]在計算資源調度中起著關鍵作用.具體而言,BCERA 的區塊鏈可以實現的功能為:1)維護算力網絡中資源提供者的信息;2)驗證并記錄資源調度信息;3)BCERA 的資源分配管理;4)根據任務完成情況進行獎懲分配.BCERA 通過智能合約來實現這些功能,智能合約是一種基于區塊鏈的分布式可信協議,設計的智能合約為:

1)注冊合約. 為計算單元創建 “公鑰”,這是節點的唯一全局標識,可用于加密發送到對應用戶的消息,以實現安全通信.一旦節點調用了這個智能合約,它還會定期將自己的資源狀態更新到區塊鏈.

2)任務發布合約. 當客戶向BCERA 提交任務卸載請求時,將調用該合約創建一個交易來記錄任務信息,包括資源和QoS 要求等. 任務信息是由一個六元S={TID,Req,dur,re(TID),Qua(TID),com}構成,其中TID是任務的唯一ID,Req是CPU 頻率、存儲空間等資源需求的細節,dur是持續時間,re(TID)是完成任務的獎勵,Qua(TID)是任務處理的延遲約束等QoS 要求,com用于指示任務是否完成.

3)資源調度合約. 在每個t期間,BCERA 根據共識機制生成的資源調度方案將任務分配給計算節點,分配給每個任務i的節點信息將寫入任務i的交易中.

4)獎勵合約. 當節點完成任務或達到資源提供期限時,獎勵合約將根據BCERA 激勵機制決定是否將獎勵分配給計算節點.

根據智能合約的功能,參與計算任務卸載的計算節點、任務發布者等通過區塊鏈上的智能合約就能夠實現任務卸載而不需要直接通信或者可信的第三方,并在區塊鏈節點的協助下確定任務調度策略,因此實現了可信的協同任務卸載.

4.2 資源管理

BCERA 中的任務調度流程如圖2 所示,BCERA中計算資源具有地理分布和隨機提供的特點. 因此,能夠及時更新節點資源狀態的資源進行管理,對于資源調度的性能至關重要. 在時隙t內,當計算單元j加入請求時,BCERA 調用注冊合約生成ID,并記錄CPU 頻率、內存大小等資源信息. 區塊鏈維護t內生成的區塊中的信息和記錄,以確保提供可靠的資源.一旦節點加入BCERA,節點將在每個時隙t更新可用資源,以確保資源調度方案始終能夠根據最新的資源狀態做出決策. 當節點需要退出BCERA 時,將發送退出通知,注冊合約將向區塊添加新信息,將計算單元j的可用資源設置為零.

Fig.2 Workflow of BCERA圖2 BCERA 工作流程

4.3 資源調度流程

BCERA 中每個時隙t的資源調度劃分為3 個階段.

1)觀察階段. 區塊鏈中的優化器觀察到達隊列中的任務和每個任務的資源需求和原始數據量i. 同時,BCERA 獲取系統狀態包括每個計算單元的承載任務Qu(t)、計算能力Fu(t)、計算節點與任務發布者之間的端到端延遲. 在實際應用中,對于一個客戶端i,到最近的基站的延遲是而計算節點j到同一個基站的延遲是本文使用來近似Dij(t).

2)決策階段. 根據狀態信息,BCERA 中的區塊鏈節點調用RL 模型輸出資源調度動作,并就最優方案進行共識. 該協議的細節是由提出的共識機制——最優性共識(POO)算法來完成的,這將在4.4 節中詳細描述.

3)卸載階段. 代理節點根據任務分配wi(t)將任務分配給計算單元,并將xi(t)通告任務發布者. 每個發布者以數據速率xi(t)上傳任務的原始數據. 一旦計算節點接收到原始數據,它們將開始處理任務,并在任務完成后返回結果.

4.4 BCERA 共識算法POO

BCERA 與現有區塊鏈驅動計算平臺的主要區別在于,BCERA 將資源調度優化納入共識機制[28],在支持高性能資源調度的同時,嘗試重用區塊鏈所擁有的計算和通信資源.為了實現這一目標,BCERA 提出了一種共識機制,即最優性共識(proof of optimum,POO),POO 包含4 個步驟:

1)優化器選擇.與傳統的DPoS 類似,在時隙t,POO 中的區塊鏈節點根據帳戶余額選出一組優化器{ob}b∈w(t).對于在公鏈上部署BCERA 的情況,只包括少量在優化過程中具有較高利益的節點,因為它們在行為上可以被信任,并且更愿意為系統貢獻它們的資源.對于個體無信任問題的私有鏈或聯盟鏈,所有個體都可以參與資源調度決策.另外,為了決策的實時性,需要設定一個提交結果的截止日期.

2)資源調度優化. 每個優化器o的輸入來自Qu(t),Fu(t) ,Dij(t),并使用策略$πθ(w(t),x(t)|St)輸出資源調度決策另外值得注意的是,考慮到系統規模大,卸載動作提交截止日期的嚴格限制,能力有限的優化器可能無法獲取整個系統的狀態,只能使用部分狀態信息來優化卸載.具有強大計算和通信能力的優化器可能提供更好的資源調度方案,因為可以在給定時間內盡可能多地探索環境信息.

4)區塊的創建. 在優化器p被選擇為Leader 之后,p構建t內生成的區塊. 每個區塊包含M交易項,一旦達到大小限制,將生成包含后續交易的新區塊. 新區塊blocki將被廣播到其他優化器來驗證塊中的交易. 如果大多數優化器投票認可,那么blocki將被認可為區塊鏈;否則,拒絕. 具體來說,如果超過2/3 的優化器同意,blocki被接受,同時獎勵s將被分配給優化器. Leaderp獲得一半的獎勵,其余的則均勻地分配給其他優化器.

算法1.POO 共識算法.

5 激勵機制

由于算力網絡包含大量第三方的資源,需要激勵機制來保證參與者誠實、積極地參與計算資源貢獻[32-33]. 在激勵機制中,對資源調度參與者的獎勵或懲罰是以他們的貢獻來衡量的. BCERA 激勵機制主要由2 部分組成:1)獎勵.設定任務發布者使用資源的獎勵. 2)處罰. 對未能完成計算任務或提供虛假信息的節點予以處罰.

以G(t) 為單位的計算單元根據其提供資源的容量共享R(t)的收益. 通過式(19)確定每個任務i的獎勵:

1)freezing. 一旦發布者發出任務卸載請求,將記錄并凍結向代理節點支付Ri(t)的款項.

2)rewarding. 發布者確認任務是否成功完成. 如果任務完成,獎勵Ri(t)將自動解鎖并轉移到相應計算節點賬戶.

3)penalizing. 算力網絡中的計算單元可以是便攜設備,因此在提供資源時可能會違背承諾,從而損害系統性能和可持續性. 本文引入了“押金”的概念. 在節點j確認處理分配的任務后,j根據其提供資源和可靠性. 如果節點j完成任務,押金將被退回到j的賬戶;否則,保證金將被沒收,以補償其他參與節點的損失. 計算j處理i的押金,:隨機變量.

6 實 驗

基于區塊鏈的一個原型系統來進行實驗,區塊鏈由4 個worker 組成,這些worker 在一臺服務器上實現(Intel i7-11700k, 8 核1.7 GHz/32 GB). 在每個 塊中,指定塊ID、生成的時間戳、交易數量和章節IV中描述的交易信息. 除非另有說明,否則每個區塊中的交易數量設置為10 000. 每隔3 s,區塊將被共識協議添加到區塊鏈. 基于Pytorch 構建了RL 環境. RL 模型采用卷積神經網絡(CNN)作為模型. 在第一個卷積層之后是maxpooling 層. 卷積層的輸出通道分別為25,48,256,64,16. 內核大小層分別為9,2,7,3,3,3,4. 最后一層是完全連接的,并輸出具有概率分布的動作. 為了模擬工人之間的差異,超參數包括學習率和效用函數的權重參數都是不同的. 本文進一步考慮了4 種不同的RL 方法:

1)DQN(deep Q network). 該方法為每個客戶端配備2 個網絡.Evalnet估計狀態動作值,Targetnet維護Evalnet的副本,以計算下一個狀態值函數. 一個內存緩沖區緩存前200 個動作. Batch 大小設置為32.Evalnet和Targetnet之間的延遲是5 個迭代.

2)AC(actor-critic network). 該方法采用AC 網絡.Critic 使用TD 算法輸出當前狀態值函數,Actor 根據Critic 輸出最小化動作的優勢來輸出動作分布.

3)A3C(asynchronous advantage actor-critic).該 方法通過引入并行處理擴展AC. 學習代理調用4 個線程來訓練模型,它們協作更新集成訓練結果的分片模型.

4)MADQN (Multi-agent DQN).該方法由4 個學習agent 組成,每個agent 使用DQN 網絡獨立生成策略.

為了進一步測試資源調度性能,本文將基于我們之前設計的協同視頻轉碼平臺的轉碼來測試資源調度性能. 每個設備都可以在這個平臺上為視頻轉碼貢獻資源. 用戶生成視頻轉碼請求并決定卸載哪個計算節點. 然后將視頻數據下發到目標計算節點.轉碼完成后,轉碼內容將返回用戶. 該平臺由1 臺服務器作為云(Intel Xeon Platinum 8163, 8 核2.5 Ghz/64 GB)、3 臺邊緣服務器(Intel i7-11700 k, 8 核1.7G Hz/32 GB)、4 臺筆記本電腦(Intel i7-7700 k, 4 核4.25 Ghz/16 GB, AMD Ryzen 5,4 核3.2 GHz/16 GB, Intel i7-10750 H, 6 核2.6 GHz/16 GB, Intel i7-10510 U, 4 核1.8 Ghz/16 GB)作 為MDs 和用戶組成.操作系統是CentOS 7,使用FFmpeg 作為轉碼工具. 每個節點安裝一個資源監視器來記錄資源的變化. 有線鏈路帶寬為100 Mbps. 轉碼視頻內容的長度是一個隨機變量U[2,10],變量U[a,b]表示[a,b]范圍內的均勻分布. 原始視頻的轉碼比特率集包括1080 p(60 fps),1080 p(30 fps),720 p(60 fps),720 p(30 fps),480 p(30 fps).

發布者在每個時隙隨機生成若干個不同計算資源需求和視頻大小的任務. 生成的任務數量遵循泊松分布 λ1. 生成2 個連續任務之間的時隙數量遵循U[5,20]的均勻分布.

為了測試本文提出的資源調度優化的通用性,我們首先評估了4 種RL 方法DQN、A3C、AC、MADQN來解決該問題時的性能. 所研究的指標包括訓練期間的損失方差(Loss 值)和測試期間的單元處理延遲(unit delay, UD).

1)Loss 值變化. 從圖3 中可以看出,所有解都經歷了快速下降的趨勢,然后進入穩定階段,說明算法收斂了. 造成這種現象的原因是學習智能體在一開始并沒有對系統動態的先驗知識,而是通過估計不同狀態下的動作值來改進策略. 一旦學會了值函數或q值,智能體的策略就會收斂,使曲線穩定. 所有這些曲線都在2 500 s 附近收斂,表明它們在資源調度問題上具有相似的性能. 不同的是基于AC 的方法的Loss 值在900 s 后先呈上升趨勢,后呈下降趨勢.同時,DQN 和MADQN 的Loss 值在訓練過程中持續下降. 因此,在訓練時間不足的情況下,優先使用DQN 和MADQN 進行資源調度.

Fig.3 Loss variance during the training圖3 訓練過程中Loss 值變化

2)測試過程中的單位延遲(UD). 本文將UD 定義為處理任務的一個單位原始數據的延遲. 通過600 s的數據集測試不同解決方案的UD,結果如圖4 所示.從圖4 中可以看出,A3C 是所有方案中時延最低的,大多數情況下其性能都優于其他方案. A3C 的優點是AC 模型總是比平均值更好地尋找動作. 此外,A3C 使用4 個不同的過程來探索同時實現更好性能的環境. 其他3 個解決方案在性 能上接近. DQN 對應的曲線最初高于AC 和MADQN, 300 s 后相互變得非常接近. 基于此分析可以得出,所有這些RL 方法都可以應用于解決CED 資源調度問題. 因此,區塊鏈工作者可以任意選擇RL 方法來輸出卸載策略,因為很難找到在所有情況下都占主導地位的RL 方法.

Fig.4 Delay variance during the test圖4 測試過程中的時延變化

3)交易驗證延遲(transaction verifying delay, TVD).TVD 定義為向區塊鏈發送和添加事務之間的時間間隔.圖5、圖6 顯示了2 種不同到達模式下的平均TVD.

Fig.5 Transaction verifying delay: Burst arrival圖5 交易處理時延:動態到達率

①動態到達模式. 在5~15 s 到達率(圖中柱狀)相對較高,達到8 000,并在其余模擬時間內保持穩定;②穩定的到達模式. 在試驗過程中,在大多數情況下到達率穩定在2 800.

Fig.6 Transaction verifying delay: Stable arrival圖6 交易處理時延:平穩到達率

在動態到達模式下,3 種方法的TVD 都經歷了10 s 的 上升后下降到5 s. 原因是5~15 s 的到貨率很高,超過了交易處理率. 因此,待處理事務的數量會增加,從而推高TVD. 當事務到達率低于處理率時,待處理積壓減少. 在穩定模式的測試期間,所有曲線都在2 s 附近波動. 造成這種波動的原因是,一旦包含的交易數量等于10 000 或達到3 s 生成截止日期,每個區塊就會被添加到區塊鏈中. 因此,添加到幾乎已滿或接近構建截止日期的區塊中的事務可以具有較低的延遲. 除此之外,由于工作者使用的RL 網絡經過訓練,3 種共識算法在TVD 中具有相似的性能,并且與塊處理延遲相比,優化過程相對較快.

4)資源調度性能. 基于設計的協同資源調度平臺,將BCERA 與我們之前提出的資源調度算法AGO[1]和隨機策略進行了比較. AGO 基于隨機網絡優化框架確定資源調度策略,隨機策略以均勻分布的方式選擇節點卸載轉碼請求. 圖7(a)(b)顯示不同類型CPU 的平均CPU 和 內存使 用率. 從圖7(a)(b)中可以看出,BCERA 傾向于將調用端節點資源,AGO 傾向于Edge 服務器的資源使用. 這是因為我們提出的問題考慮了任務的處理延遲和傳輸能力. 嚴重依賴邊緣服務器可能會使訂閱者和邊緣服務器之間的鏈接擁塞,從而增加整體延遲. 這一結論可以通過觀察圖7(c)得出,其中BCERA 與AGO 相比在邊緣有更低的延遲. 此外,BCERA 還節省了壓力邊帶寬.如圖7 (c)所示,隨機策略將任務均勻分配到2 ~ 3 種類型的計算節點,因此在云端具有最高的處理延遲和吞吐量,這對于時間敏感的計算任務來說是不可取的.

Fig.7 Resouce allocation performance圖7 資源調度性能

7 結 論

本文提出了一種基于區塊鏈的算力網絡計算資源調度方案,即BCERA.首先給出BCERA 的定義,它主要由應用層、區塊鏈層和資源層組成.然后,將算力網絡資源調度建模為馬爾可夫決策過程,并說明如何使用強化學習方法來解決這個問題.針對BCERA 的任務發布、資源調度和資源管理功能,本文進一步設計了4 種智能合約,并給出了POO 的詳細設計.這種新穎的共識機制使每個區塊鏈工作者能夠通過解決制定的POMDP 就輸出塊達成一致.

此外,本文還提供了一個激勵機制,以確保誠信,并鼓勵CUs 為BCERA 貢獻資源.為了評估BCERA的性能,基于原型系統進行了一系列數值評估和模擬測試.特別地,在一個商業化的區塊鏈平臺BROP上實現了我們的設計,并在現實中測試了它的性能.仿真結果表明,提出的BCERA 在使用POO 時提高了資源利用率并減少了整體處理延遲.上述實驗結果還表明,本文所提出的算法在任務處理時延、節點負載均衡以及資源利用率方面都優于現有的計算任務卸載方案.

作者貢獻聲明:衷璐潔提出了算法思路、實驗方案以及論文的撰寫;王目進行了方案優化和實現以及論文的撰寫.

猜你喜歡
優化資源
讓有限的“資源”更有效
超限高層建筑結構設計與優化思考
房地產導刊(2022年5期)2022-06-01 06:20:14
基礎教育資源展示
民用建筑防煙排煙設計優化探討
關于優化消防安全告知承諾的一些思考
一道優化題的幾何解法
由“形”啟“數”優化運算——以2021年解析幾何高考題為例
一樣的資源,不一樣的收獲
資源回收
資源再生 歡迎訂閱
資源再生(2017年3期)2017-06-01 12:20:59
主站蜘蛛池模板: 久久黄色小视频| 色妞永久免费视频| 久久人人妻人人爽人人卡片av| 潮喷在线无码白浆| 91久久国产成人免费观看| 亚洲精品大秀视频| 国产免费a级片| 日韩精品亚洲人旧成在线| 欧美成人一级| 日韩av手机在线| 99免费视频观看| 97超爽成人免费视频在线播放| 91精品国产麻豆国产自产在线| 人人艹人人爽| 国产成人综合欧美精品久久| 国产在线91在线电影| 日韩欧美国产综合| 久久99这里精品8国产| 在线色综合| 高清精品美女在线播放| 亚洲swag精品自拍一区| 在线观看免费国产| 2021天堂在线亚洲精品专区| 国产欧美综合在线观看第七页| 国产精品999在线| 国产美女丝袜高潮| 国产精品太粉嫩高中在线观看| 精品一區二區久久久久久久網站| 幺女国产一级毛片| 国产免费网址| 日韩国产 在线| 成人福利在线观看| 一区二区三区高清视频国产女人| 午夜影院a级片| 亚洲中字无码AV电影在线观看| 女人18毛片久久| 亚洲无卡视频| 亚洲热线99精品视频| 精品福利一区二区免费视频| 色噜噜综合网| 中文字幕第1页在线播| 欧美成人区| 很黄的网站在线观看| 热99精品视频| 亚洲欧州色色免费AV| 91精品专区国产盗摄| 中文字幕佐山爱一区二区免费| 99伊人精品| 综合色区亚洲熟妇在线| 国产高颜值露脸在线观看| 免费观看三级毛片| 国产精品永久久久久| 四虎国产永久在线观看| 超碰91免费人妻| 日韩精品亚洲人旧成在线| 欧美日韩国产在线人成app| 国产精品刺激对白在线| 久久99国产视频| 亚洲区一区| 国语少妇高潮| 五月婷婷综合网| 欧美亚洲中文精品三区| 亚洲精品午夜无码电影网| 成人福利在线免费观看| 久青草免费在线视频| 丁香五月婷婷激情基地| 91久久大香线蕉| 全部免费特黄特色大片视频| 伊人福利视频| 久久精品丝袜| 中文字幕人妻av一区二区| 国产日韩精品欧美一区喷| jizz亚洲高清在线观看| 黄色污网站在线观看| 国产永久在线视频| 久久精品嫩草研究院| 亚洲福利视频一区二区| 免费在线国产一区二区三区精品| 欧美不卡在线视频| 国产乱子伦视频在线播放| 国内黄色精品| 欧美日本在线观看|