999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于微操作的Hadoop參數自動調優方法

2019-08-27 02:26:02李耘書滕飛李天瑞
計算機應用 2019年6期

李耘書 滕飛 李天瑞

摘 要:Hadoop作為大規模分布式數據處理框架已經在工業界得到廣泛的應用,針對手動和經驗調優方法中參數空間龐大和運行流程復雜的問題,提出了一種Hadoop參數自動優化的方法和分析框架。首先,對作業運行流程進行解耦,從可變參數直接影響的更細粒度的角度定義微操作,從而分析參數和單次微操作執行時間的關系;然后,利用微操作對作業運行流程進行重構,建立參數和作業運行時間關系的模型;最后,在此模型上應用各類搜索優化算法高效快速得出優化后的系統參數。在terasort和wordcount兩個作業類型上進行了實驗,實驗結果表明,相對于默認參數情況,該方法使作業執行時間分別縮短了至少41%和30%。該方法能夠有效提高Hadoop作業執行效率,縮短作業執行時間。

關鍵詞:Hadoop;參數調優;微操作;重構;搜索算法

中圖分類號: TP311.13

文獻標志碼:A

Abstract: As a large-scale distributed data processing framework, Hadoop has been widely used in industry during the past few years. Currently manual parameter optimization and experience-based parameter optimization are ineffective due to complex running process and large parameter space. In order to solve this problem, a method and an analytical framework for Hadoop parameter auto-optimization were proposed. Firstly, the operation process of a job was broken down into several microoperations and the microoperations were determined from the angle of finer granularity directly affected by variable parameters, so that the relationship between parameters and the execution time of a single microoperation was able to be analyzed. Then, by reconstructing the job operation process based on microoperations, a model of the relationship between parameters and the execution time of whole job was established. Finally, various searching optimization algorithms were applied on this model to efficiently and quickly obtain the optimized system parameters. Experiments were conducted with two types of jobs, terasort and wordcount. The experimental results show that, compared with the default parameters condition, the proposed method reduce the job execution time by at least 41% and 30% respectively. The proposed method can effectively improve the job execution efficiency of Hadoop and shorten the job execution time.

Key words: Hadoop; parameter optimization; microoperation; reconstitution; search algorithm

0 引言

Google在早年提出了最原始的用于大規模數據并行處理的分布式架構模型MapReduce[1-2],在幫助企業解決大數據處理效率的問題上邁出了很大的一步。隨著處理數據的規模越來越大,提升優化Hadoop的性能和數據處理的時效性成為研究重點。Hadoop系統擁有200多個可配置參數,雖然默認參數配置經過精心設計,但是由于多種多樣的任務類型使得大多數情況的任務執行效率并不高。Hadoop中對性能有影響的參數繁多,雖然Hadoop2.0對少量參數進行了修改和刪除,但面對復雜的作業類型,依靠人工對Hadoop系統進行調優依然是一個充滿挑戰的任務[3-4]。

本文提出一種基于微操作重構的Hadoop參數自動調優方法,該方法通過建立比階段更細粒度的微操作模型來刻畫參數變化和單次微操作執行時間的關系,再基于運行原理對微操作模型進行組合得到階段(phase)執行時間和參數的關系,在此基礎上可以應用不同算法搜索找出優化參數。綜上所述,本文的主要工作如下:

1)提出了微操作模型的概念。該模型能夠直觀準確地描述系統參數變化對執行時間帶來的影響,從數據流的角度使得對多參數同時變化時作業執行時間變化的分析變得方便且準確,同時建立了單次微操作執行時間與配置參數之間的函數關系。

2)提出了微操作模型求解方法,通過基準測試運行簡單的實際作業來建模求解模型參數,得到微操作模型。

3)提出了一種利用微操作對運行過程進行解構重構的策略。該方法不隨作業類型和集群配置變化而變化,同時查找最優參數具有耗時短、效率高、可移植性好的優點。該方法可視為一種優化問題的描述方法和分析框架,從更細粒度的角度刻畫參數變化原理,建立模型尋找最優參數組合。

1 相關工作

