欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種面向大數(shù)據(jù)的并行系統(tǒng)優(yōu)化方法與流程

文檔序號(hào):12595483閱讀:349來源:國知局
一種面向大數(shù)據(jù)的并行系統(tǒng)優(yōu)化方法與流程

本發(fā)明涉及面向大數(shù)據(jù)的并行系統(tǒng)優(yōu)化方法。



背景技術(shù):

數(shù)據(jù)密集型復(fù)雜算式是指需要計(jì)算大量數(shù)據(jù)并擁有復(fù)雜依賴結(jié)構(gòu)算式,大多數(shù)涉及連加和連乘操作,如該算式的計(jì)算過程需要消耗大量的時(shí)間。數(shù)據(jù)密集型復(fù)雜算式是現(xiàn)有的大數(shù)據(jù)分析的基礎(chǔ),在數(shù)據(jù)分析領(lǐng)域有非常重要的應(yīng)用,現(xiàn)有技術(shù)存在如下問題:

1、現(xiàn)有平臺(tái)只提供基礎(chǔ)的操作,如Hadoop中只提供了Map和Reduce的操作。這種模式對(duì)于沒有經(jīng)驗(yàn)的編程者來說是十分困難的。

2、現(xiàn)有工具包只提供了現(xiàn)有的算法中的計(jì)算算式計(jì)算方法,并不能提供普適性的算式計(jì)算方法。

3、在現(xiàn)有技術(shù)下,數(shù)據(jù)密集型復(fù)雜計(jì)算只能通過多輪的數(shù)據(jù)重分布完成,運(yùn)行的時(shí)間大大增加。

數(shù)據(jù)密集型(復(fù)雜)算式指的是含有多個(gè)連加連乘等統(tǒng)計(jì)算以及計(jì)算數(shù)據(jù)量大的公式。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明是為了解決現(xiàn)有技術(shù)都是針對(duì)并行系統(tǒng)中的某一特定的算法,沒有針對(duì)復(fù)雜計(jì)算表達(dá)式,且計(jì)算耗時(shí)長的問題,而提出的一種面向大數(shù)據(jù)的并行系統(tǒng)優(yōu)化方法。

一種面向大數(shù)據(jù)的并行系統(tǒng)優(yōu)化方法以下步驟實(shí)現(xiàn):

步驟一:將數(shù)據(jù)密集型算式進(jìn)行抽象化處理;

步驟二:將步驟一抽象化處理后的數(shù)據(jù)密集型算式生成算式語義樹;

步驟三:將步驟二生成的語義樹進(jìn)行化簡并生成算式依賴圖;

步驟四:將步驟三生成的算式依賴圖進(jìn)行分層并生成任務(wù)序列;

步驟五:根據(jù)步驟四生成的任務(wù)序列在并行系統(tǒng)中生成任務(wù)依賴關(guān)系,執(zhí)行后得到數(shù)據(jù)密集型算式的計(jì)算結(jié)果。

發(fā)明效果:

1.經(jīng)過實(shí)驗(yàn)證明,該算法在數(shù)據(jù)量越大的情況下展現(xiàn)出越好的優(yōu)化效果。在GB級(jí)別的數(shù)據(jù)量下,平均節(jié)約57.3%的計(jì)算時(shí)間。

2.經(jīng)過實(shí)驗(yàn)證明,在該算法下,算式的計(jì)算時(shí)間不依賴于算式的復(fù)雜度,而依賴于算式生成的任務(wù)數(shù)量。

3.該算法具有普適性,可應(yīng)用于不同的并行平臺(tái),如Hadoop和Spark;并不要求使用者的編程經(jīng)驗(yàn),給出復(fù)雜表達(dá)式即可得到優(yōu)化的計(jì)算結(jié)果。

附圖說明

圖1為本發(fā)明流程圖;

圖2為語義樹結(jié)構(gòu)圖;圖中“/”代表除號(hào),“-”代表減號(hào),“*”代表乘號(hào),“sum”代表連加符號(hào),“pow”代表乘方符號(hào),avg”代表平均數(shù)符號(hào),“count”代表計(jì)數(shù)符號(hào),“x”、“y”和“2”代表操作變量和操作數(shù)。

圖3為化簡過程圖;

圖4為分層示意圖;

圖5為生成的任務(wù)序列圖;圖中任務(wù)序列由下至上,MapReduce:avg()代表執(zhí)行一輪平均數(shù)計(jì)算的映射歸約操作;MapReduce:avg(),count()代表執(zhí)行一輪平均數(shù)計(jì)算和計(jì)數(shù)計(jì)算的映射歸約操作;MapReduce:sum()代表執(zhí)行一輪連加計(jì)算的映射歸約操作;共4輪MapReduce即映射歸約操作。

圖6為任務(wù)序列調(diào)度圖;

