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

一種基于節(jié)點性能的Hadoop動態(tài)調(diào)度策略

2015-09-28 06:10:54吳平平殷其雷
現(xiàn)代計算機 2015年8期
關(guān)鍵詞:策略

吳平平,殷其雷

(四川大學計算機學院,成都 610064)

一種基于節(jié)點性能的Hadoop動態(tài)調(diào)度策略

吳平平,殷其雷

(四川大學計算機學院,成都610064)

0 引言

近年來,隨著互聯(lián)網(wǎng)應(yīng)用的飛速發(fā)展,越來越多的網(wǎng)絡(luò)服務(wù)和商業(yè)應(yīng)用被部署在云計算環(huán)境中,需處理的數(shù)據(jù)的規(guī)模越來越大,這導(dǎo)致了云計算[1]的迅速發(fā)展。云計算是一種新興的分布式的商業(yè)計算模型。其中,最出名的大規(guī)模數(shù)據(jù)處理解決方案是MapReduce[2]編程模型。MapReduce編程模型是Google公司在2004年提出的[3],被廣泛應(yīng)用于分布式抓取、分布式排序、日志分析、構(gòu)建倒排索引、機器學習等應(yīng)用中。Hadoop[4]作為云計算的一種開源實現(xiàn),也被廣泛應(yīng)用于Yahoo!、FaceBook、Amazon等公司[5]。Hadoop主要由MapReduce編程模型和HDFS分布式文件系統(tǒng)組成。

目前,Hadoop的MapReduce默認的任務(wù)調(diào)度策略僅考慮同構(gòu)環(huán)境,這就導(dǎo)致目前的Hadoop在異構(gòu)環(huán)境下的不同硬件平臺時不能根據(jù)硬件性能和機器運行時的性能動態(tài)調(diào)整各個節(jié)點的任務(wù)分配量。另外,Hadoop的參數(shù)在集群啟動之前在配置文件中進行配置,這樣在集群在其啟動之后不能根據(jù)節(jié)點的運行時性能動態(tài)的改變配置文件并使其生效[6]。本文就是在Hadoop默認的任務(wù)策略之上,提出一種基于節(jié)點性能作為指標的動態(tài)任務(wù)調(diào)度策略。該策略根據(jù)節(jié)點的CPU使用率和內(nèi)存使用率作為評價節(jié)點運行時性能的依據(jù),根據(jù)節(jié)點的運行時性能好壞動態(tài)調(diào)整節(jié)點的任務(wù)分配數(shù),從而達到集群中各節(jié)點運行在較好狀態(tài)的效果,進而縮短Hadoop集群的任務(wù)整體響應(yīng)時間。

1 Hadoop默認的調(diào)度策略

1.1默認調(diào)度策略

Hadoop的MapReduce采用了Master/Slave架構(gòu),它由Client、JobTracker、TaskTracker和Task四部分組成[7],在整個集群中,JobTracker只有一個,有多個Task-Tracker。應(yīng)用程序提交任務(wù)到JobTracker,由JobTracker進行任務(wù)的分配與調(diào)度。在JobTracker中,會在offerservice方法中啟動調(diào)度器(默認為FIFO調(diào)度器),調(diào)度器根據(jù)配置文件配置和集群的實時情況調(diào)度和分配任務(wù)。

TaskTracker會周期性地通過HeartBeat將本節(jié)點上資源的使用情況和任務(wù)運行信息匯報給JobTracker,同時也接受來自JobTracker發(fā)來的命令并且執(zhí)行它們。TaskTracker使用slot等量劃分本節(jié)點上的資源量。一個Task只有獲取一個slot之后才有機會運行,而Hadoop調(diào)度器的作用就是將各個TaskTracker上空閑的slot分配給Task使用。slot分為Map slot和Reduce slot兩種,分別給 Map Task和 Reduce Task使用。TaskTracker通過slot數(shù)目來限定Task的并發(fā)度。

圖1 

1.2默認調(diào)度策略中存在的問題

Hadoop默認的策略采用了靜態(tài)的任務(wù)分配策略,每個節(jié)點實現(xiàn)配置好可用的slot總數(shù),這些slot數(shù)目一旦啟動后無法再動態(tài)修改。但是實際應(yīng)用場景中,不同作業(yè)對資源的需求具有較大的不同,靜態(tài)配置slot數(shù)目可能會導(dǎo)致節(jié)點上的負載過高或者過低。

