【笔记】雾计算中移动应用的优先级约束任务调度
目錄
前置
摘要
介紹
模型
應(yīng)用模型
計(jì)算和通信模型
能耗模型
問(wèn)題定義
NP難
預(yù)功率分配算法
能量約束調(diào)度
算法1:具有啟發(fā)式H的能量約束列表調(diào)度(ECLS-H)
時(shí)間約束調(diào)度
算法2:具有啟發(fā)式H的時(shí)間約束列表調(diào)度(TCLS-H)
后功率分配算法
能量約束調(diào)度
算法3:具有啟發(fā)式H的能量約束逐級(jí)調(diào)度(ECLL-H)
時(shí)間約束調(diào)度
算法4:具有啟發(fā)式H的時(shí)間約束逐層調(diào)度(TCLL-H)
前置
什么是霧計(jì)算【來(lái)自百度】
霧計(jì)算是一種對(duì)云計(jì)算概念的延伸,它主要使用的是邊緣網(wǎng)絡(luò)中的設(shè)備,數(shù)據(jù)傳遞具有極低時(shí)延。霧計(jì)算具有遼闊的地理分布,帶有大量網(wǎng)絡(luò)節(jié)點(diǎn)的大規(guī)模傳感器網(wǎng)絡(luò)。霧計(jì)算移動(dòng)性好,手機(jī)和其他移動(dòng)設(shè)備可以互相之間直接通信,信號(hào)不必到云端甚至基站去繞一圈,支持很高的移動(dòng)性和更多的邊緣節(jié)點(diǎn)。
| 云計(jì)算 | 霧計(jì)算 |
| 以IT運(yùn)營(yíng)商服務(wù),社會(huì)公有云為主的 | 以量制勝,強(qiáng)調(diào)數(shù)量,不管單個(gè)計(jì)算節(jié)點(diǎn)能力多么弱都要發(fā)揮作用 |
| 強(qiáng)調(diào)整體計(jì)算能力,一般由一堆集中的高性能計(jì)算設(shè)備完成計(jì)算 | 將網(wǎng)絡(luò)計(jì)算從網(wǎng)絡(luò)中心擴(kuò)展到了網(wǎng)絡(luò)邊緣,從而更加廣泛地應(yīng)用于各種服務(wù) |
| 幾乎全部保存在云中 | 將數(shù)據(jù)、數(shù)據(jù)處理和應(yīng)用程序集中在網(wǎng)絡(luò)邊緣的設(shè)備中,數(shù)據(jù)的存儲(chǔ)及處理更依賴本地設(shè)備,而非服務(wù)器 |
摘要
霧計(jì)算環(huán)境面臨優(yōu)先級(jí)約束、功率分配和性能成本權(quán)衡的多重挑戰(zhàn)。我們應(yīng)對(duì)這三個(gè)挑戰(zhàn)的策略描述如下。首先,在功率分配前算法和后功率分配算法中,優(yōu)先級(jí)約束分別由經(jīng)典列表調(diào)度算法和逐級(jí)調(diào)度方法處理。其次,在功率分配前算法(后功率分配算法)中,在確定計(jì)算卸載策略之前(后)確定功率分配策略。第三,通過(guò)定義能量約束調(diào)度問(wèn)題和時(shí)間約束調(diào)度問(wèn)題來(lái)處理性能-成本權(quán)衡。
我們開(kāi)發(fā)了一類基于經(jīng)典列表調(diào)度算法和等能量方法的預(yù)功率分配算法,用于能量約束和時(shí)間約束調(diào)度。我們開(kāi)發(fā)了一類用于能量約束和時(shí)間限制調(diào)度的后功率分配算法,這些算法基于逐級(jí)調(diào)度方法和我們先前提出的獨(dú)立任務(wù)算法。我們通過(guò)對(duì)隨機(jī)生成的有向無(wú)環(huán)圖的移動(dòng)應(yīng)用進(jìn)行廣泛實(shí)驗(yàn),對(duì)所提出的算法進(jìn)行了評(píng)估,并確定了最有效和最高效的啟發(fā)式算法。目前沒(méi)有相關(guān)的研究。
介紹
在用戶設(shè)備(user equipment, UE)上生成的移動(dòng)應(yīng)用程序可以分解為具有優(yōu)先級(jí)約束的多個(gè)任務(wù),這些任務(wù)可以任意復(fù)雜。此外,這些任務(wù)可能具有非常不同的計(jì)算和通信要求。這種復(fù)雜的移動(dòng)應(yīng)用超出了移動(dòng)設(shè)備用于及時(shí)處理的計(jì)算能力。
在移動(dòng)邊緣云(mobile edge cloud, MEC)中的服務(wù)器的幫助下,可以將移動(dòng)應(yīng)用程序的任務(wù)卸載到MEC服務(wù)器。計(jì)算卸載(Computation offloading)提供了增強(qiáng)UE的計(jì)算能力并延長(zhǎng)UE的電池壽命的有效手段。通過(guò)MEC, UE可以在更短的時(shí)間內(nèi)完成應(yīng)用,而代價(jià)是額外的通信時(shí)間。UE可以節(jié)省用于計(jì)算的能量消耗,延長(zhǎng)電池使用時(shí)間,而代價(jià)是用于通信的額外能量。
具有優(yōu)先約束任務(wù)的移動(dòng)應(yīng)用的計(jì)算卸載成為在霧計(jì)算環(huán)境中調(diào)度移動(dòng)應(yīng)用的優(yōu)先約束任務(wù)。霧計(jì)算引入了一些與傳統(tǒng)節(jié)能任務(wù)調(diào)度系統(tǒng)截然不同的新的獨(dú)特功能,并且霧計(jì)算環(huán)境是一個(gè)復(fù)雜且難以管理的計(jì)算平臺(tái)。首先,UE不將其所有任務(wù)卸載到MEC。第二,UE不能改變和控制MEC的計(jì)算速度,而只能改變和控制其自身的計(jì)算速度和與MEC的通信速度。第三,在處理能量延遲權(quán)衡時(shí),僅考慮UE中計(jì)算和通信的能量消耗(MECs中的能量消耗不考慮在內(nèi))。第四,霧計(jì)算表現(xiàn)出強(qiáng)烈的異構(gòu)性。
在異構(gòu)霧計(jì)算環(huán)境中調(diào)度移動(dòng)應(yīng)用程序的優(yōu)先級(jí)受限任務(wù)存在多個(gè)挑戰(zhàn)。首先,需要確定計(jì)算卸載策略,以滿足任務(wù)之間的所有優(yōu)先約束。其次,需要確定功率分配策略,對(duì)于每個(gè)任務(wù),該策略給出本地執(zhí)行的計(jì)算速度或遠(yuǎn)程執(zhí)行的通信速度。第三,在定義優(yōu)化問(wèn)題時(shí),應(yīng)考慮性能(即總執(zhí)行時(shí)間)和成本(即總能耗)。
模型
應(yīng)用模型
假設(shè)UE具有移動(dòng)應(yīng)用A = (L, ?)。存在任務(wù)列表。每個(gè)任務(wù)被指定為,其中是的計(jì)算需求(計(jì)算量),是的通信要求(UE和MEC之間要通信的數(shù)據(jù)量)。
任務(wù)之間存在優(yōu)先級(jí)約束,這些約束由偏序?指定。如果,則是的前身,并且任務(wù)在任務(wù)完成之前不能開(kāi)始其執(zhí)行。
具有優(yōu)先約束任務(wù)的移動(dòng)應(yīng)用程序可以用有向無(wú)環(huán)圖(dag)G來(lái)描述。G中的頂點(diǎn)是L中的m個(gè)任務(wù)。G中弧的給定方式是,當(dāng)且僅當(dāng)時(shí),存在從到的弧。
計(jì)算和通信模型
假設(shè)存在n個(gè)異構(gòu)MEC,即。每個(gè)具有計(jì)算速度(處理器執(zhí)行速度,不能被UE改變)。
每個(gè)任務(wù)可以在UE或MEC上執(zhí)行,任務(wù)執(zhí)行時(shí)間包括計(jì)算時(shí)間和通信時(shí)間。
①如果沒(méi)有卸載并在UE上以計(jì)算速度(可由UE決定)本地執(zhí)行,則UE上的計(jì)算時(shí)間為。沒(méi)有用于本地執(zhí)行的通信時(shí)間。
在UE上本地執(zhí)行的的執(zhí)行時(shí)間為.
?②如果被卸載到并在上遠(yuǎn)程執(zhí)行,則上的計(jì)算時(shí)間為。UE與之間的的通信速度為(數(shù)據(jù)傳輸速率,可由UE決定)。對(duì)于,UE和之間的通信時(shí)間(以秒為單位)為。
在上遠(yuǎn)程執(zhí)行的的執(zhí)行時(shí)間為
能耗模型
UE的功耗P中有兩個(gè)分量用于計(jì)算,即動(dòng)態(tài)功耗和靜態(tài)功耗。
動(dòng)態(tài)分量,其中ξ和α是由該技術(shù)確定的一些常數(shù)。
靜態(tài)分量通常是常數(shù)
因此,我們得到。
若未卸載并在計(jì)算速度為的UE上本地執(zhí)行,則功耗為,并且UE上的計(jì)算能耗為。
注意,UE除了消耗用于計(jì)算的功率之外,還消耗用于通信的功率。
設(shè)為任務(wù)的UE到的傳輸功率,, 其中,是信道帶寬,是各種因素的組合量,如背景噪聲功率、其他設(shè)備對(duì)同一MEC的數(shù)據(jù)傳輸對(duì)通信信道造成的干擾以及UE和之間的信道增益。
從UE到的ti通信能耗為
注意,對(duì)于UE上的本地執(zhí)行,僅考慮計(jì)算能耗,而對(duì)于MEC上的遠(yuǎn)程執(zhí)行,只考慮通信能耗。移動(dòng)應(yīng)用程序的總能耗為,這是移動(dòng)應(yīng)用程序主要的成本度量。
問(wèn)題定義
移動(dòng)應(yīng)用程序A的計(jì)算卸載策略(也稱為調(diào)度)是為每個(gè)任務(wù)決定何時(shí)(執(zhí)行的開(kāi)始時(shí)間)和何處(執(zhí)行的位置,UE或MEC),合法的計(jì)劃必須確保所有任務(wù)遵循優(yōu)先約束。
若,則有(前一個(gè)任務(wù)的開(kāi)始時(shí)間+執(zhí)行時(shí)間 ≤ 下一個(gè)任務(wù)的開(kāi)始時(shí)間)。功率分配策略是為每個(gè)任務(wù)ti決定如何執(zhí)行ti,我們使用T表示完成L中所有任務(wù)的總執(zhí)行時(shí)間(即完成時(shí)間),這是移動(dòng)應(yīng)用程序的主要性能度量。
給定移動(dòng)應(yīng)用A=(L,?) 其中,在具有n個(gè)MEC的霧計(jì)算環(huán)境中(具有計(jì)算速度和能量約束):
能量約束調(diào)度問(wèn)題是為UE和MEC上的L中的所有任務(wù)找到計(jì)算卸載策略和功率分配策略,使得E不超過(guò),并且最小化T。?
時(shí)間約束調(diào)度問(wèn)題是為UE和MEC上的L中的所有任務(wù)找到計(jì)算卸載策略和功率分配策略,使得T不超過(guò),并且最小化E。
NP難
證明過(guò)程暫且忽略
定理1 即使對(duì)于獨(dú)立任務(wù)和只有一個(gè)MEC,能量約束調(diào)度問(wèn)題也是NP困難的。
定理2?即使對(duì)于獨(dú)立任務(wù)和只有一個(gè)MEC,時(shí)間約束調(diào)度問(wèn)題也是NP困難的。
預(yù)功率分配算法
能量約束調(diào)度
預(yù)功率分配有幾種方法。在等速方法中,所有任務(wù)具有相同的計(jì)算速度。這在霧計(jì)算中是不可能的,因?yàn)?strong>UE不能改變MEC的計(jì)算速度。在等時(shí)間方法中,所有任務(wù)的執(zhí)行時(shí)間相同。這在霧計(jì)算中也是不可能的,因?yàn)?strong>UE只能控制通信時(shí)間。
在本文中,我們采用了等能量方法,其中所有任務(wù)消耗相同的能量,即。
其優(yōu)點(diǎn)在于,當(dāng)在UE或MEC上調(diào)度任務(wù)時(shí),可以立即確定其計(jì)算或通信速度。
①如果沒(méi)有以計(jì)算速度卸載并在UE上本地執(zhí)行,則有:
?當(dāng)α = 2時(shí),有
(即)?。因此,等式(18)可以通過(guò)使用標(biāo)準(zhǔn)二分法進(jìn)行數(shù)值求解,在區(qū)間之前搜索最佳.
后續(xù)推理如下述(20)~(22)式所示:【公式(20)暫時(shí)沒(méi)理解如何推出來(lái)】
②如果被卸載到并在上遠(yuǎn)程執(zhí)行,則有:
根據(jù)泰勒級(jí)數(shù)(25)我們可推出不等式(26),再根據(jù)公式(24)替換即可得出不等式(27),如下所示:
?
則可以由下述式子表示:
?因此,等式(24)可以通過(guò)使用標(biāo)準(zhǔn)二分法進(jìn)行數(shù)值求解,在區(qū)間之前搜索最佳,滿足公式(29)(30).
算法1:具有啟發(fā)式H的能量約束列表調(diào)度(ECLS-H)
算法1中介紹了我們的具有預(yù)功率分配的能量約束調(diào)度算法,稱為具有啟發(fā)式H的能量約束列表調(diào)度(ECLS-H)(H參見(jiàn)第5.1節(jié))。
輸入:A=(L,?), 其中,,, 和。
輸出:計(jì)算卸載策略和功率分配策略,以使E不超過(guò),并使T最小化。
我們將定義為索引j,使得;
我們將定義為索引j,使得
該算法本質(zhì)上是適用于霧計(jì)算環(huán)境的經(jīng)典列表調(diào)度算法[3]。通過(guò)預(yù)功率分配,當(dāng)任務(wù)計(jì)劃執(zhí)行時(shí),任務(wù)的執(zhí)行時(shí)間可用。
第1行 ?用啟發(fā)式H初始化列表L;
第2行 ?變量T動(dòng)態(tài)地記錄當(dāng)前時(shí)間作為時(shí)間表的移動(dòng);
第3-9行 ?for循環(huán)在時(shí)間0(第(5)行)調(diào)度第一批就緒任務(wù)(第(3)行)。
? 第6行 ?設(shè)表示當(dāng)前在上運(yùn)行的任務(wù)的剩余執(zhí)行時(shí)間, 為了方便,我們將UE設(shè)置為。
第10-25行 ?while循環(huán)調(diào)度剩余任務(wù)。在每次重復(fù)中,執(zhí)行以下操作。
? 第11行 ?首先,識(shí)別最早完成其當(dāng)前任務(wù)的MECj。
? 第12行 ?其次,時(shí)鐘移動(dòng)到完成當(dāng)前任務(wù)的時(shí)刻。
? 第13-17行 ?第三,每個(gè)繁忙MEC的剩余執(zhí)行時(shí)間(14)由第13-17行中的for循環(huán)更新(15)。
? 第18-24行 ?第四,下一批就緒任務(wù)(18)由第18-24行中的for循環(huán)在時(shí)間T(20)調(diào)度。如果j=0,則(第6和21行)的執(zhí)行時(shí)間為,其中通過(guò)求解等式(18)找到;如果j>0,則,其中通過(guò)等式(24)找到。該算法告訴何時(shí)何地(第5和20行)以及如何(第6和21行)執(zhí)行
當(dāng)?shù)仁?#xff08;18)或等式(24)由于能量分配不足而無(wú)法求解時(shí),UE或被認(rèn)為不可用并被跳過(guò)。
算法1的總體時(shí)間復(fù)雜度為
時(shí)間約束調(diào)度
算法2:具有啟發(fā)式H的時(shí)間約束列表調(diào)度(TCLS-H)
算法2中提出了一種具有預(yù)功率分配的時(shí)間約束調(diào)度算法,稱為具有啟發(fā)式H的時(shí)間約束列表調(diào)度(TCLS-H)。
輸入:A=(L,?), 其中,,?,和。
輸出:計(jì)算卸載策略和功率分配策略,以使T不超過(guò),E最小化
當(dāng)在時(shí)間約束調(diào)度中調(diào)度任務(wù)以保證時(shí)間約束時(shí),很難確定計(jì)算或通信速度。我們的戰(zhàn)略是采用兩個(gè)階段的過(guò)程。
在第一階段(第1-5行),我們發(fā)現(xiàn)使得通過(guò)ECLS-H算法獲得的T(第3行)不長(zhǎng)于(第5行)。這可以通過(guò)將設(shè)置為某個(gè)合理值(第1行)并逐漸增加(第4行)直到。
在第二階段(第6-13行),每個(gè)任務(wù)(第7行)的執(zhí)行時(shí)間按因子(第6行)縮放,通過(guò)如下降低計(jì)算或通信速度。
如果在UE上(第8行)調(diào)度任務(wù),則被改變?yōu)?#xff0c;使得,使得(第9行)。
如果在(第10行)上調(diào)度任務(wù),則將更改為,使得,從而得到(第11行)。注意,這種執(zhí)行時(shí)間縮放不影響任務(wù)之間的優(yōu)先級(jí)約束和執(zhí)行任務(wù)的位置,只影響任務(wù)執(zhí)行的開(kāi)始時(shí)間。
在計(jì)算和通信速度降低之后,任務(wù)不再消耗相同量的能量。然而,這根本不是問(wèn)題,因?yàn)槲覀冏畛醯哪康氖钱a(chǎn)生計(jì)算卸載策略和功率分配策略,以滿足時(shí)間約束。如果在第一階段調(diào)用ECLS-H算法K次,則算法2的總體時(shí)間復(fù)雜度為,K值取決于E的初始值和增量?E。
后功率分配算法
能量約束調(diào)度
有向無(wú)環(huán)圖可以分解為v個(gè)級(jí)別,其中級(jí)別定義如下。
1級(jí)由初始任務(wù)組成,即沒(méi)有前導(dǎo)任務(wù)的任務(wù)。如果從某個(gè)初始任務(wù)到任務(wù)的最長(zhǎng)路徑上的節(jié)點(diǎn)數(shù)為,則l級(jí)包含任務(wù);
?設(shè)表示級(jí)別中的一組任務(wù), 因此,我們有。
我們采用逐級(jí)調(diào)度方法,即L中的任務(wù)是逐級(jí)調(diào)度的。這意味著只有當(dāng)所有在中的任務(wù)都完成后,中的任務(wù)才可以開(kāi)始執(zhí)行。每個(gè)級(jí)別的進(jìn)度表都是單獨(dú)、獨(dú)立和分別生成的。整個(gè)移動(dòng)應(yīng)用程序的調(diào)度只是的v個(gè)調(diào)度的級(jí)聯(lián)。
算法3:具有啟發(fā)式H的能量約束逐級(jí)調(diào)度(ECLL-H)
由于同一級(jí)別中的所有任務(wù)彼此獨(dú)立,我們可以通過(guò)使用任何啟發(fā)式能量約束調(diào)度算法H對(duì)獨(dú)立任務(wù)進(jìn)行調(diào)度。所有這些算法都具有獨(dú)特的特征,即,在確定計(jì)算卸載策略之后確定功率分配策略。算法3中提出了一種具有后功率分配的能量約束調(diào)度算法,稱為具有啟發(fā)式H的能量約束逐級(jí)調(diào)度(ECLL-H)。
逐級(jí)能量約束調(diào)度的關(guān)鍵問(wèn)題是確定如何將給定能量預(yù)算E~分配給v級(jí)。
輸入:A =(L, ?), 其中,,, 和。
輸出:計(jì)算卸載策略和功率分配策略,以使E不超過(guò),并使T最小化
設(shè)為算法H應(yīng)用于具有能量約束的時(shí)的總執(zhí)行時(shí)間。
第1-3行 ?最初,通過(guò)使用具有一些初始能量分配El的算法H來(lái)調(diào)度每個(gè)級(jí)別Ll。
第4-5行 ?然后,剩余能量(第4行)除以K得到(第5行);
第6-16行 ?while循環(huán)重復(fù)了略多于K次。在每次重復(fù)中,執(zhí)行以下操作:
第一,確定?E,它是一個(gè)隨機(jī)數(shù)γ乘以E',其中γ均勻分布在[0.5,1.0](第10行)。
第二,在以下情況下,選擇導(dǎo)致其總執(zhí)行時(shí)間減少最多,提供額外能量?E(即)的級(jí)(第12行)。
第三,分配級(jí)額外能量?E(第13行)。在分配了所有剩余能量之后,while循環(huán)終止(第6行)。
移動(dòng)應(yīng)用程序的總執(zhí)行時(shí)間T為(第17行)。
Ll的初始能量約束El確定如下。定義,根據(jù)下式,我們可以將設(shè)置為
【注】對(duì)于同一級(jí)別的獨(dú)立任務(wù),我們的啟發(fā)式能量約束調(diào)度算法H將相同的計(jì)算速度分配給在UE上本地執(zhí)行的所有任務(wù),并將相同的通信速度分配給上遠(yuǎn)程執(zhí)行的所有工作。然而,來(lái)自不同級(jí)別的任務(wù)具有不同的計(jì)算速度,即使它們都在UE上本地執(zhí)行,而來(lái)自不同級(jí)別任務(wù)具有不同通信速度,即使他們都在同一MEC上遠(yuǎn)程執(zhí)行.
算法3的時(shí)間復(fù)雜度為
時(shí)間約束調(diào)度
算法4:具有啟發(fā)式H的時(shí)間約束逐層調(diào)度(TCLL-H)
算法4中提出了我們的具有后功率分配的時(shí)間約束調(diào)度算法,稱為具有啟發(fā)式H的時(shí)間約束逐層調(diào)度(TCLL-H)。
輸入:A=(L,?), 其中,,?,和。
輸出:計(jì)算卸載策略和功率分配策略,以使T不超過(guò),E最小化
逐級(jí)時(shí)間約束調(diào)度中的關(guān)鍵問(wèn)題是確定如何將給定的時(shí)間預(yù)算T分配給v級(jí)。
設(shè)為算法H應(yīng)用于具有時(shí)間約束的時(shí)的總能耗。
第1-3行 ?最初,通過(guò)使用算法H和一些初始時(shí)間分配Tl來(lái)調(diào)度每個(gè)級(jí)別Ll。
第4-5行 ?然后,附加時(shí)間(第4行)除以K得到(第5行);
第6-16行 ?while循環(huán)重復(fù)略多于K次。在每次重復(fù)中,執(zhí)行以下操作:
第一,確定?T,它是一個(gè)隨機(jī)數(shù)γ乘以,其中γ均勻分布在[0.5,1.0](第10行)
第二,選擇導(dǎo)致其總能耗增量最小,時(shí)間量?T減少(即)的級(jí)(第12行)
第三,級(jí)的執(zhí)行時(shí)間減少了?T(第13行)。
while循環(huán)在所有附加時(shí)間減少后終止(第6行)。移動(dòng)應(yīng)用程序的總能耗E為(第17行)。
的初始時(shí)間約束確定如下:
?
算法4的總時(shí)間復(fù)雜度為
總結(jié)
以上是生活随笔為你收集整理的【笔记】雾计算中移动应用的优先级约束任务调度的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【PHM】PHM算法与智能分析技术——数
- 下一篇: bat倒计时