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

基于移動邊緣云的計算密集型任務卸載決策算法

2023-09-04 09:23:00王志強王金婉
計算機應用與軟件 2023年8期
關鍵詞:設備

王志強 王金婉

(濟源職業技術學院信息工程系 河南 濟源 459000) 2(南京大學信息管理學院 江蘇 南京 210023)

0 引 言

隨著物聯網和可穿戴設備等移動技術的迅速興起,智能移動設備的使用正變得越來越廣泛,它為支持新型的移動應用提供了有力平臺,在交互型游戲、人臉識別、自然語言處理等領域得到了廣泛應用[1-2]。這種計算密集型應用比移動設備上執行的傳統型應用需要更加強大的計算能力和消耗更多的能耗[3]。而通常移動設備擁有受限的計算資源(CPU頻率和內存有限)和電池容量,這種移動應用的有效執行給移動設備帶來了巨大挑戰[4]。

由于邊緣云服務器擁有比移動設備更加強大的計算能力,移動邊緣云可以利用移動設備至云端服務器間的任務遷移解決移動設備上執行新型應用任務的效率問題,即計算卸載技術[5]。然而,云服務器通常距離移動設備較遠,這樣會導致較高的傳輸延時,不利于延時敏感型應用。移動邊緣云作為一種新的計算模式[6-7],通過5G網絡極大地拉近了云計算資源與移動設備間的距離,比較傳統云計算,移動邊緣云以計算卸載提供了更低的延時和計算靈活性。然而,考慮到經濟性和擴展性問題,移動邊緣計算服務器的計算能力通常較為有限,此外,密集型網絡中的計算卸載可能導致更多的干擾和傳輸延時[8]。因此,將所有計算任務卸載到移動邊緣計算服務器上執行顯得不切實際,部分應用仍需在移動設備本地上執行。本地執行雖然能耗更高,但此時不存在額外的通信或等待延時。綜合考慮,做出合理的任務卸載決策,是提高本地應用任務執行效率的關鍵問題。

任務卸載決策問題是移動邊緣云中需要處理的關鍵問題,主要體現在:第一,卸載決策過程會隨著任務數量的增加而呈指數級增長,利用窮盡搜索機制顯然不切實際;第二,通用任務圖結構(順序任務結構和并行任務結構混合)的完成時間難以計算。此時的完成時間取決于多個客觀因素,包括:移動設備端和邊緣云端的并行性、邊緣云端的負載狀況、邊緣云端與移動設備端間的通信帶寬。

1 相關工作分析

移動邊緣云中的任務卸載決策已有許多相關研究工作,優化目標各有不同,如移動設備端的能量優化問題、移動數據流應用的吞吐量優化問題、最為常見的計算密集型應用任務的完成時間優化問題。文獻[9]設計了一種克隆云CloneCloud模型,該模型在給定的網絡傳輸速率和設備計算能力的基礎上可以利用離線算法計算應用的卸載決策。但由于作為離線算法使得尋優復雜度過高。文獻[10]提出的MAUI模型可以實時地進行應用卸載決策,將卸載決策問題形式化為0-1線性規劃問題,但求解整數規劃的過高計算代價使得它并不適用于邊緣云端的任務卸載問題。文獻[11]設計的ODE算法本文研究有些類似,利用貪婪機制對通用的任務圖中的任務卸載決策進行了求解。然而,該算法求解速度雖然較快,但在網絡帶寬受限較多時,其卸載決策解距離理論最優解相差較遠,其執行效率較差。文獻[12]提出了具有線性時間復雜度的近似最優卸載決策算法,然而,算法僅能夠對連續的任務結構應用進行卸載決策求解,并沒有考慮更為常規的并行任務結構的卸載決策問題,應用于計算密集型應用中的卸載決策表現較差。文獻[13]提出了可用于通用任務結構的卸載決策算法,可以實現最大化的系統吞吐量,但是,該算法中所考慮的云端服務時間模型不切實際,不適用于實際環境。