從對MapReduce的Task分配過程的分析可知,Hadoop默認的任務(wù)調(diào)度策略是建立在同構(gòu)的假設(shè)之上的,當JobTracker分配相應(yīng)的任務(wù)時,并不考慮節(jié)點處理能力的高低,每個節(jié)點同時執(zhí)行的任務(wù)量不會因為性能的不同發(fā)生改變。因此在異構(gòu)環(huán)境下,節(jié)點硬件性能和運行時性能有一定的差異,會出現(xiàn)以下不足:

(1)性能較差的TaskTracker負載過重,性能較好的節(jié)點的資源利用效率低下[8]。Hadoop原來的分配策略默認地認為各節(jié)點性能相同,在給各節(jié)點分配任務(wù)的時候并沒有考慮到各個節(jié)點的性能差異,相同的任務(wù)量對每個節(jié)點產(chǎn)生的負載因各個節(jié)點自身的性能高低而不同。造成性能較低的節(jié)點負載過重,從而一直處于過載狀態(tài),使響應(yīng)時間延長,從而導(dǎo)致整個集群的響應(yīng)時間變長。

(2)不能考慮運行時節(jié)點的性能。實際應(yīng)用中,有些任務(wù)在運行時需要的CPU和內(nèi)存較多,因此同樣數(shù)目的任務(wù)可能使節(jié)點的負載過重,造成響應(yīng)時間延長。

2 基于節(jié)點性能的Hadoop集群動態(tài)調(diào)度算法

2.1算法的描述

基于以上分析,本文提出一種能夠根據(jù)節(jié)點性能動態(tài)改變TaskTracker的分配任務(wù)的改進策略,該策略根據(jù)節(jié)點的性能動態(tài)調(diào)整分配給節(jié)點最大任務(wù)數(shù),從而能夠讓性能較好的工作節(jié)點分配更多的任務(wù),進而加快響應(yīng)時間。算法流程如圖2所示。

圖2 

(1)TaskTracker每間隔一個心跳周期,通過Hadoop自帶的 LinuxResourceCalculatorPlugin采 集CPU利用率和內(nèi)存利用率信息并初始化一些數(shù)據(jù)。

(2)將CPU利用率和內(nèi)存利用率分別與各自的設(shè)定值進行比較,判斷該節(jié)點在該心跳周期中是否為較好的狀態(tài)。

(3)判斷心跳計數(shù),當達到設(shè)定的值時則進行(4);否則進入(5)。

(4)根據(jù)性能評估函數(shù)確定該節(jié)點的最大任務(wù)分配數(shù)的調(diào)整。

(5)計算AskForNew值,判斷是否可以向該節(jié)點分配任務(wù)。

2.2算法的實現(xiàn)

本算法采用Java語言實現(xiàn),通過在TaskTracker類的transmitHeartBeat方法中加入算法并將修改的代碼與增加的代碼放入Hadoop工程源碼中,使用Eclipse平臺中集成的Ant進行編譯生成jar包。算法的實現(xiàn)如下:

輸入:節(jié)點的CPU使用率、內(nèi)存使用率信息

MAX,MIN:分別表示最大和最小的任務(wù)數(shù)

MaxTasksNum:初始化為2

T:心跳計數(shù)間隔

a:判斷T次心跳中節(jié)點性能為較好的數(shù)目閾值

b:判斷T次心跳中節(jié)點性能為較差的數(shù)目閾值

Performance:數(shù)組記錄T次心跳中節(jié)點的性能信息

Cthre,Mthre:分別表示CPU閾值和內(nèi)存閾值并初始化

輸出:AskForNew,MaxTasksNum

S0:/*初始化節(jié)點和參數(shù)信息*/

S1:/*TaskTracker通過 Hadoop自帶的 LinuxResource-CalculatorPlugin得到節(jié)點CPU利用率CpuUsage、內(nèi)存利用率MemUsage信息;獲取 Performance、HeartBeatCount、Max-TasksNum、MinTasksNum,其中Performance為記錄性能狀態(tài)的數(shù)組,性能較好對應(yīng)的位置1,較差置為0*/

cpuUsage=getCpuUsageOnTT();

memUsage=1-getAvailablePhysicalMemoryOnTT()*1.0/ getTotalPhysicalMemoryOnTT();

S2:/*將CPU利用率與設(shè)定的閾值Cthre比較,內(nèi)存利用率與設(shè)定的閾值Mthre比較,如果CpuUsage小于Cthre并且MemUsage小于Mthre則使Performance的對應(yīng)位置為1并且HeartBeatCount數(shù)加1,否則使Performance的對應(yīng)為置為0并且使HeartBeatCount數(shù)加1*/

/*如果CPU利用率和內(nèi)存利用率滿足一下條件,則認為是性能較好的狀態(tài)*/