近年來,關于Hadoop參數自動調優的研究吸引了眾多研究者的參與。基于成本分析的(cost-based)方法通過預測未知任務各類資源的利用情況,最大化資源利用率使得作業運行時間更短。文獻[5]利用動態作業分析來捕獲Map階段和Reduce階段的運行行為幫助用戶微調Hadoop作業參數;文獻[6]通過改變MapReduce的執行策略來提高shuffling和sorting操作的執行效率來提升整個MapReduce過程的性能。cost-based性能建模是一種較成熟的方法,但是它是一種白盒建模方法,需要研究者對非常復雜的系統內部組件有很好的了解,包括軟件系統和硬件系統,這一點給用戶帶來了巨大挑戰。基于機器學習(Machine Learning-based, ML-based)的性能建模是一種基于機器學習的調優模型 [7-13]。文獻[7]主要應用各類回歸算法來分析建模;文獻[9]通過神經網絡來預測作業時間再進行調優。ML-based方法在龐大的參數空間內收集訓練樣本,選擇機器學習模型用于訓練自動調優,在給定任務類型的情況下自動給出最優參數集。它是一個黑盒模型,建立在對特定任務類型和系統實際性能表現的觀察基礎上,不需要詳細的系統內部信息;但它在收集訓練數據非常困難,需耗費大量時間,實際應用效率并不高。基于搜索(Search-based)調優模型是一種利用搜索算法的自動調優模型[14-16]。Search-based調優模型將所有會影響Hadoop性能的關鍵參數構成一個參數空間,利用搜索算法如文獻[14]采用遺傳算法、文獻[16]采用遞歸隨機抽樣,通過在實際集群中迭代執行作業任務,在參數空間中自動迭代搜索優化的參數組合。該方法和ML-based方法相比,不用構造完整參數空間的訓練樣本,在獲取樣本的時間上會有所減少。但是,針對不同的任務類型,參數的影響方式不同,搜索策略也會隨之改變;同時,在收集樣本時需要執行大量的實際作業,優化過程耗費時間長也是其主要缺點。

2 建模策略

本章主要介紹微操作模型的相關概念和微操作模型的建立方法。

2.1 MapReduce運行原理

一個MapReduce Job可以分為Map stage 和 Reduce stage兩個主要過程,一個stage由多個task組成,例如map task和reduce task,而一個task可以分為多個按順序執行的phase。如圖1所示,對MapReduce任務按照運行流程進行解構。MapReduce任務可以分為兩個主要過程:

1)Map stage。Map stage中多輪map task組依次執行,每輪中多個map task并行處理數據,map task運行過程分為三個階段:read phase,map phase和collection phase。其中參數對性能有較大影響的是collection phase,其余兩個階段中參數對性能的影響并不明顯,所以本文方法在map task中主要對collection phase進行分析,得到參數和collection phase運行時間的關系。

2)Reduce stage。Reduce stage中同樣存在多輪reduce task,每輪多個reduce task組并行處理數據,每個reduce task從多個map輸出中獲取所需數據,最終將處理結果輸出磁盤。reduce task的運行過程分為三個階段:shuffle phase,reduce phase和sort_write phase。其中參數對性能由較大影響的是shuffle phase,所以本文方法在reduce task中只對shuffle phase從微操作的角度進行分析,得到參數和shuffle phase運行時間的關系。在sort_write phase中,雖然沒有參數對其性能有直接影響,但是shuffle phase中的某些參數對sort_write phase的性能有間接的影響,所以后面章節也會對sort_write phase階段進行分析介紹。

在眾多參數中,關于決定map task并行個數的參數map.cpu.vcores和map.memory.mb、決定map task輸入數據塊大小的參數dfs.blocksize、決定reduce task并行個數的參數reduce.cpu.vcores和reduce.memory.mb,以及決定reduce task個數的參數mapred.reduce.task等參數的經驗調優已有大量研究 [4],本文的調優目標主要針對那些依靠經驗調優較具挑戰的參數。map task輸入數據塊的大小一般視實際作業執行需求和并行個數而定,通常為128MB和256MB。map task并行個數參數通常和輸入數據塊大小配合設置,小數據量作業時所有數據在一輪處理完,數據量較大時根據實際內存在每一輪中分配盡量多的并行map task個數使得性能最大化。reduce task并行個數通常設置為使得性能最大化的個數,根據實際內存分配盡量多的并行個數,所有reduce task盡量在一輪中處理完。在某些業務中,這些參數的值根據業務需求已經確定,不屬于可變參數,所以本文主要針對map task和reduce task個數都確定的情況進行調優,對如表1所示的本文涉及的參數空間內的參數進行調節。