圖7為簡單聚集運(yùn)算配置圖;圖中,輸入變量x,map映射成為Key:value即鍵值對(duì),經(jīng)過reduce歸約成結(jié)果,valuesum連加結(jié)果,valuecount計(jì)數(shù)結(jié)果。配置操作符:sum和count,即為在歸約過程中進(jìn)行連加和計(jì)數(shù)操作。

圖8為復(fù)雜聚集運(yùn)算配置圖;

圖9為CCA、MCA、ACF優(yōu)化前運(yùn)行時(shí)間對(duì)比圖;

圖10為CCA、MCA、ACF優(yōu)化后運(yùn)行時(shí)間對(duì)比圖;

圖11為ACF優(yōu)化前后對(duì)比圖;

圖12為MCA優(yōu)化前后對(duì)比圖;

圖13為CCA優(yōu)化前后對(duì)比圖。

具體實(shí)施方式

具體實(shí)施方式一:一種面向大數(shù)據(jù)的并行系統(tǒng)優(yōu)化方法包括以下步驟:

步驟一:將數(shù)據(jù)密集型復(fù)雜算式進(jìn)行抽象化處理;

步驟二:將步驟一抽象化處理后的數(shù)據(jù)密集型算式生成算式語義樹;

步驟三:將步驟二生成的語義樹進(jìn)行化簡并生成算式依賴圖;

步驟四:將步驟三生成的算式依賴圖進(jìn)行分層并生成任務(wù)序列;

步驟五:根據(jù)步驟四生成的任務(wù)序列在并行系統(tǒng)中生成任務(wù)依賴關(guān)系,執(zhí)行后得到數(shù)據(jù)密集型算式的計(jì)算結(jié)果。

具體實(shí)施方式二:本實(shí)施方式與具體實(shí)施方式一不同的是:所述步驟一中將數(shù)據(jù)密集型算式進(jìn)行抽象化處理具體為:

將數(shù)據(jù)密集型算式中的子運(yùn)算分定義為簡單計(jì)算和聚集計(jì)算兩種,每一個(gè)聚集運(yùn)算要用一輪MapReduce完成,將數(shù)據(jù)密集型算式進(jìn)行函數(shù)式抽象;所述簡單計(jì)算為四則運(yùn)算、乘方和開方,聚集計(jì)算為統(tǒng)計(jì)運(yùn)算,MapReduce為編程模型,用于大規(guī)模數(shù)據(jù)集(大于1TB)的并行運(yùn)算。

其它步驟及參數(shù)與具體實(shí)施方式一相同。

具體實(shí)施方式三:本實(shí)施方式與具體實(shí)施方式一或二不同的是:所述步驟二中將步驟一抽象化處理后的數(shù)據(jù)密集型算式生成算式語義樹具體過程為:

提取數(shù)據(jù)密集型算式中的變量,并確定子算式,將子算式中的運(yùn)算符(加、減、乘、除、連加、連乘等)作為父節(jié)點(diǎn),對(duì)應(yīng)該運(yùn)算符的計(jì)算變量作為子節(jié)點(diǎn),生成算式語義樹,所述語義樹從葉子節(jié)點(diǎn)到根節(jié)點(diǎn)每一條路徑上只有一個(gè)聚集運(yùn)算。子算式如算式中的∑x2等。

其它步驟及參數(shù)與具體實(shí)施方式一或二相同。

具體實(shí)施方式四:本實(shí)施方式與具體實(shí)施方式一至三之一不同的是:所述步驟三中將步驟二生成的語義樹進(jìn)行化簡并生成算式依賴圖的具體過程為:

將語義樹中所有對(duì)應(yīng)相同變量的結(jié)點(diǎn)合并為同一結(jié)點(diǎn),對(duì)相同變量進(jìn)行相同計(jì)算的結(jié)點(diǎn)合并為同一結(jié)點(diǎn)。

其它步驟及參數(shù)與具體實(shí)施方式一至三之一相同。

具體實(shí)施方式五:本實(shí)施方式與具體實(shí)施方式一至四之一不同的是:所述步驟四中將步驟三生成的算式依賴圖進(jìn)行分層并生成任務(wù)序列的具體過程為:

根據(jù)算式依賴圖中變量與運(yùn)算符的距離進(jìn)行分層,以任意變量作為初始節(jié)點(diǎn),以變量到運(yùn)算符經(jīng)過的節(jié)點(diǎn)數(shù)作為運(yùn)算符所在的層數(shù),當(dāng)變量與運(yùn)算符之間有多條路徑時(shí),以經(jīng)過節(jié)點(diǎn)數(shù)多的路徑為準(zhǔn),其中每個(gè)運(yùn)算符為一個(gè)節(jié)點(diǎn);

提取每一層相同變量的聚集運(yùn)算,按照初始節(jié)點(diǎn)到終結(jié)節(jié)點(diǎn)的順序生成任務(wù)序列;每一層中不同變量的聚集運(yùn)算并行放入一輪MapReduce中執(zhí)行;每一層中相同變量的聚集運(yùn)算串行放入一輪MapReduce中執(zhí)行。