本文提出一種計算密集型應用任務的卸載決策算法,可以實現移動設備端應用的完成時間最小化。算法考慮了更為普遍的任務結構類型,包含了順序任務結構和并發任務結構。算法設計的出發點在于:(1) 若一個任務卸載執行,則較大可能其鄰居任務也會卸載執行;(2) 應用的執行時間可以通過將任務卸載至邊緣云端最大化邊緣云端與移動設備端的并行性來降低任務完成時間。對于順序任務構成的線性拓撲任務圖,算法可以找到最優的卸載任務;而對于并發任務的通用拓撲任務圖,算法可以最大化并行程度的同時實現任務卸載的更好負載均衡。

2 系統模型

將應用任務建模為有向任務圖G(V,E),其中:V代表圖的節點集,表示任務;E代表圖的有向邊集合,表示任務間的執行順序約束。每個任務i∈V擁有一個權重si,表示任務i的執行指令數。有向邊(i,j)∈E代表任務i與任務j間的數據傳輸。此時,任務i可視為父任務,任務j可視為子任務。如果一個任務擁有多個子任務,則稱該任務為分叉任務(fork task),如果一個任務擁有多個父任務,則稱該任務為合并任務(merging task)。每條邊(i,j)擁有一個權重di,j,代表任務i至任務j間的數據傳輸量。

假設移動設備擁有單個CPU,其處理能力為μm。移動設備的無線設備可與自身CPU內核并行工作,CPU在進行任務計算過程中可與遠程邊緣云端間并行進行數據傳輸。若任務在移動設備上執行,則任務i的執行時間可表示為:

(1)

假設邊緣云處理能力為μc。邊緣云計算能力遠大于本地移動設備處理能力,并且可以在多個提交應用的用戶間共享,不同任務的卸載決策取決于當前邊緣云負載狀況。令Q表示當前邊緣云端服務器上排隊的任務集合,新到達任務的總排隊時間為:

(2)

若任務i卸載至邊緣云端執行,則其執行時間為:

(3)

需要注意的是,ci不包括任務的排隊時間。若將任務卸載至邊緣云端執行,在移動設備上該任務的父任務的數據傳輸則需要通過網絡數據傳輸,同樣地,邊緣云端的執行任務也需要將數據傳輸至移動設備端上執行的子任務。令R表示移動設備與邊緣云端間的無線數據通信速率。給定任務i與任務j的連接鏈路,如果一個任務在移動設備端執行,一個任務卸載至邊緣云端執行,則鏈路的數據傳輸時間為:

(4)

本文的目標是將一個應用的部分任務卸載至邊緣云端執行,從而降低應用的完成時間,提高應用執行效率。即給定應用的任務圖結構G(V,E),算法需要尋找卸載至邊緣云的任務集合,并實現應用執行時間的最小化。

3 任務卸載方法設計

目前的任務圖主要有兩種任務結構:順序任務結構和并發任務結構。對于順序任務,由于邊緣云端擁有比移動設備端更強大的處理能力,因此將任務卸載至邊緣云端執行可以大大降低應用完成時間。對于并發任務,除了需要充分利用邊緣云端處理能力,還需要利用移動設備端與邊緣云端的并行處理能力。以下就兩種任務類型的卸載決策分別作出討論。

3.1 順序任務卸載

為了降低順序任務的完成時間,可以盡可能將任務卸載至邊緣云端執行以利用更強大的云端服務器處理能力。然而,此時的任務卸載會導致網絡數據傳輸時間增加,該時間需要小于卸載任務節省的時間,這樣才可以最終降低應用任務的完成時間。在某些情形中,網絡傳輸數據的時間可能高于任務在本地移動設備端執行的時間。研究表明,順序任務圖的最優卸載任務集合應為任務圖中連續任務序列。以圖1的任務圖為例,若部分任務需要卸載至邊緣云端以降低任務完成時間,則任務必須是連續相鄰的,如圖1中的任務j至任務k。

圖1 順序任務

對于線性拓撲結構的n個任務序列,假設第一任務和最后一個任務在本地移動設備端執行,從任務j(入口任務)至任務k(出口任務)被卸載至邊緣云端執行。給定入口任務j和出口任務k,其完成時間可計算為:

(5)

算法1順序任務卸載決策

1.In:G(V,E)

2.EntryTask←1

3.ExitTask←1

