亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2020-06-19 08:45:58梁毅陳金棟蘇超畢臨風
        軟件導刊 2020年4期

        梁毅 陳金棟 蘇超 畢臨風

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

        關鍵詞:Spark;中間結果數(shù)據(jù);數(shù)據(jù)遷移

        DOI: 10. 11907/rjdk.191 383

        開放科學(資源服務)標識碼(OSID):

        中圖分類號:TP301

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

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

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

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

        1 Spark簡介

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

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

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

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

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

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

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

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

        Mini,nize(VOF)( 2 )

        Minirn ize(moveCost )( 3 )

        滿足以下約束:

        remain Memorvi>nex tlnpu tSizei(4)

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

        2.2.1 編碼與解碼

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

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

        (5)

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

        2.2.2種群初始化

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

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

        Fl(X)= moveCost(6)

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

        F,(X)= VOF(7)

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

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

        2.2.5 交叉與變異

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

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

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

        2.2.6 收斂條件

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

        3性能評估

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

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

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

        3.2 實驗結果分析

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

        4結語

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

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

        參考文獻:

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

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

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

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

        [5]程學旗,靳小龍,王元卓,等.大數(shù)據(jù)系統(tǒng)和分析技術綜述[J].軟件學報,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的自適應緩存管理策略 [J].電子學報 . 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

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

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

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

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

        欧美老妇与禽交| 成人无码激情视频在线观看| 免费黄色福利| 蜜桃精品国产一区二区三区| 麻豆69视频在线观看| 亚洲人成色7777在线观看| 国产做无码视频在线观看浪潮| 国产精品日韩欧美一区二区区| 天堂女人av一区二区| 人妖一区二区三区在线| 亚洲中文字幕无码av| 中文字幕亚洲欧美日韩在线不卡| 成在线人免费无码高潮喷水| 久久精品亚洲熟女九色 | 天堂免费av在线播放| 人成综合视频在线播放| 无码人妻久久一区二区三区免费| 夜夜综合网| 西西人体大胆视频无码| 亚洲国产一区一区毛片a| 国产精品办公室沙发| 国产白嫩美女在线观看| 国产91AV免费播放| 午夜精品免费视频一区二区三区 | 久久国产精品一区av瑜伽| 精品无码av一区二区三区不卡| 国产suv精品一区二区883| 99久久夜色精品国产网站| 开心激情站开心激情网六月婷婷 | 真人做爰试看120秒| 欧美疯狂做受xxxx高潮小说| A阿V天堂免费无码专区| 日韩av免费一区二区| 国产日产欧产精品精品蜜芽| 亚洲国产成人久久综合电影| 中出高潮了中文字幕| 亚洲美女主播一区二区| 激情都市亚洲一区二区| 日本添下边视频全过程| 亚洲av无码一区二区二三区| 久久久久中文字幕精品无码免费 |