S4:/*根據(jù)Performance中記錄的歷史對節(jié)點進行評估,如果Evaluate(Performance)等于1并且MaxTasksNum<MAX,則另 MaxTasksNum加 1并且將Performance數(shù)據(jù)元素都置0,HeartBeatCount置0;

如果Check(Performance)等于false并且MaxTasksNum>MIN,則另MaxTasksNum減1并且將Performance數(shù)據(jù)元素都置0,HeartBeatCount置0

*/

/*對前 T次心跳間隔中統(tǒng)計的節(jié)點信息進行評估,并動態(tài)改變最大任務(wù)數(shù)*/

S5:/*將該節(jié)點正在運行的任務(wù)數(shù) RunningTasks與MaxTasksNum進行比較,如果 RunningTasks小于 Max-TasksNum則另AskForNew置為true,即可以向該節(jié)點分配任務(wù);否則將AskForNew置為false*/

3 實驗與結(jié)果分析

3.1實驗平臺與參數(shù)

本文使用Hadoop-1.0.0進行了實驗環(huán)境的搭建并對所提出的改進策略進行實現(xiàn)并仿真。將改進的源代碼使用Eclipse集成的 Ant編譯生成jar包hadoopcore-1.0.0.jar并部署到Hadoop集群中的各個節(jié)點上,采用Hadoop自帶的WordCount基準測試程序。實驗集群共有7臺機器,其中一臺用作JobTracker節(jié)點,另外6臺用作TaskTracker節(jié)點,每臺機器的網(wǎng)絡(luò)帶寬為100Mbps。具體配置如表1所示。

不同的參數(shù)對集群的響應(yīng)時間有一定的影響。本文中,對于Hadoop默認策略的參數(shù)配置采用Hadoop的默認的配置文件中的值。改進的策略中的參數(shù)初始化配置如表2所示。

表1 集群配置

表2 改進策略參數(shù)配置

3.2實驗與分析

實驗分別使用Hadoop默認的任務(wù)分配調(diào)度策略和改進分配調(diào)度策略對1.3GB、2.6GB、3.9GB、5.2GB的文件進行WordCount基準測試。WordCount在運行時需要將數(shù)據(jù)裝入內(nèi)存和使用CPU計算,適用于測試本改進策略。為了減少實驗結(jié)果的隨機性,本實驗每組分別測試了3組數(shù)據(jù)并取平均值作為最終的測試結(jié)果。實驗結(jié)果如表3所示。從表中可以看出,改進的策略相對于原始分別縮減了7s、12.3s、14.7s、19.7s。

通過計算可知,隨著任務(wù)量的增大,改進的策略相對于默認的策略的響應(yīng)時間縮減得更多,如圖3所示。這說明隨著任務(wù)量的增大,改進算法算法比較穩(wěn)定,能夠更好地提高集群的響應(yīng)效率。

表3 Hadoop默認策略和改進策略的響應(yīng)時間對比

圖3 不同任務(wù)量的響應(yīng)時間對比

4 結(jié)語

本文通過考慮節(jié)點影響性能的CPU和內(nèi)存等因素,分析了Hadoop默認任務(wù)調(diào)度策略的局限性,提出了一種基于節(jié)點性能的動態(tài)調(diào)度策略。從實驗中可以看到,該策略能夠降低任務(wù)的響應(yīng)時間,并且隨著任務(wù)量的增大,能夠更好地減少響應(yīng)時間。

[1]劉鵬云.計算2版.北京電子工業(yè)出版社

[2]Jeffrey Dean,Sanjay and Ghemawat.MapReduce:Simplified Data Processing on Large Clusters.Communications of the ACM.Page 107~113,Volume 51,Issue 1,2008.1

[3]谷歌實驗室.http://labs.google.com/papers/mapreduce.htm

[4]Hadoop官網(wǎng).http://hadoop.apache.org

[5]雅虎開發(fā)者.https://developer.yahoo.com/hadoop

[6]欒亞建等.Hadoop平臺的性能優(yōu)化研究.計算機工程,2010(14)

[7]董西成.Hadoop技術(shù)內(nèi)幕.機械工業(yè)出版社

[8]鄭曉薇等.基于節(jié)點能力的Hadoop集群任務(wù)自適應(yīng)調(diào)度方法.計算機研究與發(fā)展,2014(03)

Hadoop;Node Performance;Scheduler Strategy

A Hadoop Dynamic Scheduling Strategy Based on the Node Performance

WU Ping-ping,YIN Qi-lei
(College of Computer Science,Sichuan University,Chengdu 610064)

1007-1423(2015)08-0042-05

10.3969/j.issn.1007-1423.2015.08.010

吳平平(1987-),男,湖北隨州人,研究生,研究方向為計算機網(wǎng)絡(luò)與信息安全