2.2 微操作定義

一個map task分為三個階段:read phase、map phase和collection phase。其中參數對性能有較大影響的是collection phase,在該階段中,定義兩種類型的微操作:

1)將輸入數據寫入到內存,內存大小由參數io.sort.mb決定,定義內存寫微操作cm_mic_op。

2)當內存數據寫入量到達閾值時觸發磁盤寫操作,將內存中所有數據寫入磁盤,閾值由參數sort.spill.percent決定,定義磁盤寫微操作cd_mic_op。

微操作的意義在通過參數可以定量分析某次微操作處理的數據量,從而得到微操作時間。

同樣,一個reduce task分為三個階段:shuffle phase、reduce phase和sort_write phase。其中參數對性能有較大影響的是shuffle phase,在該階段中定義三種類型的微操作:

1)從map端拉取輸入數據存入內存,內存空間大小由參數reduce.java.opts和參數shuffle.input.buffer.percent決定,定義單次內存寫操作為微操作sm_mic_op。

2)當內存寫達到閾值時,將內存中的數據按照閾值大小寫入磁盤存為本地文件。閾值由參數shuffle.merge.percent決定,定義單次磁盤寫微操作sd_mic_op。

3)當寫入磁盤的本地文件個數到達閾值時,在磁盤中進行文件合并,將閾值個數的文件合并為一個大文件,閾值由io.sort.factor決定,定義單次merge操作為磁盤合并微操作merge_mic_op。

參數對shuffle phase階段性能的影響直接體現在這三種類型的微操作中,通過分析參數變化對微操作處理數據量的影響,可以得到參數變化對階段運行時間所造成的影響。

本節在參數對性能有較大影響的階段中定義了幾種微操作方式,在其余階段,參數對其性能影響較小,本文不予討論,僅通過優化上述階段中的參數即可達到優化整個作業的目的。

2.3 微操作基準測試

在2.2節中定義了幾種不同階段的微操作,在本節將介紹如何建立微操作模型,得到微操作執行時間與參數的關系。

Hadoop中參數影響性能的本質在于,參數值不同時單次微操作處理的數據量不同,而內存寫和磁盤寫微操作在處理不同大小的數據時速率不同,同時總數據量一定時微操作執行的總次數會因為單次微操作處理的數據量不同而變化,所以參數通過影響內存寫和磁盤寫微操作的總執行次數和單次微操作速率影響作業總執行時間。通過確定單次微操作在不同參數值下處理數據的速率,再完成所有數據處理流程得到微操作執行次數,即可得到階段總時間。接下來介紹如何建立微操作速率模型。

與Map task的collection phase中兩種微操作相關的系統參數是io.sort.mb和sort.spill.percent,這兩個參數決定了內存寫入時的空間大小和觸發磁盤寫操作的閾值。將這兩個參數值設為不同的離散值,并使用相應參數值在實際集群中執行實際的單map task任務,在系統執行日志中收集內存寫和磁盤寫在不同數據量下的速率表現,通過擬合速率和數據量大小的關系建立微操作速率模型,通過速率和數據量即可得到執行時間。該基準測試的目的在于測試出cm_mic_op和cd_mic_op處理不同大小數據時的速率表現,只需執行簡單的單map task任務,執行時間短,建模效率高,這里高效率的建模方式也是本方法可移植性好的根本體現。基準測試時任務類型須和目標作業類型相同,因為不同作業的數據結構不同,微操作的速率也就可能不同,需要建立不同的微操作模型。