4.Tmin=T(1,1)

5.Forj←1 ton-1

//尋找入口任務EntryTask

6.Fork←jton-1

//尋找出口任務ExitTask

7.IfT(j,k)

8.EntryTask←j

9.ExitTask←k

10.Tmin=T(j,k)

11.End

12.Out:{Taski|j≤i≤k}

算法過程的詳細說明:步驟1輸入任務圖結構,步驟2將任務1初始為入口任務,步驟3也將任務1初始為出口任務,步驟4入口至出口任務間的完成時間初始化為一個最小值,步驟5-步驟11遍歷所有任務,在確定入口任務的情況下(步驟5),檢測所有可能出口任務情形(步驟6),若得到的順序任務群集的完成時間小于初始的最小值(步驟7),則在步驟8和步驟9分別更新入口任務和出口任務,并在步驟10更新完成時間最小值,最后在步驟12輸出確定的入口任務與出口任務間的任務。入口任務至出口任務間的任務集群即為需要卸載至邊緣云端執行的任務集合。

3.2 并發任務卸載

對于給定的任務圖G(V,E),假設其開始于分叉(fork)任務0,終止于合并任務n。第一個分叉任務和最后一個合并任務通常在本地移動設備端執行,由于第一個任務(通常稱為根任務)需要來自于本地設備的輸入,而最后一個任務(通常稱為終止任務)需要將生成數據傳回本地移動設備。并發任務卸載的目標是通過最大化移動設備和邊緣云端的并行度的方式最小化任務完成時間。以圖2為例說明,在根任務0與終止任務n+1之間擁有n個并發任務,如果卸載過多任務至邊緣云端,則移動設備必須等待邊緣云端完成所有任務計算;如果卸載過少任務至邊緣云端,則應用需要等待本地移動設備完成任務計算,這會延長總完成時間。任務卸載決策的最佳結果是:在邊緣云端執行的任務與移動設備端執行的任務之間的終端任務等待時間應該盡可能減少。為了實現這一目標,計算任務卸載時,本地任務的完成時間需要盡可能接近于卸載任務的完成時間和數據傳輸時間之和。

圖2 并發任務結構

對于一般并發任務結構圖而言,決定哪些任務進行卸載是NP問題。研究表明,卸載任務通常是以集群形式進行,一旦一個任務被卸載,卸載其鄰居任務時,通信代價可以有效降低,帶來任務最終可以集群形式進行卸載(線性順序任務結構中,連續任務也是集群形式)。然而,對于并發任務結構而言,尋找結構中的任務集群相對困難。本文的方法是:將并發任務圖修剪為樹結構,然后標識集群為子樹,并尋找卸載子樹。

1) 樹的生成:算法通過剪枝每個任務輸入鏈路將任務圖轉換為一棵樹,直到每個任務僅有一個父任務為止。通過剪枝策略,可以降低卸載決策問題復雜度。然而,該過程需要均衡信息損失問題(任務依賴約束關系),這可能導致子最優的卸載決策。因此,算法僅剪枝數據負載最低的鏈路,以降低傳輸至子樹以外的數據量。圖3(a)所示為一個并發任務圖,任務5和任務8是合并任務,其輸入鏈路以網絡傳輸時間標記。由于t3,5>t2,5、t5,8>t6,8>t7,8,對鏈路(2,5)、(6,8)和(7,8)進行剪枝后,得到的任務樹如圖3(b)所示。

(a) (b)圖3 剪枝成樹

2) 負載均衡的任務劃分:令VC表示卸載至邊緣云端的任務集合,VM表示本地移動設備端執行任務的集合,因此,VC+VM=V-{0,n},即從V中排除根任務0和終止任務n考慮任務卸載問題。由于卸載至邊緣云端的任務為集群形式,則在樹形拓撲中,若一個非葉子任務被卸載,則以該任務為根節點的子樹中的所有任務均需要一起卸載。該卸載決策在分叉任務上作出,其子任務將作為入口任務的候選節點。令tree(i)表示以任務i為根節點的子樹中的任務集合(包括i),定義Mi表示在移動設備端tree(i)中所有任務的執行時間:

(6)