2015-02-10

2015-02-28

針對Hadoop默認的任務(wù)調(diào)度分配算法不能根據(jù)集群中節(jié)點的性能進行動態(tài)的調(diào)整任務(wù)的問題,提出一種基于節(jié)點性能的動態(tài)任務(wù)調(diào)度策略。該策略根據(jù)節(jié)點的CPU使用率和內(nèi)存使用率作為評價節(jié)點運行時性能的依據(jù),根據(jù)節(jié)點的運行時性能好壞動態(tài)調(diào)整節(jié)點的任務(wù)分配數(shù),從而達到集群中各節(jié)點運行在較好狀態(tài)的效果。實驗顯示,該策略使集群的總?cè)蝿?wù)完成時間縮減,有效提高集群的性能。

Hadoop;節(jié)點性能;調(diào)度策略

殷其雷(1991-),男,碩士,研究方向為計算機網(wǎng)絡(luò)與信息安全

The default task scheduling algorithm of Hadoop can not adjust the assignment of task according to the performance.Proposes a dynamic task scheduling strategy based on the node performance.The strategy uses the node CPU utilization and memory utilization as the basis of evaluating the node's runtime performance,then adjust the task number dynamic according to the basis,so each node in a cluster can work in the good state.Experiments results indicate that the strategy makes the total completion time of task clusters reduced significantly and improve the performance of the cluster.

猜你喜歡
策略
基于“選—練—評”一體化的二輪復(fù)習策略
幾何創(chuàng)新題的處理策略
求初相φ的常見策略
例談未知角三角函數(shù)值的求解策略
我說你做講策略
“我說你做”講策略
數(shù)據(jù)分析中的避錯策略
高中數(shù)學復(fù)習的具體策略
“唱反調(diào)”的策略
幸福(2017年18期)2018-01-03 06:34:53
價格調(diào)整 講策略求互動
主站蜘蛛池模板: 欧美成人午夜视频免看| 美女高潮全身流白浆福利区| 无码丝袜人妻| 欧美一区精品| 久久中文无码精品| 一本大道香蕉中文日本不卡高清二区 | 超碰aⅴ人人做人人爽欧美| 国产高清在线观看91精品| 欧美精品二区| 成色7777精品在线| 国产一区二区精品高清在线观看| 国产真实乱子伦精品视手机观看| 久久特级毛片| 久久国产精品娇妻素人| 性色在线视频精品| 91福利免费| 深爱婷婷激情网| 香蕉视频国产精品人| 久久国产亚洲欧美日韩精品| 成年人久久黄色网站| 国产综合精品日本亚洲777| 精品无码视频在线观看| 成人国产一区二区三区| 久久成人18免费| 国产H片无码不卡在线视频| 日本欧美在线观看| 99激情网| 久久久久亚洲Av片无码观看| 亚洲天堂在线视频| 国产精品熟女亚洲AV麻豆| 精品国产成人a在线观看| 亚洲欧美成人在线视频| 天天综合色天天综合网| 国产福利小视频高清在线观看| 91久久天天躁狠狠躁夜夜| 亚洲天堂精品在线观看| 亚洲精品综合一二三区在线| 国产亚洲美日韩AV中文字幕无码成人| 欧美成人a∨视频免费观看| 一本大道东京热无码av | 国产精品国产主播在线观看| 凹凸国产熟女精品视频| 亚洲美女久久| 蜜桃视频一区二区| 国产精品午夜福利麻豆| 亚洲欧美成人综合| 亚洲第一区在线| 国产女人在线观看| 国内精品小视频在线| 亚洲无码免费黄色网址| 国产精品片在线观看手机版| 亚洲成人动漫在线| 亚洲水蜜桃久久综合网站| 99视频在线看| 女同久久精品国产99国| 亚洲第一在线播放| 久久国产免费观看| 久久综合婷婷| 亚洲码在线中文在线观看| 一级毛片免费观看久| 首页亚洲国产丝袜长腿综合| 亚洲最大情网站在线观看 | 99久久精品无码专区免费| 欧美精品v欧洲精品| 天堂av综合网| 久久香蕉国产线看观| 国产日韩欧美成人| 97在线国产视频| 欧美a√在线| 日本高清在线看免费观看| 免费日韩在线视频| 亚洲精品视频免费| 不卡午夜视频| 国模私拍一区二区三区| 最新国产你懂的在线网址| 国产美女无遮挡免费视频| 国产色爱av资源综合区| 午夜精品久久久久久久无码软件| 国产噜噜噜| 先锋资源久久| 色综合天天娱乐综合网| 美女裸体18禁网站|