與Reduce task的shuffle phase中三種微操作相關的系統參數是reduce.java.opts、shuffle.input.buffer.percent、shuffle.merge.percent和io.sort.factor,這四個參數是reduce task中影響性能的主要參數,其決定了內存寫入時的空間大小和觸發磁盤寫操作的閾值,以及在磁盤進行文件合并時的閾值。同樣,這些參數對時間性能的影響主要體現在影響微操作處理的數據量大小。為了建立sm_mic_op、sd_mic_op和merge_mic_op的速率模型,將這幾個參數值設為不同的離散值,并使用相應參數值在集群中執行實際的單reduce任務,然后在系統日志中收集不同操作在不同數據量下的速率表現,通過擬合微操作執行速率和數據量大小的關系建立模型,通過速率和數據量便可得到執行時間。這里建立的內存寫微操作sm_mic_op可以看作是網絡傳輸速率模型。通過定義微操作的方式定量地分析網絡傳輸速率和數據量大小的關系,在對reduce端的微操作進行基準測試時,map端的task需能完整體現網絡結構的性能,即在每一個nodemanager中都需要執行map task,存儲中間數據供reduce task拉取。由于只是測試單reduce task作業,所以數據量無需過大,以測試效率為主。

在集群和作業類型固定的情況下,本文假設微操作速率符合以下線性模型:

3 作業重構與優化

3.1 作業重構

在本節中,將詳細介紹如何根據建立好的微操作模型重構得到階段(phase)的原始運行過程,從而得到階段運行時間和參數的關系。

在第2章中,對兩個階段進行了解構,針對不同的階段,利用該階段定義的微操作對該階段的運行流程進行重構。Map task中的collection phase,作如下定義:

其中:記參數io.sort.mb的值為x,參數sort.spill.percent的值為y;Tc表示collection phase執行時間;cm_mic_op微操作時間模型表示為M(a),a表示輸入數據量大小,返回處理時間;cd_mic_op微操作時間模型表示為D(a),a表示輸入數據量大小;Din表示collection phase處理數據的總大小。

當第一次內存寫達到閾值時,觸發磁盤寫操作并將寫入了數據的內存空間鎖定(內存空間被鎖定后,不再有數據寫入),與此同時,內存寫操作會繼續在剩余空閑的內存空間內寫入數據直到當次磁盤寫操作結束,此時解鎖之前被鎖定的內存空間,若:

1)此次磁盤寫操作過程中內存中被寫入的數據量大于等于x*y,則再次觸發磁盤寫操作,將內存中的數據全部存入磁盤。

2)此次磁盤寫操作過程中內存中被寫入的數據量小于x*y,則在被解鎖的內存空間中繼續寫入數據,直到內存中的數據量達到閾值x*y時,再次觸發磁盤寫操作。

如此交替執行內存寫操作和磁盤寫操作直至所有數據被寫入磁盤。在式(2)中,y>0.5時對應上述情況1),y≤0.5時對應上述情況2)。

對于reduce task中的shuffle phase,有四個主要影響性能的參數:reduce.java.opts、shuffle.input.buffer.percent、shuffle.merge.percent和io.sort.factor。其中reduce.java.opts和shuffle.input.buffer.percent決定了sm_mic_op內存寫入時的空間大小。參數shuffle.merge.percent決定了觸發sd_mic_op磁盤寫入時內存中存在數據的閾值,參數io.sort.factor決定了觸發merge_mic_op文件合并時本地存在的文件個數,例如當io.sort.factor=n時,當本地存在的文件個數為2*n-1個時,觸發merge_mic_op操作,合并大小最小的n個文件為一個文件。

對于shuffle phase運行過程的重構,首先sm_mic_op從起始位置開始查找內存中空余空間,往未被鎖定的內存空間中寫入數據,當第一次內存寫達到閾值時觸發磁盤寫操作并將該部分內存空間鎖定,直到本次磁盤寫操作結束時對其解鎖;與此觸發磁盤寫操作的同時,內存寫操作繼續在剩余空閑且未被鎖定的空間內寫入數據,達到閾值時再次觸發磁盤寫操作,如此往復,當本地文件個數達到觸發merge_mic_op的閾值時,觸發文件合并操作;當sm_mic_op查找到內存空間尾部位置時,開始等待,停止寫入數據直到所有磁盤寫操作結束即內存中所有空間被解鎖時,再次從內存起始位置開始查找空余空間寫入數據;當sm_mic_op處理過的數據量達到reduce task所需處理的數據總量時,重構過程完成。