Ci表示邊緣云端tree(i)中所有任務的執行時間:

(7)

定義Ventry為卸載的入口任務集合,Ventry中每個任務為卸載子樹的根節點。由于數據傳輸僅發生在樹拓撲中的入口任務上,定義Tnet為邊緣云端與移動設備端之間的數據傳輸總時間:

(8)

令TC表示邊緣云端任務的執行時間:

(9)

由于子樹任務卸載至邊緣云端,假設相同子樹中的任務在邊緣云端順序執行,且不在等待隊列中重復輸入,這表明僅需要計算入口任務到達時的排隊時間。最后,定義TM表示移動設備端所有任務的完成時間:

(10)

為了最小化并發任務的完成時間,需要均衡邊緣云端與本地移動設備的負載,使得移動設備端任務的完成應盡可能接近于邊緣云端任務執行與數據傳輸時間之和。假設根任務在移動設備端執行,則任務卸載決策最優化問題可形式化為:

min|TM-TC-Tnet|

(11)

初始時,將VC設置為空集,這表明所有任務在本地移動設備。從根節點開始,如圖4所示。根節點的子任務公式(6)定義的Mi的降序進行排列,i表示根的一個子任務。對子樹中依次執行任務的卸載決策直到滿足TM

圖4 樹的卸載

算法2并發任務卸載決策

1.In:G(V,E)

2.r=0(根任務卸載至邊緣云)/r=1(根任務在移動設備)

3.Vnet=NULL

4.Ifr==1 thenVC=NULL

5.ElseVC=V-{0,n}

6.currentTask=root

7.while root has childen

8.i←0

9.while (2r-1)(TM-TC)>Tnet

10.Task child←currentTask.getChild[i]

11.Ifr==1 thenVC←VC+tree(child)

12.ElseVC←VC-tree(child);end

13.Ventry←Ventry+child

14.i=i+1

15.End

16.Ifr==1 thenVentry←Ventry+child

17.ElseVC←VC-tree(child);end

18.Ventry←Ventry-child

19.//rool back offload for break task

20.currentTask=child

21.end

22.out:VC

算法過程的詳細說明:步驟1輸入并發任務結構圖,步驟2定義卸載決策因子,步驟3初始化一個任務集合,步驟4判定,若卸載決策因子為1,表明任務在本地設備執行,則卸載至邊緣云端的任務集合為空,否則,剔除入口任務和終止任務,更新卸載任務集合,即步驟5。步驟6將根節點定義為當前任務,若該任務擁有子節點任務,則在步驟9-步驟15剪枝成樹的形式更新入口任務,若為本地執行的任務,則直接將其子節點添加至入口任務集合以下,即步驟16,否則,刪減以該節點為起始的子樹,即步驟17。該過程需要在所有擁有子節點的任務節點上進行迭代,最后輸出的集合即為整個任務圖中需要卸載至邊緣云端執行的任務集合。

3.3 通用任務卸載

本節描述如何合并算法1和算法2實現通用任務圖的卸載決策。通用任務圖由順序的鏈式任務圖和并發任務合并而成。為了實現通用任務圖的卸載決策,將每個并發任務集合視為一個虛擬任務,使其得到一個線性拓撲圖。如圖5(a)的示例,每個并發任務子圖表示為虛擬節點后,得到圖5(b)。其中,圖5(a)左側任務結構圖為Fork-join結構,圖5(b)右側任務結構圖為并行結構。定義虛擬任務的計算權重為:

圖5 通用任務結構

(12)

計算線性拓撲圖的卸載決策后,某些虛擬節點將卸載至邊緣云端,而一些虛擬節點又將在移動設備端執行。對于任意一種情形,利用算法2計算虛擬節點中并發任務的卸載決策,進而有效利用移動設備端和邊緣云端的并行性。

當根任務和終止任務在本地移動設備執行時,利用式(11)實現負載均衡目標。對于并發任務子圖的卸載決策而言,子圖中的根節點和終止節點可能不在本地移動設備執行。引入變量r,r=0表示根節點在邊緣云端執行,r=1表示根節點在本地移動設備端執行。將式(11)的任務卸載負載均衡目標修正為以下通用卸載負載均衡目標:

