• 
    

    
    

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

      基于遺傳算法的Spark中間結(jié)果數(shù)據(jù)遷移策略

      2020-06-19 08:45:58梁毅陳金棟蘇超畢臨風(fēng)
      軟件導(dǎo)刊 2020年4期

      梁毅 陳金棟 蘇超 畢臨風(fēng)

      摘要:Spark是大數(shù)據(jù)內(nèi)存計算系統(tǒng)的典型代表,通過內(nèi)存緩存數(shù)據(jù)加速迭代型、交互型大數(shù)據(jù)應(yīng)用的運(yùn)行。基于時間窗口的數(shù)據(jù)分析是一類典型的大數(shù)據(jù)迭代型應(yīng)用?;赟park平臺運(yùn)行時間窗口數(shù)據(jù)分析應(yīng)用,存在中間結(jié)果數(shù)據(jù)放置不均的問題,造成應(yīng)用執(zhí)行效率降低。針對上述問題,提出基于遺傳算法的Spark中間結(jié)果數(shù)據(jù)遷移策略,通過考慮中間結(jié)果數(shù)據(jù)遷移時機(jī)、遷移數(shù)據(jù)規(guī)模,并使用遺傳算法優(yōu)化選取遷移數(shù)據(jù)放置位置,提高時間窗口應(yīng)用執(zhí)行效率。實驗結(jié)果表明,在既有Spark平臺中,采用該遷移策略可使時間窗口應(yīng)用執(zhí)行時間最大減少28.45%.平均減少21.59%。

      關(guān)鍵詞:Spark;中間結(jié)果數(shù)據(jù);數(shù)據(jù)遷移

      DOI: 10. 11907/rjdk.191 383

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

      中圖分類號:TP301

      文獻(xiàn)標(biāo)識碼:A

      文章編號:1672-7800(2020)004-0089-04

      Spark Intermediate Result Data Migration Strategy Based on Genetic Algorithm

      LIANG Yi. CHEN Jin-dong , SU Chao , BI Ling-f'eng

      (Comp u.ter Academy , Beijing University of Technology , Beijing 100124 , China )Abstract:Spark is a ty pical representative of big data memory computing system. It accelerates the operation of iterative. interactiveand other big data applications through the memory-hased data cache. Data analysis based on time window is a typical big data itera-tive application.Data analysis application based on Spark platform 's runtime window has the problem of' uneven placement of intermedi-ate result data.which reduces the ef'f'iciency of application execution. To solve the above problems, this paper proposes Spark interme-diate results data migration strategy based on genetic algorithm. By considering the migration timing and data scale of intermediate re-sults data, and using genetic algorithm to optiruize the selection of the location of migrated data. the execution efficiency of time win-do,v application is improved. Experiments show that on the existing Spark platform , by using the proposed intermediate results data mi-gration strategy , it can reduce the maximum execution time of time window applications by 28.45% and the average by 21.59%.Key Words:Spark;intermediate data;data migration

      O 引言

      隨著物聯(lián)網(wǎng)技術(shù)的快速發(fā)展,如今已步人大數(shù)據(jù)時代[1-3],通過各種途徑獲取數(shù)據(jù)的規(guī)模與速度急劇上升。因此,如何高效存儲、處理與分析海量物聯(lián)網(wǎng)數(shù)據(jù)成為大數(shù)據(jù)時代面臨的挑戰(zhàn)[4-5]。其中,Spark內(nèi)存計算平臺在大數(shù)據(jù)處理領(lǐng)域得到了廣泛應(yīng)用。[6-7]。

      基于時間窗口的數(shù)據(jù)分析是物聯(lián)網(wǎng)中常見的數(shù)據(jù)分析應(yīng)用[8-9],其主要計算邏輯是對一段時序連續(xù)的采集數(shù)據(jù),以固定/可變的滑動時間窗口對局部數(shù)據(jù)反復(fù)進(jìn)行分析處理,并對局部數(shù)據(jù)產(chǎn)生的中間結(jié)果數(shù)據(jù)進(jìn)行聚合,形成最終分析結(jié)果?;跁r間窗口的數(shù)據(jù)分析是典型的迭代型計算,可充分利用Spark平臺內(nèi)存計算的優(yōu)勢,通過將運(yùn)行過程中形成的中間結(jié)果數(shù)據(jù)緩存于任務(wù)執(zhí)行器內(nèi)存中,減少在最終分析結(jié)果計算中的數(shù)據(jù)讀取開銷,提升應(yīng)用執(zhí)行效率。然而,由于數(shù)據(jù)傾斜的原因,基于時間窗口的數(shù)據(jù)分析應(yīng)用在多個任務(wù)執(zhí)行器中形成的中間結(jié)果數(shù)據(jù)規(guī)模差異較大,導(dǎo)致部分任務(wù)執(zhí)行器無法完整緩存相應(yīng)的中間結(jié)果數(shù)據(jù)。另一方面,既有Spark平臺尚未提供任務(wù)執(zhí)行器間的緩存數(shù)據(jù)遷移策略,無法完整緩存中間結(jié)果數(shù)據(jù)的任務(wù)執(zhí)行器將不能緩存在內(nèi)存中的數(shù)據(jù)存儲于本地磁盤,從而增加了最終分析結(jié)果計算階段的磁盤數(shù)據(jù)讀取開銷,降低了應(yīng)用執(zhí)行效率。

      在數(shù)據(jù)存儲管理領(lǐng)域,相關(guān)研究成果主要從網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)[10-12]、應(yīng)用間數(shù)據(jù)相關(guān)性角度進(jìn)行數(shù)據(jù)遷移策略設(shè)計[13-17]。然而,將上述策略應(yīng)用于Spark平臺未能考慮Spark任務(wù)執(zhí)行器的數(shù)據(jù)緩存能力,以及數(shù)據(jù)遷移對當(dāng)前計算任務(wù)執(zhí)行的影響,難以形成高效的數(shù)據(jù)遷移方案。

      針對上述問題,本文提出一種Spark中間結(jié)果數(shù)據(jù)遷移策略。該策略充分考慮Spark任務(wù)執(zhí)行器的內(nèi)存規(guī)模,以及基于時間窗口數(shù)據(jù)分析應(yīng)用多輪迭代執(zhí)行中形成的中間結(jié)果數(shù)據(jù)規(guī)模,定義數(shù)據(jù)遷移時機(jī)和遷移規(guī)模,并采用遺傳算法優(yōu)化選取中間結(jié)果數(shù)據(jù)遷移目標(biāo)位置。實驗結(jié)果表明,在Spark平臺中采用本文提出的數(shù)據(jù)遷移策略,可有效減少基于時間窗口的數(shù)據(jù)分析應(yīng)用執(zhí)行時間。

      1 Spark簡介

      Spark是大數(shù)據(jù)領(lǐng)域的新一代內(nèi)存計算框架,同時提出一種抽象數(shù)據(jù)結(jié)構(gòu)彈性分布式數(shù)據(jù)集(Resilient Distrib -uted Datasets.RDD)[18],Spark架構(gòu)如圖1所示。Spark采用主從( Master/Slave)架構(gòu),其中每個Worker節(jié)點中有任務(wù)執(zhí)行器Executor。Spark在基于時間窗口數(shù)據(jù)分析應(yīng)用的多輪迭代執(zhí)行過程中,將中間結(jié)果數(shù)據(jù)保存在任務(wù)執(zhí)行器的Cache中,而各個任務(wù)執(zhí)行器的緩存數(shù)據(jù)不能遷移,從而導(dǎo)致數(shù)據(jù)傾斜,降低了應(yīng)用執(zhí)行效率。

      2 Spark中間結(jié)果數(shù)據(jù)遷移策略

      2.1 中間結(jié)果數(shù)據(jù)遷移時機(jī)及遷移規(guī)模

      在處理Spark時間窗口應(yīng)用程序時,多輪迭代執(zhí)行中不斷形成的中間結(jié)果數(shù)據(jù)使得各個任務(wù)執(zhí)行器的剩余內(nèi)存空間逐漸變小。當(dāng)產(chǎn)生新的中間結(jié)果數(shù)據(jù)時,如果任務(wù)執(zhí)行器的內(nèi)存空間不足,則無法寫入新數(shù)據(jù)。因此本文定義中間結(jié)果數(shù)據(jù)遷移時機(jī):在一個時間窗口處理過程中,當(dāng)產(chǎn)生新的中間結(jié)果數(shù)據(jù)時,如果任務(wù)執(zhí)行器的緩存空間不能緩存新的中間結(jié)果數(shù)據(jù),則觸發(fā)中間結(jié)果數(shù)據(jù)遷移。

      在確定中間結(jié)果數(shù)據(jù)遷移時機(jī)后,需要選取中間結(jié)果遷移對象。本策略選取的中間結(jié)果數(shù)據(jù)遷移對象是新產(chǎn)生的中間結(jié)果數(shù)據(jù)分區(qū)。將需要遷移的中間結(jié)果數(shù)據(jù)分區(qū)集合記為P,P中分區(qū)總數(shù)為pNurFi.exeNum為任務(wù)執(zhí)行器個數(shù),n為第i個任務(wù)執(zhí)行器中需要遷移的數(shù)據(jù)塊總數(shù),其中P如公式(1)所示。

      2.2基于遺傳算法的中間結(jié)果數(shù)據(jù)遷移目標(biāo)選取

      遺傳算法(Genetic Algorithrn,GA)[19-20]是一種由白然生物進(jìn)化過程發(fā)展而來的模擬生物遺傳過程搜索最優(yōu)解方法,其主要特點是模擬生物遺傳過程中發(fā)生的染色體復(fù)制、交叉與變異等,從一個初始種群開始操作,首先進(jìn)行隨機(jī)選擇,然后染色體交叉,最后染色體變異,產(chǎn)生一群比上一代種群更優(yōu)秀的個體,使種群不斷進(jìn)化到更好的區(qū)域,不斷迭代地繁衍進(jìn)化,直到最終收斂為一群最適應(yīng)環(huán)境的個體,從而得到最優(yōu)解。

      本文提出的策略有兩個主要目標(biāo):一是使每個任務(wù)執(zhí)行器的數(shù)據(jù)放置均勻,即各任務(wù)執(zhí)行器核的剩余內(nèi)存空間方差VOF最小,二是遷移數(shù)據(jù)開銷moveCost最小。選取中間結(jié)果數(shù)據(jù)遷移位置問題可以形式化為:

      Mini,nize(VOF)( 2 )

      Minirn ize(moveCost )( 3 )

      滿足以下約束:

      remain Memorvi>nex tlnpu tSizei(4)

      其中,remainmemorv,表示第i個任務(wù)執(zhí)行器exe,中剩余的緩存空間,nextlnputSize,表示在Spark時間窗口應(yīng)用程序中,下一個時間窗口輸入時第i個任務(wù)執(zhí)行器的輸入數(shù)據(jù)規(guī)模。

      2.2.1 編碼與解碼

      Spark中間結(jié)果數(shù)據(jù)遷移策略基于遺傳算法實現(xiàn),首先需要進(jìn)行編碼與解碼。本文中染色體串編碼規(guī)則如下:

      假設(shè)需要遷移的中間結(jié)果數(shù)據(jù)分區(qū)集合為:

      (5)

      在公式(5)中,pNurriber為需要遷移的中間結(jié)果數(shù)據(jù)分區(qū)數(shù)量,mp為中間結(jié)果數(shù)據(jù)分區(qū)c其中,mp=pij表示需要遷移的分區(qū)為第i個任務(wù)執(zhí)行器上第i個中間結(jié)果的數(shù)據(jù)分區(qū)。現(xiàn)有pNumber個需要遷移的中間結(jié)果數(shù)據(jù)分區(qū),則pNurnber個中間結(jié)果數(shù)據(jù)分區(qū)通過串結(jié)構(gòu)組成一個染色體,長度為pNurnber。串中每一位表示每個中間結(jié)果數(shù)據(jù)分區(qū)應(yīng)遷移的任務(wù)執(zhí)行器編號。

      2.2.2種群初始化

      本文設(shè)定種群規(guī)模M的值為100,染色體長度為pNumber,個體每一位數(shù)值隨機(jī)從[1,exeNum]中產(chǎn)生,按照編碼規(guī)則隨機(jī)生成100個染色體,完成種群初始化。2.2.3適應(yīng)度函數(shù)

      適應(yīng)度函數(shù)即為本文優(yōu)化目標(biāo),遺傳算法根據(jù)適應(yīng)度進(jìn)行種群選擇,并淘汰種群中適應(yīng)度較低的個體。本策略優(yōu)化目標(biāo)為保證在數(shù)據(jù)遷移之后,每個任務(wù)執(zhí)行器上緩存的中間結(jié)果數(shù)據(jù)量與其計算能力匹配,并且保證遷移數(shù)據(jù)傳輸開銷盡可能小。第一優(yōu)化目標(biāo)是保證遷移數(shù)據(jù)傳輸開銷,即:

      Fl(X)= moveCost(6)

      第二優(yōu)化目標(biāo)是每個任務(wù)執(zhí)行器上緩存的中間結(jié)果數(shù)據(jù)量與其計算能力匹配,如公式(7)所示。

      F,(X)= VOF(7)

      每個染色體都會有兩個目標(biāo)函數(shù)對應(yīng)的適應(yīng)度函數(shù),根據(jù)適應(yīng)度函數(shù)進(jìn)行后續(xù)選擇。2.2.4選擇

      本文采用參數(shù)C1、C2表示選擇F.(X)和F7(X)的概率,其中Cl+ C2=1,0

      2.2.5 交叉與變異

      本策略中染色體交叉采用線性重組法,該方法通過選取父代個體中的染色體片段進(jìn)行交叉組合,形成新的子代個體,如公式(8)所示。

      其中, 為父代個體染色體, 為父代個體經(jīng)過交叉操作后產(chǎn)生的子代個體, 為染色體片段交叉因子,其取值范圍為(0,1)。

      變異操作采用逆轉(zhuǎn)算子進(jìn)行變異,逆轉(zhuǎn)算子選取個體碼串中兩個隨機(jī)選取的變異點,將兩個變異點中間的基因值逆序排列,得到變異后的個體。

      2.2.6 收斂條件

      遺傳算法需要預(yù)先設(shè)置迭代終止條件,本文設(shè)置進(jìn)化100代為迭代次數(shù),并且設(shè)置當(dāng)連續(xù)50代種群都沒有產(chǎn)生更優(yōu)解時,則終止迭代。

      3性能評估

      3.1 實驗環(huán)境及負(fù)載選擇

      本文實驗環(huán)境由7臺物理節(jié)點組成,包括l臺主節(jié)點和6臺從節(jié)點,具體節(jié)點配置情況如表1所示。

      本實驗選取常見的Spark時間窗口應(yīng)用程序作為負(fù)載,包括移動平均法(avg)、分時段排序(sort)和時段詞頻統(tǒng)計(wc)。輸入數(shù)據(jù)采用真實數(shù)據(jù)集,并擴(kuò)展為20G。任務(wù)執(zhí)行器內(nèi)存為8GB,時間窗口數(shù)量分別為5、10和15個,具體如表2所示。

      3.2 實驗結(jié)果分析

      實驗結(jié)果如圖2所示。從圖中可以看出,相比于既有Spark平臺,本文提出的Spark中間結(jié)果數(shù)據(jù)遷移策略在處理Spark時間窗口應(yīng)用程序時.應(yīng)用執(zhí)行時間最大減少了28 .45%,平均減少了21.59%。造成上述實驗結(jié)果的原因是在處理Spark時間窗口應(yīng)用程序時,多輪迭代執(zhí)行中形成的中間結(jié)果數(shù)據(jù)規(guī)模在各個任務(wù)執(zhí)行器中分布不均,使得Spark在執(zhí)行應(yīng)用程序時效率降低。本文提出的策略當(dāng)檢測到任務(wù)執(zhí)行器數(shù)據(jù)放置不均時,則使用遺傳算法遷移中間結(jié)果數(shù)據(jù),使得各個任務(wù)執(zhí)行器的中間結(jié)果數(shù)據(jù)分布均勻,從而縮短了應(yīng)用執(zhí)行時間。

      4結(jié)語

      本文面向Spark中基于時間窗口的數(shù)據(jù)分析應(yīng)用,設(shè)計并實現(xiàn)了基于遺傳算法的Spark中間結(jié)果數(shù)據(jù)遷移策略。該策略通過統(tǒng)計Spark任務(wù)執(zhí)行器內(nèi)存規(guī)模及基于時間窗口數(shù)據(jù)分析應(yīng)用多輪迭代執(zhí)行中形成的中間結(jié)果數(shù)據(jù)規(guī)模,并考慮中間結(jié)果數(shù)據(jù)遷移開銷,在滿足每個任務(wù)執(zhí)行器數(shù)據(jù)放置均衡的情況下,保證數(shù)據(jù)遷移開銷最小,從而實現(xiàn)時間窗口應(yīng)用程序執(zhí)行過程中的負(fù)載均衡。針對真實Spark時間窗口應(yīng)用程序的實驗結(jié)果表明,與既有Spark平臺相比,本文提出的策略可使時間窗口應(yīng)用執(zhí)行時間最大減少28.45%,平均減少21.59%。

      然而,本文提出的基于遺傳算法的Spark中間結(jié)果數(shù)據(jù)遷移策略主要以HDFS為文件系統(tǒng),在實際生產(chǎn)環(huán)境中,也可能會使用HBase等系統(tǒng)作為數(shù)據(jù)源,因此應(yīng)考慮不同數(shù)據(jù)源情況下的中間結(jié)果數(shù)據(jù)遷移策略。而且本文提出的遷移策略主要是考慮遷移開銷,后續(xù)研究T作可以考慮從其它維度進(jìn)行遷移策略優(yōu)化。

      參考文獻(xiàn):

      [1] 孫其博,劉杰,黎彝,等,物聯(lián)網(wǎng):概念、架構(gòu)與關(guān)鍵技術(shù)研究綜述[J].北京郵電大學(xué)學(xué)報,2010. 33(3):1-9.

      [2]孟小峰,慈祥.大數(shù)據(jù)管理:概念、技術(shù)與挑戰(zhàn)[J].計算機(jī)研究與發(fā)展,2013 .50(1):146-169

      [3]張引,陳敏,廖小飛大數(shù)據(jù)應(yīng)用的現(xiàn)狀與展望[J].計算機(jī)研究與發(fā)展,2013.50( S2):216-233.

      [4]李國杰,程學(xué)旗大數(shù)據(jù)研究:未來科技及經(jīng)濟(jì)社會發(fā)展的重大戰(zhàn)略領(lǐng)域——大數(shù)據(jù)的研究現(xiàn)狀與科學(xué)思考[J].中國科學(xué)院院刊,2012.27(6):647-657

      [5]程學(xué)旗,靳小龍,王元卓,等.大數(shù)據(jù)系統(tǒng)和分析技術(shù)綜述[J].軟件學(xué)報,2014.25(9):1889-1908.

      [6]ZAHARIA M, CHOWDHURY M,F(xiàn)RANKLIN M J,et al. Spark: clus-ter computing with working sets[J]. HotCloud. 2010. 10: 95.

      [7]ISARD M,BUDIU M .YUAN Y, et al. Dryad: distrihuted data-parallelSvstems Review. 2007, 41(3):59-72.

      [8]BABCOCK B, DATAR M. MOTWANI R.Sampling from a moving window over streaming data[C].Proceedings of the thirteenth annualACM-SIAM symposium on Discrete algorithms. Societv for Industrialand Applied Mathematics, 2002: 633-634.

      [9]ARASU A,MANKU G S.Approximate counts and quantiles orer slid-ing windows[Cl. Proceedings of the twentv-third ACM SIG-MOD-SIGACT-SICART symposium nn Principles of datahase svs-tems. ACM, 2004: 286-296.

      [10] BERENBRIhrK P. BRINKMANN A. SCHEIDELER C. Design ofthe PRESTO multimedia storage network [C]. International Work-shop on Cnmrnunication and Data Management in Large Networks.1999 : 2-12.

      [II] LIAN Q, CHEN W, ZHANG Z. On the impact of replica placement to the reliability of distrihuted hrick str'rage system [C]. IEEE Inter- puter SocietY . 2005.

      [12]XIN O, SCHWARZ T, MILLER E L. Availahility in glnbalpeer-to-peer storage systems [C]. Distributed Data and Structures6 . Proceedings in Informatics . 2004.

      [13] LIU C, ZHL' X, WANC J, et al. SP-partitioner: a norel partitionmethod to handle intermediate data skew in spark streaming [J]. Fu -ture Generation Cnmputer Systems , 2018 , 86 : 1054-1063.

      [14]TANG Z. ZHANG X, LI K. et al. An intermediate data plac:ementalgorithm for load balancing in Spark computing environment [J] . Fu-ture Generation Cnmputer Systems , 2016 , 78 : 287-301.

      [15] 卞琛 .于炯 .英昌甜 ,等.并行計算框架 Spark的自適應(yīng)緩存管理策略 [J].電子學(xué)報 . 2017,45(2) : 278-284.

      [16] ELAHEH C, ALI R. HAMID H S J. Load halanc:ing in join algo-rithrns for skewed data in MapReduce systems[J]. The Journal of Su-percomputing, 2018 , 75(1) : 228-254.

      [17]TANG Z , LV W, LI K. et al. An intermediate data paitition algorithmfor skew mitigation in spark computing en,'irnnment

      [18]ZAHARIA M . CHOWDHURY M. DAS T, et al. Resilient distributeddatasets : a fault-tnlerant ahstraction for in-memory cluster comput-ing [C]. Prriceedings of the 9th USENrIX C.onference on NetworkedSystems Design and Implementation , USENIX Association , 201 2.

      [19]HOLLAND J. Adaptation in artificial systems [Ml. Ann Arhror. MI :University of Michigan Press , 1975 : 21-24.

      [20] FUSER A S. Simulation of genetic systems [J] . Journal of Theoretical Biology, 1962(2) : 329-346.

      收稿日期:2019-03-25

      基金項目:國家自然科學(xué)基金項目(91646201,91546111);國家重點研發(fā)計劃項目(2017YFC0803300)

      作者簡介:梁毅(1975-),女,博士,北京工業(yè)大學(xué)計算機(jī)學(xué)院副教授、碩士生導(dǎo)師,研究方向為分布式計算;陳金棟(1993-),男,北京工

      業(yè)大學(xué)計算機(jī)學(xué)院碩士研究生,研究方向為分布式計算;蘇超(1992-),男,北京工業(yè)大學(xué)計算機(jī)學(xué)院碩士研究生,研究方向

      為分布式計算;畢臨風(fēng)(1994-),男,北京工業(yè)大學(xué)計算機(jī)學(xué)院碩士研究生,研究方向為分布式計算。

      舟曲县| 马公市| 澄江县| 伊宁市| 钦州市| 达州市| 吉林省| 海兴县| 浏阳市| 盐津县| 白山市| 阳西县| 泽州县| 南丰县| 仁怀市| 奈曼旗| 金溪县| 陵水| 固安县| 蚌埠市| 平湖市| 广昌县| 汽车| 上高县| 基隆市| 巴林左旗| 富裕县| 界首市| 湖北省| 江门市| 武夷山市| 枞阳县| 常山县| 巴彦淖尔市| 巴林左旗| 东阿县| 金湖县| 拉萨市| 昌邑市| 大同市| 泾川县|