基于微操作模型,可以在不同參數值的情況下對shuffle phase進行作業重構,得出參數和階段執行時間的關系。

在reduce task中還有一個階段是sort_write phase(sw_phase),該階段利用多路歸并算法將所有數據進行排序并輸出到磁盤得到最終結果。該階段的特殊性在于雖然沒有直接影響該階段性能的參數,但是在shuffle phase中產生的本地文件個數會間接影響該階段的數據排序效率。為了提高整個job執行時間優化的準確性,需要對該階段進行建模。將sort_write phase整個階段定義為一個磁盤寫微操作,影響該操作的參數是決定shuffle phase本地文件個數的參數和總數據量,所以在第2章的基準測試中,測試shuffle phase相關微操作的同時,在系統日志中提取出sort_write phase執行時間與shuffle phase的本地文件個數和數據量的關系。定義如下微操作模型:

(3)

其中:Tsw_phase表示sort_write phase的執行時間;Dsw_input表示sort_write phase處理的數據量大小;Nspill表示shuffle phase中sd_mic_op執行的次數; αsw_phase和βsw_phase表示模型參數,通過基準測試擬合可以得到模型參數。

3.2 基于微操作的參數調優

針對本文的Hadoop參數調優問題,優化目標是最小化mapreduce job的運行時間,將job解構為六個phase之后,優化目標從最小化job整體運行時間轉換為最小化collection phase、shuffle phase和sort_write phase運行時間之和。基于微操作模型對各階段運行時間進行最小化即可得到最小化的job運行時間。

本文方法可視為一種優化問題的描述方法和分析框架,在此模型基礎上可以應用不同的參數搜索算法來優化作業運行時間。下面給出基于微操作模型的調優框架:

1)解構運行過程,分析參數影響方式,定義微操作類型。

2)基于定義的微操作進行基準測試,建立微操作執行時間和參數的關系。

3)基于微操作對運行過程進行重構,建立整體運行時間與參數的關系。

4)選擇搜索算法在參數空間內進行搜索,迭代執行模型,得到在不同參數值情況下運行時間的情況選擇運行時間達到要求的參數組合。

5)結束參數優化。

4 實驗結果與分析

使用本文提出的方法構建了微操作模型和運行過程重構模型進行實驗。實驗環境配置為:型號為DELL PowerEdge R710的服務器6臺,磁盤500GB/臺,內存8GB/臺,默認設置一個nodemanager上并行4個map task,并行2個reduce task。用terasort和wordcount兩種作業測試了本文的方法。

4.1 度量標準

在實驗結果中主要對作業默認配置的運行時間和調優后的運行時間進行對比,并對默認配置的運行時間歸一化為1,調優后執行時間為與默認配置下執行時間的比率。

作業默認參數值如表2所示,在參數名后標記序號是為在后續參數表中表示對應參數名,不再寫具體參數名。

4.2 數據集

實驗在terasort和wordcount 2個作業類型上測試本文提出的方法,terasort和wordcount是常用的benchmark。針對collection phase分別測試50GB、100GB和200GB的輸入數據量;針對shuffle phase分別測試100GB、200GB和300GB的輸入數據量。針對job的運行時間分別測試100GB和200GB的輸入數據量。

4.3 結果分析

如圖2的實驗結果所示,第一個實驗是對terasort任務中的sd_mic_op微操作(tr_sd_mic_op)進行擬合建模,可以得到該微操作執行速率和數據量的關系。從圖2可以看出,線性擬合程度很高,個別離群點是由集群的不穩定帶來的系統隨機誤差。

