靳紫薇,郭會明,焦 函
(1.中國航天科工集團(tuán)第二研究院,北京 100039;2.北京航天長峰股份有限公司,北京 100039)
隨著物聯(lián)網(wǎng)及相關(guān)技術(shù)的發(fā)展,海量終端設(shè)備加入互聯(lián)網(wǎng),形成萬物互聯(lián)的網(wǎng)絡(luò)空間。面對終端和用戶的海量請求,云計算難以滿足終端低延遲與及時響應(yīng)的要求。邊緣計算應(yīng)運(yùn)而生,文獻(xiàn)[1]首次正式定義了邊緣計算:允許在網(wǎng)絡(luò)邊緣對代表云服務(wù)的下游數(shù)據(jù)和代表物聯(lián)網(wǎng)服務(wù)的上游數(shù)據(jù)進(jìn)行處理的新型計算范式。
云中心與邊緣設(shè)備的硬件異構(gòu)性、地理位置差異性導(dǎo)致了二者適用任務(wù)不同。傳統(tǒng)云計算具有強(qiáng)大的集中式計算能力和存儲能力,比較適合長周期,非實時性的數(shù)據(jù)處理。邊緣計算與用戶地理位置更為接近,但受限于計算和通信能力、續(xù)航能力,邊緣計算更適合短周期、實時性的數(shù)據(jù)處理。在云邊計算模型下,“如何協(xié)同”成為當(dāng)下研究人員謀求突破的一大難點(diǎn)。在云邊環(huán)境下,合理分配用戶任務(wù)能夠?qū)崿F(xiàn)硬件資源與用戶需求的高效映射,能夠提高整個系統(tǒng)的性能與效率、降低成本與能耗、滿足用戶服務(wù)質(zhì)量。然而,任務(wù)調(diào)度本身是一個NP-難問題,同時,云-邊、邊-邊資源異構(gòu)性、虛擬化技術(shù)的發(fā)展也為任務(wù)調(diào)度優(yōu)化問題提出了嚴(yán)峻的挑戰(zhàn)。資源管理與任務(wù)調(diào)度作為云邊協(xié)同計算模型至關(guān)重要亦是不可回避的關(guān)鍵環(huán)節(jié),成為當(dāng)下研究的重點(diǎn)與難點(diǎn)。
縮短執(zhí)行時間和降低成本是大多數(shù)調(diào)度算法重點(diǎn)關(guān)注的兩種優(yōu)化目標(biāo),除此之外,調(diào)度算法的研究通常也考慮了其他一些性能指標(biāo):負(fù)載均衡、能耗等。
云邊環(huán)境下,任務(wù)的執(zhí)行時間是指節(jié)點(diǎn)提交任務(wù)請求至收到云邊系統(tǒng)的任務(wù)執(zhí)行結(jié)果的整個過程所需的響應(yīng)時間。任務(wù)的執(zhí)行時延取決于任務(wù)本身的量級和任務(wù)被分配的資源容量,文獻(xiàn)[4]通過實驗比較了純云、純邊緣和云邊混合處理執(zhí)行MapReduce 任務(wù)集種不同應(yīng)用的性能,分析得出不同的應(yīng)用適用于不同的處理方式,而合理的調(diào)度方案能夠?qū)崿F(xiàn)任務(wù)與資源的高效映射,縮短執(zhí)行時延。
對計算時間和云邊通信時間的優(yōu)化是縮短執(zhí)行時延的有效手段,也是當(dāng)前研究的熱點(diǎn)。文獻(xiàn)[5]考慮到云邊節(jié)點(diǎn)處理速度差異,將云邊環(huán)境下的任務(wù)調(diào)度問題執(zhí)行時間最小化問題抽象為將基于邏輯的Benders 分解(LBBD)原理與混合整數(shù)線性規(guī)劃(MILP)模型相結(jié)合的求解,實現(xiàn)任務(wù)到異構(gòu)計算節(jié)點(diǎn)的映射。由于云邊架構(gòu)的地理位置、帶寬差異等特性,任務(wù)卸載至不同位置的服務(wù)器將帶來不同的通信開銷。相比于傳統(tǒng)云計算,這種通信差異在云邊環(huán)境下導(dǎo)致了不可忽略的執(zhí)行時間的影響。文獻(xiàn)[6]考慮了邊緣計算和云計算的數(shù)據(jù)分布特點(diǎn),與云邊之間的數(shù)據(jù)帶寬、邊緣端數(shù)據(jù)中心數(shù)量和邊緣數(shù)據(jù)中心的存儲容量等影響因素,提出了一種混合遺傳算子的自適應(yīng)粒子群優(yōu)化算法,有效減小工作流調(diào)度在云端與邊緣端之間的數(shù)據(jù)傳輸時延。
成本取決于能耗與執(zhí)行時間,同時也與設(shè)備損耗相關(guān)。其他一些研究還考慮了云邊的設(shè)備狀態(tài)差異、結(jié)構(gòu)差異等因素,如文獻(xiàn)[7-9]使用動態(tài)電源管理、動態(tài)電壓頻率縮放、松弛回收、資源休眠等技術(shù)有效減少了計算資源的能耗。
文獻(xiàn)[10]通過電壓動態(tài)調(diào)整技術(shù),在滿足任務(wù)截至?xí)r間約束的前提下,達(dá)到系統(tǒng)能耗最小化。文獻(xiàn)[11]通過分析計算節(jié)點(diǎn)功耗與設(shè)備資源利用率之間的關(guān)系,推斷出作業(yè)執(zhí)行能耗和最佳資源利用率,通過感知資源利用率,提出具有能源感知的啟發(fā)式調(diào)度算法,將貪心策略與搜索優(yōu)化方法相結(jié)合,提出了混合粒子群優(yōu)化算法,作用于任務(wù)調(diào)度,提高了該算法的全局優(yōu)化能力,降低了工作的平均能耗。
云邊環(huán)境下,負(fù)載均衡表示系統(tǒng)內(nèi)不同節(jié)點(diǎn)負(fù)載的均勻程度,可通過公式(1)表示。其中,u表示第個節(jié)點(diǎn)的資源利用率,-表示系統(tǒng)內(nèi)設(shè)備平均資源利用率,表示系統(tǒng)內(nèi)設(shè)備數(shù)目。
文獻(xiàn)[12]針對異構(gòu)云環(huán)境,提出了具有物聯(lián)網(wǎng)感知的多資源任務(wù)調(diào)度算法,主要針對計算資源負(fù)載均衡和時間均衡。文獻(xiàn)[13]針對云計算的復(fù)雜能耗問題,提出了一種基于云霧計算的能源感知型調(diào)度算法,從軟件定義網(wǎng)絡(luò)架構(gòu)和云霧計算負(fù)載均衡算法入手,一方面分散了霧節(jié)點(diǎn)和云計算系統(tǒng)的異構(gòu)計算數(shù)據(jù),另一方面,定義了網(wǎng)絡(luò)的的集中信息和分布式調(diào)度程序,以橢圓分割區(qū)域為對象,實施部署數(shù)據(jù)共享和異構(gòu)云霧計算任務(wù)的最佳分配。
本節(jié)針對云邊環(huán)境,按以下分類方法梳理了當(dāng)前任務(wù)調(diào)度算法的發(fā)展歷程與研究現(xiàn)狀,介紹了各類算法的策略思想與優(yōu)缺點(diǎn)。
圖1 任務(wù)調(diào)度算法分類
啟發(fā)式算法的算法思想比較簡單直觀,它基于經(jīng)驗,在可接受時間內(nèi)中給出待解決問題的一個可行解。啟發(fā)式任務(wù)調(diào)度算法大致分為三類:基于列表的算法、基于任務(wù)復(fù)制的算法和基于聚類的算法。
2.1.1 基于列表的調(diào)度算法
基于列表的調(diào)度算法是當(dāng)前研究最廣泛的啟發(fā)式算法,通?;诹斜淼恼{(diào)度算法包含兩個主要階段:第一階段是列表優(yōu)先級排序,基于優(yōu)先級度量為每個任務(wù)分配優(yōu)先級;第二階段是任務(wù)映射,按照優(yōu)先級和約束條件為每個任務(wù)匹配適當(dāng)?shù)奈锢碣Y源。
其中最著名的就是異構(gòu)最早完成時間算法(HEFT), 該算法思想對后來基于列表的調(diào)度算法產(chǎn)生了深遠(yuǎn)的影響。HEFT 首先計算各任務(wù)的優(yōu)先級,然后按優(yōu)先級進(jìn)行排序并依次分配任務(wù)給最早空閑的實例上。傳統(tǒng)HEFT算法通??紤]調(diào)度時延作為優(yōu)先級排序的標(biāo)準(zhǔn),但目前也有學(xué)者研究將HEFT 算法擴(kuò)展到多目標(biāo)空間,應(yīng)對復(fù)雜的云邊環(huán)境異構(gòu)資源管理場景。文獻(xiàn)[16]提出了FDHEFT 算法,將模糊優(yōu)勢排序機(jī)制作為優(yōu)先級計算方式,實現(xiàn)了云霧環(huán)境中調(diào)度成本和完成時間的聯(lián)合優(yōu)化,但是對云霧節(jié)點(diǎn)間的通信和存儲開銷等考慮不夠充分。傳統(tǒng)的列表調(diào)度算法準(zhǔn)確度高度依賴于任務(wù)基于硬件的執(zhí)行前估計,而云邊計算允許設(shè)備自由接入接出,硬件環(huán)境頻繁改變,使得估計難以實現(xiàn)。當(dāng)前研究對這一缺陷也有突破,文獻(xiàn)[17]提出了SHEFT 算法,考慮資源數(shù)量可以根據(jù)服務(wù)請求彈性擴(kuò)展,允許在調(diào)度過程中動態(tài)變化,實現(xiàn)了工作流的彈性調(diào)度,滿足了實際云邊環(huán)境下資源按需分配、彈性伸縮的應(yīng)用場景,但是未能考慮云邊異構(gòu)的通信能力和邊緣設(shè)備的管理。
除此之外,基于列表的調(diào)度算法研究的另一重要成果是處理器上關(guān)鍵路徑算法(CPOP),該算法也對后續(xù)研究產(chǎn)生了深遠(yuǎn)影響。文獻(xiàn)[18]對CPOP算法進(jìn)行改進(jìn)提出了新的調(diào)度算法CPOC,為關(guān)鍵路徑任務(wù)分配一個硬件集群,更細(xì)粒度的資源分配進(jìn)一步縮短了關(guān)鍵路徑處理時間,但同時引入了任務(wù)間的數(shù)據(jù)通信開銷,導(dǎo)致該算法不適用于云邊下通信能力存在差異的場景。
2.1.2 基于復(fù)制的調(diào)度算法
為解決邊緣節(jié)點(diǎn)計算資源、網(wǎng)絡(luò)帶寬、電池壽命受限問題,計算遷移技術(shù)應(yīng)運(yùn)而生,極大擴(kuò)充了任務(wù)分配方案的選擇:將終端的計算任務(wù)遷移到資源更為豐富的設(shè)備上、將云中心的計算下沉至邊緣節(jié)點(diǎn)、對任務(wù)進(jìn)行細(xì)粒度拆分并使用多個資源協(xié)同計算,計算遷移使得相互依賴任務(wù)在不同設(shè)備間的數(shù)據(jù)傳輸時延問題愈發(fā)嚴(yán)重?;趶?fù)制的調(diào)度算法通過冗余計算的方法來減少此類開銷,優(yōu)化調(diào)度。其主要方法是將具有數(shù)據(jù)依賴的任務(wù)分配給相同的實例單元來避免文件傳輸,從而減少任務(wù)間通信開銷。
基于復(fù)制的調(diào)度算法分為兩類:部分復(fù)制的調(diào)度(SPD)和完整復(fù)制的調(diào)度(SFD)算法。SPD 算法只允許復(fù)制關(guān)鍵路徑上的任務(wù),因此具有較低的時間復(fù)雜度,但是對于數(shù)據(jù)流較大的系統(tǒng)該方法并不適用。SFD 算法可以復(fù)制聯(lián)接節(jié)點(diǎn)的所有父任務(wù),并且可以將任務(wù)復(fù)制到包含聯(lián)接節(jié)點(diǎn)的所有VM實例。這使得該算法具有更好的性能,但同時也提高了任務(wù)的復(fù)雜度。文獻(xiàn)[19]提出了一種LSTD 算法,在不增加整體時間復(fù)雜度的情況下,引入任務(wù)復(fù)制策略,嘗試在最早空閑的兩個節(jié)點(diǎn)上插入任務(wù),保障任務(wù)調(diào)度的可靠性,但是插入節(jié)點(diǎn)的選擇可能會導(dǎo)致任務(wù)整體的執(zhí)行時延增加。文獻(xiàn)[20]提出了一種基于任務(wù)復(fù)制和插入的調(diào)度算法(DILS),結(jié)合動態(tài)完成時間預(yù)測,將部分任務(wù)復(fù)制到不同節(jié)點(diǎn),并插入空閑時隙,以加快后續(xù)任務(wù)的執(zhí)行。在不影響整體調(diào)度時延的前提下降低任務(wù)間通信時間,但是插入時隙的選擇依賴于任務(wù)的預(yù)先估計,且會帶來更高量級的時間復(fù)雜度。
2.1.3 基于聚類的調(diào)度算法
云邊環(huán)境中,常常存在云、霧、邊的設(shè)備差異性與地理位置差異性,各節(jié)點(diǎn)實例間存在通信開銷差異。為了提高各數(shù)據(jù)中心內(nèi)聚性、降低不同數(shù)據(jù)中心之間的耦合性,基于聚類的調(diào)度算法通過將存在大量通信的任務(wù)組合到同一個集合中并進(jìn)行統(tǒng)一分配,從而實現(xiàn)云與邊緣設(shè)備的低傳輸延遲,在多個數(shù)據(jù)中心之間保持負(fù)載平衡和有效的資源利用率。
文獻(xiàn)[21]提出了一種基于任務(wù)聚類(HTTSC)的混合調(diào)度算法,巧妙地將任務(wù)聚類的方法與任務(wù)復(fù)制相結(jié)合。該方法首先根據(jù)任務(wù)間通信開銷將任務(wù)聚類為多個簇,將任務(wù)復(fù)制的對象由單個任務(wù)轉(zhuǎn)變?yōu)槿蝿?wù)簇,縮短了通信開銷,并提前了后續(xù)任務(wù)的開始時間,但是多種調(diào)度方法的結(jié)合也增加了調(diào)度算法的復(fù)雜性,在云計算實時調(diào)度場景下應(yīng)用效果不佳。文獻(xiàn)[22]提出使用顯性序列聚類(DSC)將任務(wù)劃分為不同的簇;使用內(nèi)核函數(shù)均值漂移聚類(MSE)對虛擬機(jī)進(jìn)行實例聚類,之后根據(jù)硬件權(quán)重和負(fù)載情況匹配節(jié)點(diǎn)簇與任務(wù)簇,該算法創(chuàng)新性地將任務(wù)和節(jié)點(diǎn)都進(jìn)行聚類,減少了通信開銷,但是每個任務(wù)均需要調(diào)用MHEFT 算法計算權(quán)重,導(dǎo)致該算法時間復(fù)雜度提高了一個量級。文獻(xiàn)[23]提出了一種基于三路決策的聚類權(quán)重算法(TWCW),使用三向K-means 聚類將任務(wù)劃分多個簇,并包含核心區(qū)域、邊緣區(qū)域、模糊區(qū)域,根據(jù)聚類中心的屬性偏好進(jìn)行調(diào)度,使任務(wù)簇盡可能執(zhí)行在適合的設(shè)備上,該方案顯著提高服務(wù)質(zhì)量(QoS),降低能耗。由于其簡單的任務(wù)適配在多任務(wù)場景下導(dǎo)致負(fù)載不均,降低系統(tǒng)資源利用率,使得QoS下降。
元啟發(fā)式算法是隨機(jī)算法與局部搜索算法相結(jié)合的產(chǎn)物。元啟發(fā)式任務(wù)調(diào)度算法主要包括群體智能算法和機(jī)器學(xué)習(xí)算法。
2.2.1 群體智能算法
與基于貪婪的局部最優(yōu)選擇思想的啟發(fā)式任務(wù)調(diào)度算法不同,群體智能算法是隨機(jī)初始化和局部搜索算法相結(jié)合的產(chǎn)物,它規(guī)避了啟發(fā)式算法針對不同問題實例產(chǎn)生不一致結(jié)果的問題,這類算法很大程度上參考了生物特性,具有很強(qiáng)的適應(yīng)性。許多著名的元啟發(fā)式算法已經(jīng)得到了廣泛應(yīng)用,包括遺傳算法(GA)、粒子群優(yōu)化(PSO)、布谷鳥搜索(CS)等。但是,元啟發(fā)式算法的搜索過程隨問題的不同而變化,并且具有隨機(jī)性大,全局搜索效率低以及后期迭代收斂過早的缺點(diǎn)。許多專家學(xué)者為改善這一不足進(jìn)行了深入研究。文獻(xiàn)[24]考慮了數(shù)據(jù)中心之間的帶寬、邊緣數(shù)據(jù)中心的數(shù)量和存儲容量等傳輸時延影響因素,提出了一種帶有遺傳算法交叉和變異算子的自適應(yīng)離散PSO 算法(GA-DPSO),避免了傳統(tǒng)粒子群優(yōu)化算法的早熟收斂,增強(qiáng)了種群進(jìn)化的多樣性,有效壓縮數(shù)據(jù)傳輸時延,提高了系統(tǒng)服務(wù)質(zhì)量。該方法通過固定部分任務(wù)與節(jié)點(diǎn)的映射關(guān)系規(guī)避了種群多樣性多帶來的搜索效率下降問題,但是該策略存在一定缺陷,限制了解空間,影響了調(diào)度結(jié)果。文獻(xiàn)[25]提出了一種改進(jìn)的多目標(biāo)灰狼優(yōu)化算法(IMOGWO),該方法維護(hù)一個非最優(yōu)解外部存檔,通過網(wǎng)格機(jī)制改進(jìn)非最優(yōu)解,領(lǐng)導(dǎo)者選擇機(jī)制更新和替換外部存檔,并且引入了個體密度和細(xì)胞支配概念動態(tài)調(diào)整自適應(yīng)參數(shù),并且以高斯擾動的經(jīng)營學(xué)習(xí)策略緩解過過早收斂問題,該方法在執(zhí)行時間和負(fù)載均衡指標(biāo)上均有顯著提升,但是該方法局限于獨(dú)立任務(wù)調(diào)度,難以適用云計算多任務(wù)調(diào)度場景。
除此之外,亦有諸多研究人員考慮云邊環(huán)境下的其他影響因素,在算法工程化過程中貢獻(xiàn)出智慧。文獻(xiàn)[26]針對云-霧環(huán)境下大規(guī)模異構(gòu)并行結(jié)構(gòu)資源利用率低、數(shù)據(jù)傳輸消耗網(wǎng)絡(luò)帶寬、終端請求對資源需求不同的特點(diǎn),提出了一種改進(jìn)的煙花算法(I-FASC),量化任務(wù)與資源并分類為計算、存儲、帶寬敏感型,將云邊系統(tǒng)內(nèi)各設(shè)備負(fù)載均衡作為優(yōu)化目標(biāo),通過引入煙花爆炸半徑檢測機(jī)制,設(shè)置爆炸半徑最小閾值及半徑參數(shù)自適應(yīng)的方式,提高算法局部搜索能力,改善算法整體效果。但是該算法以獨(dú)熱編碼表示解空間,以歐式距離作為煙花間距忽略了任務(wù)-節(jié)點(diǎn)對的差異性,影響了算法的效果。
群體智能算法相比于啟發(fā)式算法具有更高的時間復(fù)雜度,導(dǎo)致其很難適應(yīng)于云邊環(huán)境下實時調(diào)度場景。隨著云邊環(huán)境下虛擬化技術(shù)的發(fā)展,任務(wù)調(diào)度問題常常與虛擬機(jī)或容器的創(chuàng)建緊密相關(guān)。文獻(xiàn)[27]在Kubernetes框架的基礎(chǔ)上,研究了為Pod選擇虛擬實例時的資源使用成本問題,將蟻群算法和粒子群算法相結(jié)合,對Kubernetes 調(diào)度模塊進(jìn)行了Pod 的節(jié)點(diǎn)部署優(yōu)化。但多容器環(huán)境下任務(wù)存在資源競爭,許多學(xué)者為了研究的方便,對調(diào)度模型進(jìn)行簡化,常常忽略資源爭用導(dǎo)致的執(zhí)行結(jié)果干擾,導(dǎo)致群體智能算法研究中構(gòu)造的適應(yīng)度函數(shù)難以準(zhǔn)確反應(yīng)實際調(diào)度方案的真實性能。
2.2.2 機(jī)器學(xué)習(xí)算法
機(jī)器學(xué)習(xí)算法由于其時間復(fù)雜度問題,在云邊環(huán)境下的任務(wù)調(diào)度領(lǐng)域的應(yīng)用存在一些限制,但也取得了諸多成就。機(jī)器學(xué)習(xí)算法常用于預(yù)測應(yīng)用執(zhí)行情況,進(jìn)一步指導(dǎo)調(diào)度算法,從而提高云邊系統(tǒng)的資源管理能力與調(diào)度效率。
文獻(xiàn)[28]將任務(wù)分類為CPU、Web、IO 密集型,使用主成分分析與回歸分析提取、篩選并評估任務(wù)不同特征指標(biāo)對系統(tǒng)總能耗的貢獻(xiàn),針對異構(gòu)環(huán)境下不同設(shè)備的硬件信息,進(jìn)行云邊數(shù)據(jù)中心設(shè)備實例的能耗建模,為指導(dǎo)資源供應(yīng)和虛擬機(jī)遷移做出參考。該論文考慮了多類任務(wù)在異構(gòu)硬件上運(yùn)行對能耗的不同貢獻(xiàn),對動態(tài)任務(wù)調(diào)度有重要意義,但是該方法要求預(yù)先獲取大量任務(wù)特性,難以滿足云計算實時性要求,具有一定的局限性。文獻(xiàn)[29]中提出了一種基于ANN 的機(jī)器學(xué)習(xí)算法以實現(xiàn)高吞吐量的異構(gòu)系統(tǒng)調(diào)度,該調(diào)度模型使用不同計算資源及其當(dāng)前負(fù)載的統(tǒng)計信息預(yù)測下一個調(diào)度間隔中的任務(wù)行為,獲得資源實例的服務(wù)能力最大化,并為每個資源實例訓(xùn)練兩個模型提高預(yù)測算法的準(zhǔn)確度。根據(jù)預(yù)測結(jié)果預(yù)先分配資源,并根據(jù)任務(wù)行為進(jìn)行對應(yīng)處理,顯著提高系統(tǒng)的吞吐量,但是任務(wù)行為難以預(yù)測,模型預(yù)測準(zhǔn)確度不高。文獻(xiàn)[30]中作者通過在線學(xué)習(xí)的隱馬爾可夫鏈模型,對工作流任務(wù)進(jìn)行預(yù)測,并將篩選部分特征參數(shù)和預(yù)測結(jié)果進(jìn)行在線訓(xùn)練,以此提高任務(wù)調(diào)度的精度,該算法在預(yù)測精度上有明顯提升,改善了文獻(xiàn)[29]預(yù)測精度差的問題,但引入了在線學(xué)習(xí)的時間開銷,增加了調(diào)度模塊的時空復(fù)雜度。
機(jī)器學(xué)習(xí)算法不但在任務(wù)估計中發(fā)揮重要作用,其中的分類算法亦可直接應(yīng)用于任務(wù)調(diào)度。該類算法憑借其極強(qiáng)的適應(yīng)性且具有在線學(xué)習(xí)能力等特點(diǎn),在云邊系統(tǒng)下的調(diào)度過程中,能夠不斷完善算法準(zhǔn)確度,從而提高云邊計算系統(tǒng)服務(wù)質(zhì)量。雖然機(jī)器學(xué)習(xí)算法的時間和空間復(fù)雜度問題,限制了該算法在任務(wù)調(diào)度領(lǐng)域的表現(xiàn)。但是隨著硬件算力的提升,這些問題正得到逐步緩解。機(jī)器學(xué)習(xí)仍然是當(dāng)前云邊環(huán)境下的任務(wù)調(diào)度研究的一大熱點(diǎn)。
諸多研究人員在調(diào)度算法領(lǐng)域取得了諸多成果,但是當(dāng)前研究還存在多種問題。
隨著容器化技術(shù)的發(fā)展,為云計算帶來輕量化的部署和資源管理的同時,也對任務(wù)調(diào)度提出了動態(tài)化要求,容器的遷移使得調(diào)度模塊必須能夠動態(tài)修改調(diào)度策略,此外容器化技術(shù)隔離性差的特點(diǎn),也會導(dǎo)致當(dāng)多個容器部署在同一虛擬機(jī)(VM)內(nèi),任務(wù)間存在相互干擾。虛擬化技術(shù)使得云邊環(huán)境下的任務(wù)調(diào)度研究更加艱難。
當(dāng)前研究通常只通過模擬驗證調(diào)度策略的有效性,例如使用CloudSim、iFogSIm 等軟件建模和模擬整個云計算環(huán)境。調(diào)度策略通常是為管理大型云邊環(huán)境中的大量應(yīng)用程序而設(shè)計的,實際環(huán)境下的驗證成本高昂、耗時過久。當(dāng)前研究受限于研究環(huán)境,難以對調(diào)度方案進(jìn)行頻繁測試。
無服務(wù)器計算是一種事件驅(qū)動的新興云執(zhí)行模型,其中云用戶提供代碼,云提供商管理該代碼執(zhí)行環(huán)境的生命周期。該執(zhí)行模型提供更細(xì)粒度的資源分配,能充分利用分配的資源。同時也為任務(wù)調(diào)度帶來了極大困難,細(xì)粒度的資源分配往往會導(dǎo)致當(dāng)前基于任務(wù)與節(jié)點(diǎn)映射關(guān)系的傳統(tǒng)調(diào)度算法研究失效。
云計算和邊緣計算領(lǐng)域新技術(shù)的發(fā)展為任務(wù)調(diào)度帶來了更多可能性,結(jié)合當(dāng)前需求和技術(shù)發(fā)展進(jìn)行分析,云邊調(diào)度算法的后續(xù)研究可以從以下幾個方面尋求突破。
(1)云邊環(huán)境下自適應(yīng)和智能化任務(wù)劃分和任務(wù)調(diào)度。云邊環(huán)境上應(yīng)用的自適應(yīng)劃分和分配是未來一大發(fā)展方向。為了實現(xiàn)這種細(xì)粒度劃分,需要感知與預(yù)測云邊系統(tǒng)中的節(jié)點(diǎn)特性和運(yùn)行狀態(tài)。與當(dāng)前基于完整任務(wù)的任務(wù)調(diào)度相比,自適應(yīng)的細(xì)粒度任務(wù)劃分能進(jìn)一步降低用戶的操作難度,提高任務(wù)執(zhí)行效率并提升系統(tǒng)的負(fù)載均衡,是未來的一大研究熱點(diǎn)。
(2)跨云環(huán)境下的任務(wù)調(diào)度算法研究。隨著云用戶數(shù)量和任務(wù)計算規(guī)模的急劇增加,在大型跨云服務(wù)環(huán)境中向用戶提供資源將成為未來的重要方向??缭骗h(huán)境為資源管理帶來了更大的挑戰(zhàn),當(dāng)前針對跨云環(huán)境滿足服務(wù)質(zhì)量(QoS)、負(fù)載均衡等調(diào)度目標(biāo)的研究相對匱乏,特別是針對大規(guī)模計算密集型任務(wù)的調(diào)度研究尚處于起步階段。
本文敘述了云邊環(huán)境下,任務(wù)調(diào)度算法的發(fā)展歷程及未來挑戰(zhàn),其中,以啟發(fā)式和元啟發(fā)式算法為劃分詳細(xì)介紹了任務(wù)調(diào)度算法的研究現(xiàn)狀, 在此基礎(chǔ)上,對比和分析了當(dāng)前各類算法的優(yōu)勢與不足,總結(jié)了當(dāng)前云邊環(huán)境下任務(wù)調(diào)度算法面臨的挑戰(zhàn)及未來發(fā)展方向,以期為該領(lǐng)域?qū)W者的后續(xù)研究提供參考。