min|(2r-1)(TM-TC)-Tnet|

(13)

4 仿真實驗

4.1 實驗配置

以隨機生成的任務結構圖測試卸載決策算法性能,實驗環境為MATLAB。任務結構圖的生成重點考慮兩個屬性參數:(1) 任務規模,即有向圖中任務的總數量;(2) 任務間的鏈接密度,以每個任務的平均出度數進行設置。任務出度表示在一個任務有向圖中,從一個任務節點出發的有向邊的條數。任務權重和連接權重通過均勻分布方式隨機生成。設置本地移動設備的CPU的μm=1,表1給出了仿真實驗中相關參數配置,其中,free代表參數為自由變量。四類參數配置中,取值為free時,其他三個參數則為固定值。為了對比算法性能,引入兩種同類型的任務卸載決策算法,一種是文獻[11]的ODE算法,一種是利用窮舉算法OPTIMAL得到的理論最優解。由于在設定的任務規模下,可在有限時間內通過窮舉法得到最優的任務卸載決策解,但任務規模增大時,窮舉法的搜索時間復雜度將呈指數級增長,因此,引入該算法僅僅是用于衡量本文算法與理論最優解間的差距,并以此間接度量算法性能。

表1 參數配置

4.2 實驗結果

圖6表示任務圖中任務數量對完成時間的影響。可以看到,本文算法得到的完成時間約為最優算法OPTIMAL結果的85%~90%,ODE算法的完成時間則與最優算法相距45%(20個任務)~75%(5個任務),任務規模較小時該算法表現較好,是由于較小規模任務量更加有可能以集群形式進行任務卸載。隨著任務規模的增加,卸載任務更加分散,這會增加數據傳輸量,導致總體完成時間的遞增。

圖6 任務數量的影響

圖7表示任務圖中單個任務的平均出度對完成時間的影響,節點出度表示由任務節點出發的有向邊的條數,通過任務圖中總的有向邊條數除以任務總數確定。可以看到,任務圖中的鏈接密度對任務總的完成時間影響較小,說明該參數不會過度影響算法性能。ODE算法的性能從57%(平均出度為1)降低至46%(平均出度為8)。由于任務圖中的鏈接密度的增加會導致任務卸載的數據傳輸代價的增加,因此,該算法較難作出最佳的任務卸載決策。

圖7 任務平均出度的影響

圖8表示網絡通信帶寬對于完成時間的影響。可以看到,隨著網絡帶寬的增加,性能趨勢呈凹狀下降。本文算法在帶寬為0.1時接近于最優算法的90%性能,至帶寬為1.5時增加至95%。當帶寬處于1.5至10區間時,算法性能出現輕微下降,原因在于算法可以以任務的序列形式將任務在本地移動設備上執行,這會導致更少的任務卸載至邊緣云端。ODE算法在帶寬為0.1時接近于最優算法的70%性能,至帶寬為1時增加至50%。帶寬從0.1變化至1時,ODE算法可以卸載更多任務進而降低完成時間,然后與本文算法相比,距離最優算法仍然較遠,該算法對于任務卸載決策不是最優的,也沒有考慮任務圖的內在結構。隨著帶寬量的增加,ODE算法逐漸卸載其所有任務去邊緣云端,導致其性能上升至70%。

圖8 通信帶寬的影響

圖9表示邊緣云端排隊時間對于完成時間的影響。本文算法距離最優算法性能約為85%~90%,而ODE算法則是45%~55%。由于ODE算法沒有考慮任務在邊緣云端的排隊時間,算法選擇卸載的任務數量是平均相同的,與邊緣云端排隊時間無關,最終導致其完成時間是接近于線性的。

圖9 邊緣云端排隊時間的影響

綜合考慮以上結果可以看到,本文算法得到的完成時間總體接近于理論最優算法的85%,ODE則是接近于50%,其主要不足體現于兩點:(1) 本文算法一次僅卸載單個任務,無法實現集群式的任務卸載決策,這樣導致了過多頻繁的任務卸載決策,尤其在網絡帶寬限制較多時,會出現較大的完成延時;(2) 本文算法沒有考慮移動設備端與邊緣云端的并行性。若給定帶寬足夠大,ODE算法會卸載所有任務至邊緣云端,由于此時卸載任務的傳輸代價低于本地執行與云端執行時間之差。本文算法可以根據當前的負載狀況對特定任務圖結構作出最優卸載決策,可以得到與理論最優解更接近的解。