第二個實驗是在terasort任務和wordcount任務上對collection phase的優化效果進行對比,結果如表3所示。在terasort任務中,單map task處理的數據量大小是1GB,平均運行時間相對于默認參數可以優化43%左右;wordcount任務中,單map task處理的數據量大小也是1GB,平均運行時間相對于默認參數情況下可以優化33%左右。參數調優后的值如表4所示,因為該階段只涉及三個參數,所以其余參數為默認值。terasort任務是一個排序任務,處理過程中數據量不會有太大的變化,而wordcount任務處理過程中數據量會減少,這是導致優化程度不一樣的主要原因。

第三個實驗是在terasort和wordcount任務上對shuffle phase的優化效果進行對比,結果如表5所示。相對于默認參數情況下,terasort的shuffle phase運行時間平均優化了45%左右,wordcount的shuffle phase運行時間平均優化了30%左右。shuffle phase參數調優后的值如表6所示,因為該階段只設計四個參數,所以其余參數為默認值。究其原因與collection phase分析的原因類似,不同任務數據變化方式也不一樣,調優效果也不一樣。

5 結語

本文針對基于手動或者經驗的Hadoop參數調優存在的問題,提出了一種基于微操作重構的Hadoop參數自動優化的方法。該方法通過將整體運行過程進行解構,定義參數直接影響的微操作模型,可以對參數的變化進行定量的分析,再基于微操作對運行過程進行重構,從而建立整體運行時間和參數的關系。實驗結果表明,本文提出的方法在調節那些人工調優很有難度的參數上有較好的效果,表明了本文所提的方法是可行且高效的。接下來,我們會針對其他更復雜的參數,如單機并行的map task和reduce task個數等進行調優,這會涉及到運行流程和硬件設備的相關分析,將是未來進一步的研究方向。

參考文獻 (References)

[1] DEAN J, GHEMAWAT S. MapReduce: simplified data processing on large clusters [C] // Proceedings of the 6th Conference on Symposium on Opearting Systems Design and Implementation. Berkeley, CA: USENIX Association, 2004: 137-149.

[2] CUTTING D. Apache Hadoop [EB/OL]. (2015-02-25)[2018-08-12]. http://hadoop.apache.org.

[3] BABU S. Towards automatic optimization of MapReduce programs [C]// Proceedings of the 1st ACM Symposium on Cloud Computing. New York: ACM, 2010: 137-142.

[4] TIPCON T. 7 tips for improving MapReduce performance [EB/OL]. (2009-12-17)[2018-08-12]. http://www.cloudera.com/blog/2009/12/7-tips-for-improving-mapreduce-performance/.

[5] HERODOTOU H, LIM H, LUO G, et al. Starfish: a self-tuning system for big data analytics [C]// Proceedings of the 2011 5th Biennial Conference on Innovative Data Systems Research. Asilomar, CA: [s.n.], 2011: 261-272.

[6] WANG J H, QIU M K, GUO B, et al. Phase-reconfigurable shuffle optimization for Hadoop MapReduce [EB/OL]. [2018-08-12]. IEEE Transactions on Cloud Computing, 2015, 3: 1-1.https://www.onacademic.com/detail/journal_1000038191224210_fd14.html.

[7] YIGITBASI N, WILLKE T L, LIAO G, et al. Towards machine learning-based auto-tuning of MapReduce [C]// Proceedings of the IEEE 21st International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems. Piscataway, NJ: IEEE, 2013: 11-20.

[8] CHAUDHURI S, NARASAYYA V. Self-tuning database systems: a decade of progress [C]// Proceedings of the 2007 International Conference on Very Large Data Bases. Framingham, MA: VLDB Endowment, 2007: 3-14.

[9] IPEK E, de SUPINSKI B R, SCHULZ M, et al. An approach to performance prediction for parallel applications [C]// Proceedings of the 2005 European Conference on Parallel Processing, LNCS 3648. Berlin: Springer, 2005: 196-205.

[10] SINGER J, KOVOOR G, BROWN G, et al. Garbage collection auto-tuning for Java MapReduce on multi-cores [C]// Proceedings of the 2011 International Symposium on Memory Management. New York: ACM, 2011: 109-118.

[11] CHENG D Z, RAO J, GUO Y F, et al. Improving performance of heterogeneous MapReduce clusters with adaptive task tuning [J]. IEEE Transactions on Parallel & Distributed Systems, 2017, 28(3): 774-786.

