• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于MapReduce的并行數(shù)據(jù)流調(diào)度策略

      2019-11-17 04:05葛茂松王永利張立銘趙佳彬于占龍張國忠
      電腦知識與技術(shù) 2019年26期

      葛茂松 王永利 張立銘 趙佳彬 于占龍 張國忠

      摘要:本文提出一種基于MapReduce的并行數(shù)據(jù)流調(diào)度策略,包括作業(yè)性能估計策略和任務(wù)調(diào)度策略。通過對過去作業(yè)和任務(wù)信息的統(tǒng)計,對任務(wù)完成時間、所需資源和優(yōu)先級進(jìn)行估算,并以此對作業(yè)進(jìn)行調(diào)度。經(jīng)實驗測試,利用該策略設(shè)計的算法可達(dá)到預(yù)期調(diào)度目標(biāo)。

      關(guān)鍵詞:并行數(shù)據(jù)流;調(diào)度策略;作業(yè)性能

      中圖分類號: TP31? ? ? ? 文獻(xiàn)標(biāo)識碼:A

      文章編號:1009-3044(2019)26-0011-02

      開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID):

      MapReduce是用于大規(guī)模數(shù)據(jù)集的一種并行運(yùn)算模型,可用于分布式查詢、分布式排序、機(jī)器學(xué)習(xí)、文檔聚類等等[1]。MapReduce調(diào)度算法分兩部分:作業(yè)性能估計算法和任務(wù)調(diào)度算法。當(dāng)用戶提交一項作業(yè)時,作業(yè)會被分成多個任務(wù),一個作業(yè)的任務(wù)將由作業(yè)調(diào)度功能將其分配到某個節(jié)點上完成,作業(yè)調(diào)度算法的主要任務(wù)就是選擇一個合適的作業(yè)并將其分配到合適的節(jié)點上[2]。

      2 作業(yè)性能估計策略

      作業(yè)性能估計策略就是,統(tǒng)計出當(dāng)前作業(yè)中的已完成任務(wù)所用的完成時間和任務(wù)數(shù),再根據(jù)這些數(shù)據(jù)推測當(dāng)前作業(yè)中的任務(wù)平均完成時間,然后推測出當(dāng)前執(zhí)行任務(wù)的剩余完成時間。當(dāng)我們就完成對任務(wù)剩余時間的估算后,就可以利用該數(shù)據(jù)作為判斷任務(wù)性能的依據(jù),來確定任務(wù)的優(yōu)先級,再進(jìn)行后期的任務(wù)調(diào)度功能了。

      設(shè)某一項正在運(yùn)行的作業(yè)為m,已完成任務(wù)集合為[Cm],作業(yè)m中的任務(wù)i的完成時間為[αmi]。我們可通過作業(yè)m中的已完成任務(wù)集合[Cm]來推測作業(yè)m中的任務(wù)平均完成時間,若設(shè)任務(wù)m的平均完成時間為[μm],我們有公式1:

      可看出,對于不同的任務(wù)執(zhí)行器[TTt],將會有相應(yīng)的[μtm]。并且由于存在任務(wù)執(zhí)行器之間的異構(gòu),一般情況下,[μtm≠μm]。但是,在本文的調(diào)度算法策略中,我們假設(shè)[μtm=μm]。因為,位于工作節(jié)點中的作業(yè)調(diào)度器,是通過從任務(wù)節(jié)點傳來的心跳函數(shù)被觸發(fā)執(zhí)行的,任務(wù)節(jié)點的心跳函數(shù)包括一些當(dāng)前狀態(tài)信息,例如,目前空閑的執(zhí)行單元數(shù)目等,工作節(jié)點中的作業(yè)調(diào)度器則需要根據(jù)心跳函數(shù)傳來的狀態(tài)信息,來完成它的調(diào)度工作。為了實現(xiàn)快速響應(yīng),我們盡量保持調(diào)度算法簡單。所以,當(dāng)假設(shè)[μtm=μm]時,只需根據(jù)所有正在運(yùn)行的作業(yè)m的平均完成時間就可以估計資源分配情況,其復(fù)雜度為O(M)。但若把所有任務(wù)執(zhí)行器[TTt]以及其平均任務(wù)完成時間[μtm]都考慮在內(nèi)的話,算法的復(fù)雜度將會達(dá)到指數(shù)級別,無法保證作業(yè)調(diào)度器的快速響應(yīng)。

      另外,任務(wù)調(diào)度動態(tài)而高速的,因此,任務(wù)調(diào)度和任務(wù)完成時間的估算也會相隔很短時間就執(zhí)行一次。即使將[μtm≠μm]的情況考慮在內(nèi),并以此得到更為精確的估算調(diào)度算法,其實,對于作業(yè)資源分配的影響也是很小的。

      而且,作業(yè)m的完成時間估算只與那些分配到該作業(yè)m任務(wù)的任務(wù)執(zhí)行器有關(guān),在實際情況中,某作業(yè)執(zhí)行過程中,只與MapReduce集群中的部分任務(wù)執(zhí)行器相關(guān),因此,沒有必要獲取所有任務(wù)執(zhí)行器的平均任務(wù)完成時間[μtm]。

      在調(diào)度算法執(zhí)行過程中,對于任意一個屬于作業(yè)m的正在執(zhí)行的任務(wù)[tmi],我們用公式2表示:

      其中,只有任務(wù)的已運(yùn)行時間[βmi]已知,任務(wù)完成時間[αmi]和任務(wù)剩余時間[δmi]均未知。我們假設(shè)任務(wù)[tmi]的完成時間等于任務(wù)平均完成時間,即[αmi=μm],將其帶入公式,我們可以得到公式3:

      當(dāng)我們完成了對任務(wù)[tmi]的剩余時間[δmi]的估算后,就可以以此作為判斷任務(wù)性能的依據(jù),來確定任務(wù)的優(yōu)先級并對任務(wù)進(jìn)行調(diào)度了。

      3 任務(wù)調(diào)度策略

      任務(wù)調(diào)度策略的主要思想是計算出作業(yè)的優(yōu)先級,再根據(jù)作業(yè)的優(yōu)先級進(jìn)行調(diào)度。調(diào)度算法的思想是在作業(yè)服務(wù)器的工作節(jié)點中進(jìn)行優(yōu)先隊列的維護(hù),用戶存儲作業(yè)的ID、狀態(tài)以及優(yōu)先級。

      3.1 維護(hù)優(yōu)先隊列思路

      1) 當(dāng)有作業(yè)提交時,將作業(yè)進(jìn)隊,作業(yè)狀態(tài)為NODATA。

      2)當(dāng)任務(wù)服務(wù)器將作業(yè)狀態(tài)發(fā)送給作業(yè)服務(wù)器JobTracker時,如果作業(yè)已經(jīng)超過目標(biāo)完成時間,將優(yōu)先隊列中該作業(yè)的狀態(tài)改為UNDEAD;否則更新其估計的任務(wù)執(zhí)行單元數(shù)目[smreq],作業(yè)狀態(tài)設(shè)置為ADJUST。

      3)當(dāng)有作業(yè)完成時,將該作業(yè)從優(yōu)先隊列中去除。

      4) 調(diào)度器從優(yōu)先隊列隊首取出作業(yè),根據(jù)作業(yè)的狀態(tài)分為UNDEAD、NODATA、ADJUST三種狀態(tài)。

      5) 如果作業(yè)狀態(tài)為UNDEAD,取出隊首中同樣為UNDEAD的作業(yè),分別給每個作業(yè)最大數(shù)目的任務(wù)執(zhí)行單元。

      6) 如果作業(yè)狀態(tài)為NODATA,取出隊首中同樣為NODATA的作業(yè),分別給每個作業(yè)最大數(shù)目的任務(wù)執(zhí)行單元。

      7) 如果作業(yè)狀態(tài)為ADJUST,計算估計的任務(wù)執(zhí)行單元數(shù)目,并分配給作業(yè)數(shù)目的任務(wù)執(zhí)行單元。

      3.2初始化優(yōu)先隊列的算法

      4 估計完成時間準(zhǔn)確率實驗

      在某RFID資產(chǎn)管理系統(tǒng)中,我們利用MapReduce模型對列存儲中的RFID數(shù)據(jù)建立作業(yè)。實驗記錄了每次工作節(jié)點進(jìn)行調(diào)度時估算的作業(yè)完成時間和實際的工作結(jié)束時間。我們將這兩種數(shù)據(jù)進(jìn)行對比,來驗證此策略下估算的工作完成時間的準(zhǔn)確率。實驗結(jié)果如圖1所示:

      由圖1可看出,在作業(yè)運(yùn)行的前30%時間里,由于準(zhǔn)實時調(diào)度器只收集到關(guān)于該作業(yè)的少量信息,估算出的作業(yè)完成時間與實際完成時間差距比較大。但當(dāng)作業(yè)運(yùn)行時間超過30%后,由于調(diào)度器獲得了越來越多的信息數(shù)據(jù),估算出的作業(yè)完成時間就在實際完成時間附近上下震蕩,振幅越來越小,逐漸接近實際完成時間。

      5 結(jié)論

      在該策略中,調(diào)度器可通過記錄的作業(yè)和任務(wù)的相關(guān)數(shù)據(jù)信息,對任務(wù)完成時間進(jìn)行估算,再計算出當(dāng)前作業(yè)所需資源數(shù)和相應(yīng)的優(yōu)先級,然后根據(jù)作業(yè)優(yōu)先級對作業(yè)進(jìn)行調(diào)度。實驗結(jié)果表明,當(dāng)本調(diào)度器獲得了一定數(shù)量的信息后,估算出的作業(yè)完成時間基本接近實際完成時間。該策略基本達(dá)到了MapReduce調(diào)度的預(yù)期目標(biāo)。

      參考文獻(xiàn):

      [1] 朱付保,白慶春,湯萌萌,等.基于MapReduce的數(shù)據(jù)流頻繁項集挖掘算法[J].華中師范大學(xué)學(xué)報 (自然科學(xué)版) ,2017,51(4):429-434.

      [2] 富春巖,葛茂松,張立銘,等.一種準(zhǔn)實時MapReduce調(diào)度算法的改進(jìn)與實現(xiàn)[J].電腦知識與技術(shù),2016(12):3-4.

      【通聯(lián)編輯:梁書】

      淅川县| 台北市| 渭南市| 汤原县| 阳春市| 云安县| 合水县| 木兰县| 湛江市| 呈贡县| 乐东| 巴林右旗| 泰兴市| 炉霍县| 大厂| 和政县| 板桥市| 鄂托克旗| 永昌县| 合水县| 凭祥市| 北海市| 山西省| 育儿| 和政县| 内乡县| 积石山| 新乐市| 北京市| 永寿县| 新蔡县| 大新县| 馆陶县| 大港区| 镇原县| 大田县| 邯郸市| 集贤县| 西乡县| 鸡西市| 汕尾市|