5 結 語

為了實現移動邊緣云環境中移動設備任務執行時間的優化,提出一種任務卸載決策算法。算法考慮了更為普遍的混合任務結構類型。對于順序任務構成的線性拓撲任務圖,算法可以找到最優的卸載任務;而對于并發任務的通用拓撲任務圖,算法可以實現任務卸載的更好負載均衡。仿真實驗結果證明,與基準算法相比,本文算法得到的任務完成時間與理論最優解更為接近,任務完成效率更高。

猜你喜歡
設備
諧響應分析在設備減振中的應用
調試新設備
當代工人(2020年13期)2020-09-27 23:04:20
基于VB6.0+Access2010開發的設備管理信息系統
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
廣播發射設備中平衡輸入與不平衡輸入的轉換
電子制作(2018年10期)2018-08-04 03:24:48
食之無味,棄之可惜 那些槽點滿滿的可穿戴智能設備
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
HTC斥資千萬美元入股虛擬現實設備商WEVR
IT時代周刊(2015年8期)2015-11-11 05:50:37
Automechanika Shanghai 2014 之“看” 汽保設備篇
如何在設備采購中節省成本
主站蜘蛛池模板: 真人免费一级毛片一区二区| 中文字幕亚洲乱码熟女1区2区| 免费一看一级毛片| 亚洲欧美日韩中文字幕在线一区| 国产福利拍拍拍| 国产一区在线观看无码| 国产女人水多毛片18| 亚洲激情区| 午夜国产理论| 亚洲黄网视频| 久久精品国产精品青草app| 18禁不卡免费网站| 97无码免费人妻超级碰碰碰| 国产成人高精品免费视频| 国产精品久久久久久久久| 色有码无码视频| 日本高清免费不卡视频| 午夜视频在线观看免费网站| 日韩福利视频导航| 91青青视频| 2021国产乱人伦在线播放| 在线观看的黄网| 国产一级毛片在线| 欧美在线视频a| 国产成人亚洲毛片| 免费一级α片在线观看| 日韩免费视频播播| 久久人妻xunleige无码| 毛片网站在线看| 亚洲第一天堂无码专区| 97国产一区二区精品久久呦| 久久青青草原亚洲av无码| 欧美a级在线| 日韩a在线观看免费观看| 亚洲91精品视频| 国产91精品调教在线播放| 国产1区2区在线观看| 国产呦精品一区二区三区网站| 婷婷色狠狠干| 国产成人精品一区二区三在线观看| 国产真实自在自线免费精品| AV不卡无码免费一区二区三区| 夜夜拍夜夜爽| 国产成人欧美| 67194成是人免费无码| 国产午夜小视频| 青青青国产精品国产精品美女| 四虎影视无码永久免费观看| 天天操天天噜| 波多野结衣中文字幕一区二区| 日本国产精品一区久久久| 亚洲福利片无码最新在线播放| 国产欧美视频综合二区| 国产亚洲精久久久久久久91| 久久精品国产免费观看频道| 亚洲欧美日韩中文字幕在线| 国产亚洲欧美在线专区| 99re免费视频| 国产乱人视频免费观看| 国产成人精品免费av| 国产极品美女在线播放| 色视频国产| 四虎成人精品| 日韩精品一区二区三区大桥未久 | 国产欧美日本在线观看| 精品一区二区三区自慰喷水| 综合色88| 久久不卡国产精品无码| 久久精品只有这里有| 国产网站在线看| 欧美日本不卡| 成人国产小视频| 国产福利影院在线观看| 在线精品亚洲国产| 极品私人尤物在线精品首页| 成人毛片在线播放| 青草娱乐极品免费视频| 亚洲欧美日韩成人高清在线一区| 亚洲中久无码永久在线观看软件| 亚洲国产精品一区二区第一页免| 亚洲国产天堂在线观看| 亚洲无码A视频在线|