[12] WASI-UR-RAHMAN M, ISLAM N S, LU X, et al. MR-Advisor: a comprehensive tuning tool for advising HPC users to accelerate MapReduce applications on supercomputers [C]// Proceedings of the 28th International Symposium on Computer Architecture and High Performance Computing. Piscataway, NJ: IEEE, 2016: 198-205.

[13] 童穎.基于機器學習的Hadoop參數調優方法[D].武漢:華中科技大學,2016:1-52.(TONG Y. Hadoop parameters tuning method based on machine learning [D]. Wuhan: Huazhong University of Science and Technology, 2016: 1-52.)

[14] LIAO G, DATTA K, WILLKE T L. Gunther: search-based auto-tuning of MapReduce [C]// Proceedings of the 2013 European Conference on Parallel Processing, LNCS 8097. Berlin: Springer, 2013: 406-419.

[15] DEB K. An introduction to genetic algorithms [J]. Sadhana, 1999, 24(4/5): 293-315.

[16] 祝春祥,陳世平,陳敏剛.基于遞歸隨機抽樣的Hadoop配置優化[J].計算機工程,2016,42(2):26-32.(ZHU C X, CHEN S P, CHEN M G. Configuration optimization of Hadoop based on recursive random sampling [J]. Computer Engineering, 2016, 42(2): 26-32.)

主站蜘蛛池模板: 91青青视频| 亚洲第一成网站| 国产精品va| 99精品伊人久久久大香线蕉| 欧美精品不卡| 国产尹人香蕉综合在线电影 | 国产乱人伦偷精品视频AAA| 日韩av手机在线| 在线精品亚洲国产| 国产一级视频在线观看网站| 国内精品小视频在线| 日本在线欧美在线| 九九视频免费在线观看| 亚洲欧美在线精品一区二区| 国产成人AV大片大片在线播放 | 成人精品午夜福利在线播放| 谁有在线观看日韩亚洲最新视频| 中文字幕 91| 亚洲欧美成人在线视频| 久久精品人人做人人爽| 国产高潮视频在线观看| 一本久道久久综合多人| 丁香六月综合网| 国产在线欧美| 日本尹人综合香蕉在线观看| 波多野一区| 日韩毛片免费视频| 77777亚洲午夜久久多人| 日韩毛片视频| 3344在线观看无码| 亚洲色无码专线精品观看| 久久www视频| 国产精品污污在线观看网站| 国产肉感大码AV无码| 欧美不卡视频在线观看| 国产精品久久久久鬼色| 国产永久免费视频m3u8| 日韩国产综合精选| 啪啪免费视频一区二区| 色妞www精品视频一级下载| 国产精品亚洲精品爽爽| 91精品免费久久久| 亚洲首页在线观看| 男女性午夜福利网站| 国产午夜在线观看视频| 免费在线成人网| 国产日韩欧美黄色片免费观看| 欧美国产在线精品17p| 国产第一页屁屁影院| 国产美女91呻吟求| 亚洲—日韩aV在线| 欧美精品亚洲日韩a| 欧美不卡视频一区发布| 99无码中文字幕视频| 女人18毛片久久| 亚洲欧美日韩视频一区| 久久香蕉国产线| jizz在线免费播放| 无码在线激情片| 2021国产精品自产拍在线| 99久久精品国产精品亚洲| 亚洲视频在线青青| 久久中文字幕2021精品| 欧美在线综合视频| 亚洲黄网视频| 狠狠亚洲五月天| 精品国产aⅴ一区二区三区 | 色综合天天操| 免费人成黄页在线观看国产| 最新无码专区超级碰碰碰| 国产网友愉拍精品| 日韩亚洲高清一区二区| 最新亚洲av女人的天堂| 亚洲午夜国产片在线观看| 免费又黄又爽又猛大片午夜| 久久久久亚洲精品成人网 | 久久精品只有这里有| 激情六月丁香婷婷四房播| 国产精品密蕾丝视频| 久久精品只有这里有| 尤物国产在线| 免费在线观看av|