其它步驟及參數(shù)與具體實(shí)施方式一至四之一相同。

實(shí)施例一:如圖1所示,一種面向大數(shù)據(jù)的并行系統(tǒng)優(yōu)化方法的步驟為:

1、抽象算式結(jié)構(gòu)

將算式中的子運(yùn)算分為簡單計(jì)算和聚集計(jì)算兩種,每一個(gè)聚集運(yùn)算要用一輪MapReduce完成。將算式進(jìn)行函數(shù)式抽象,如將連加符號(hào)表示為sum(),抽象后進(jìn)行下一步操作。將上式抽象為函數(shù)式表達(dá)式為:

2、生成算式語義樹

根據(jù)算式的依賴關(guān)系生成如圖2所示的語義樹結(jié)構(gòu)。

3、化簡并生成算式依賴圖

進(jìn)行語義樹化簡。我們采用兩個(gè)原則進(jìn)行語義樹化簡。

All-to-1。所有對(duì)應(yīng)相同變量的結(jié)點(diǎn)合并為同一結(jié)點(diǎn),用于消除冗余的結(jié)點(diǎn)。

Same-to-1。對(duì)相同變量進(jìn)行相同計(jì)算的結(jié)點(diǎn)合并為同一結(jié)點(diǎn)。這樣相同的計(jì)算可以在同一個(gè)任務(wù)中進(jìn)行,進(jìn)而減少了數(shù)據(jù)重分布過程。

應(yīng)用這兩個(gè)原則對(duì)例子進(jìn)行化簡,如圖3所示。化簡后生成了算式依賴圖,依據(jù)該算式依賴圖生成算式的任務(wù)序列。

4、生成任務(wù)順序

根據(jù)算式依賴圖生成計(jì)算任務(wù)計(jì)劃,該計(jì)算用于任務(wù)分配。首先,我們根據(jù)算式與變量的距離進(jìn)行分層,如圖4所示。

根據(jù)分層生成MapReduce任務(wù),每一層的相同運(yùn)算生成同一個(gè)任務(wù),生成任務(wù)序列如圖5所示。

5、并行系統(tǒng)執(zhí)行

將任務(wù)序列生成并行系統(tǒng)中的job依賴關(guān)系序列,放入現(xiàn)有的大數(shù)據(jù)并行系統(tǒng)中執(zhí)行。如圖6所示。該算式生成3個(gè)MapReduce任務(wù)并行執(zhí)行。

執(zhí)行后,得到算式最終的計(jì)算結(jié)果。實(shí)驗(yàn)證明該算法可以極大的提升計(jì)算效率。

在Hadoop中實(shí)現(xiàn)了該算法。通過Job Configure文件進(jìn)行系統(tǒng)配置。我們將配置過程分為簡單聚集運(yùn)算和復(fù)雜聚集運(yùn)算。簡單聚集運(yùn)算配置在Reduce過程中直接進(jìn)行配置,如圖7所示。

復(fù)雜聚集運(yùn)算配置則需要在Mapper中建樹來確定運(yùn)算過程,從而生成計(jì)算結(jié)果,如圖8所示。

本發(fā)明方法可以在現(xiàn)有并行平臺(tái),如Sparks和Hyracks等平臺(tái)中應(yīng)用。僅需將配置條件稍作修改,適合于上述系統(tǒng)即可。

本發(fā)明方法作為數(shù)據(jù)分析的基礎(chǔ)優(yōu)化算法,可以應(yīng)用于數(shù)據(jù)分析方向,如商業(yè)分析、金融、工業(yè)、農(nóng)業(yè)等領(lǐng)域。

復(fù)相關(guān)分析Complex correlation analysis(CCA):

矩陣相關(guān)分析Matrix correlation analysis(MCA):

任意復(fù)雜算式Arbitrary complex formula(ACF):

運(yùn)行時(shí)間對(duì)比圖,如圖9~圖13可知,優(yōu)化前后,運(yùn)行時(shí)間出現(xiàn)大幅度縮減。并可以觀察到數(shù)據(jù)量越大,優(yōu)化效果越明顯。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
汤原县| 龙海市| 高平市| 新兴县| 嘉祥县| 财经| 双峰县| 六枝特区| 灵武市| 晋中市| 时尚| 呼玛县| 莱芜市| 张北县| 岫岩| 崇州市| 青龙| 柘城县| 红安县| 晋城| 吉木乃县| 娱乐| 昌宁县| 永定县| 那曲县| 都江堰市| 岚皋县| 兰西县| 遂宁市| 荣昌县| 嵩明县| 天全县| 永康市| 镇雄县| 勃利县| 麻阳| 九龙坡区| 夏邑县| 紫云| 苍山县| 喀什市|