周墨頌,朱正東,董小社,陳衡,王寅峰
(1.西安交通大學電子與信息工程學院,710049,西安;2.深圳信息職業(yè)技術學院軟件學院,518172,廣東深圳)
?
采用資源劃分的云環(huán)境下Hadoop資源許可調度方法
周墨頌1,朱正東1,董小社1,陳衡1,王寅峰2
(1.西安交通大學電子與信息工程學院,710049,西安;2.深圳信息職業(yè)技術學院軟件學院,518172,廣東深圳)
針對云計算環(huán)境中Hadoop平臺由于節(jié)點計算能力差異、多樣混合負載共存等原因而出現的性能不佳的問題,提出一種采用資源劃分的資源許可方法。該方法在云計算環(huán)境下通過減少資源浪費或負載過重等情況的出現來提高系統性能。該方法采集資源信息并推測任務資源需求,根據可用計算資源和任務需求動態(tài)劃分、調度資源;使用與資源無耦合的資源許可啟動任務并控制任務數量調節(jié)資源利用率以適應云環(huán)境。使用該方法對比公平調度器在國家高性能計算中心(西安)進行測試發(fā)現:單作業(yè)在資源競爭環(huán)境中優(yōu)于公平調度器的靜態(tài)結果;混合負載在3種測試環(huán)境中完成時間分別平均減少了27.5%、37.1%和50.98%,性能顯著提升。實驗結果表明,該方法可以適應負載資源需求和可用計算資源的變化,靈活劃分計算資源,解決Hadoop在云環(huán)境中的性能不佳問題。
云計算;Hadoop;資源劃分;作業(yè)調度;混合負載
Google公布的大型集群使用數據表明,其集群上運行著來自不同部門的負載,其中包括多種類型負載[1]。集群中節(jié)點計算能力的差異性非常顯著,這大大降低了基于slot和core的傳統資源劃分和調度方式的有效性,導致性能下降[1]。Google使用共享集群滿足不同部門計算需求的情況是云計算的一個縮影,云計算的重要意義之一是使用共享的基礎設施滿足不同租用者的需求,以達到提高數據、計算資源的使用效率,方便集中管理,減少維護成本等目的。因此,Google集群中的問題在云計算環(huán)境中普遍存在。云環(huán)境負載同樣具有多樣性,且由于多種原因節(jié)點計算能力也呈現出差異化:首先,集群硬件的擴充和更新換代造成了節(jié)點間計算資源異構;另外,各節(jié)點上負載的差異導致節(jié)點剩余計算能力有差異。云計算中系統性能深受節(jié)點計算能力差異化、負載多樣化的影響,因而有效地劃分和調度計算資源成為了云計算研究中的關鍵問題。
MapReduce[2]是一種高效的并行處理模型,用于在商用集群上提供PB級數據處理能力。Hadoop作為MapReduce的開源實現,是目前大數據處理中研究、應用最廣泛的平臺[3]。由Facebook公司開發(fā)的公平調度算法[4]實現了多個用戶對集群硬件資源的公平共享,該算法被廣泛應用于各數據處理平臺并取得了良好的效果。Hadoop以槽劃分節(jié)點上的計算資源,調度器通常假設計算節(jié)點能力相同。在云計算環(huán)境中,Hadoop依然忽略節(jié)點差異化的計算能力和多樣負載并存帶來的可用資源持續(xù)變化,仍然使用固定數目的slot劃分資源,導致計算節(jié)點頻繁出現資源浪費或負載過重,進而嚴重影響負載完成時間。
近年來,文獻[1,5-9]分別指出了節(jié)點計算能力差異、多樣混合負載共存等因素帶來的性能問題。文獻[7-12]從調度算法、資源劃分、負載遷移中的一或兩方面著手優(yōu)化,但Hadoop在云環(huán)境中的問題由多方面因素共同引起,僅從少數幾個方面著手解決的效果并不理想。本文結合多種優(yōu)化思路,提煉出涉及資源管理、劃分、調度和負載需求特點區(qū)分等多方面的資源許可方法,感知計算節(jié)點資源情況并推測負載資源需求,使用資源許可控制并行負載數量以適應資源變化,解決其中節(jié)點計算能力差異和多樣負載并存導致的負載完成時間增加、性能下降的問題。
Yang等提出了一種研究負載特性、Hadoop配置、系統性能之間關系的統計分析方法,分析指出負載多樣的資源需求對性能產生嚴重影響[5]。Huang等將負載按特點分組,指出負載的資源需求存在很大差異,為此設計了更接近現實的基準測試套件HiBench[6]。針對多種負載資源需求差異引起的問題,研究者們提出了不同的解決方案。Tian提出根據歷史信息預測負載資源需求以識別CPU密集型和IO密集型任務,并設計了一個三重隊列調度器[7]。Lu等提出面向負載特性調度器,通過采樣分析和靜態(tài)分析預測負載的資源特性,并以此為依據進行調度[8]。
Zaharia指出,節(jié)點間計算能力差異化不滿足Hadoop調度器所做的所有節(jié)點能力相同的假設,在性能差節(jié)點上執(zhí)行的任務可能拖慢整個作業(yè)。LATE方法通過在其他節(jié)點上重復啟動落后任務,緩解節(jié)點間計算能力差異化對作業(yè)完成時間的影響。但是,任務重復執(zhí)行消耗資源,集群負載過重時可能造成嚴重的性能下降[9]。SkewTune將落后任務劃分為小任務,并將未完成的提交為新任務遷移到其他節(jié)點以緩解節(jié)點的性能差異[10]。Rasooli等指出了負載差異、集群差異和用戶差異帶來的影響,并提出了在多個調度算法間切換的調度器[11]。Tang等通過在任務間借用槽來解決類型限制引起的資源浪費問題[12]。
以往研究中解決問題的思路可分為以下幾種:優(yōu)化調度算法、區(qū)分負載資源需求、改進資源劃分策略、負載冗余執(zhí)行、負載遷移。研究者一般從單一方面入手進行優(yōu)化,但由于Hadoop在云環(huán)境中出現的性能問題由多種因素引起,所以優(yōu)化效果不佳。優(yōu)化調度算法[11]受限于資源劃分方式,改進資源劃分策略[12]仍基于固定數目的slot,因此不適合在可用資源持續(xù)變化的環(huán)境中使用;區(qū)分負載資源需求[7-8]沒有考慮節(jié)點差異化的計算能力,不適用于云計算環(huán)境;負載冗余執(zhí)行[9]和負載遷移[10]雖然可以在性能出現問題后進行補救,但是并不能徹底解決問題。
與之前研究不同,本文從多個方面入手解決問題,加入資源機制感知節(jié)點資源情況并根據資源情況控制任務申請;在運行時推測負載的資源需求并以此為依據對計算資源進行細粒度劃分調度;提出資源許可,通過控制并行負載數量屏蔽節(jié)點能力差異化并調節(jié)資源利用率。使用本文提出的資源許可方法可以在節(jié)點計算能力差異化、負載多樣化的云環(huán)境中顯著提高性能。
2.1 資源許可架構
針對Hadoop在云計算環(huán)境中的問題,本文從感知資源變化、資源劃分、區(qū)分負載特性、調度等方面入手提出資源許可方法,其結構如圖1所示。
圖1 資源許可方法整體架構和流程
資源許可方法分為4個模塊,分別為資源感知、許可控制、需求推測、作業(yè)調度,其中資源感知和許可控制模塊運行在計算節(jié)點上,而需求推測和作業(yè)調度模塊運行在管理節(jié)點上。資源許可方法運行流程為:首先,資源感知模塊采集資源信息并有計算節(jié)點組織成資源描述表加入心跳中發(fā)送給管理節(jié)點;然后,需求推測模塊使用資源信息推測、校正任務的資源需求并提供給作業(yè)調度器使用;接著,作業(yè)調度器根據資源和需求情況作出調度決策,并由管理節(jié)點將被調度任務及其資源需求信息回應給計算節(jié)點;最后,許可控制模塊根據當時可用資源和任務資源需求動態(tài)控制許可數量,在充分利用計算資源的同時避免負載過重。
2.2 資源感知與許可控制
資源感知模塊通過周期性分析Linux系統Proc文件夾下數據來采集節(jié)點上負載的資源使用信息以及可用資源信息。
(1)
資源感知模塊負責控制新任務的申請,不等式(1)為申請條件,式中Ridle表示當前可用資源量(具體包括CPU和內存兩種資源)。不等式右側是資源閾值和資源預留因子logmn的乘積,其中資源閾值取任務資源平均需求(Ca或Ma)與固定閾值(Tc或Tm)中最小值,因為CPU平均使用量及閾值針對單個核心計算所以需要除以邏輯核數m,而由于內存平均使用量不是百分比所以需要乘以內存總量Mt,n為節(jié)點上資源使用者數目。資源預留因子被設計用來動態(tài)預留資源,這樣當資源使用者多于邏輯核數時,因子升高以預留更多資源;反之,因子降低使申請條件更容易滿足。當節(jié)點資源信息使式(1)中兩個不等式同時成立,即可用資源滿足申請條件時,進行任務申請。
許可控制模塊是整個方法的關鍵,它控制并行任務數量來適應環(huán)境中可用計算資源的變化。資源許可是任務被允許啟動的依據,分為靜態(tài)許可和動態(tài)許可兩種,任務使用任意一種許可均能獲得彈性的計算資源。靜態(tài)許可數目由配置文件指定,它可以使Hadoop在資源競爭中保有一定資源。動態(tài)許可由控制模塊動態(tài)生成,生成動態(tài)許可使用的資源會在可用資源中減去,動態(tài)許可的數量隨可用資源變化來避免資源浪費和負載過重。
資源許可控制模塊優(yōu)先使用靜態(tài)許可啟動任務,靜態(tài)許可用盡后開始生成動態(tài)許可啟動任務。生成動態(tài)許可時,控制模塊將可用資源與資源趨勢相乘后與任務需求比較,若不滿足需求則不分配。資源趨勢Rt是為了緩沖資源變化而設計的,其定義及推導參見式(2)。
(2)
式中:R、Rc、Rf分別代表總共、目前可用、將來可用的計算資源;γ表示任務;γc、γf、γ′分別代表任務當前、將來、變化的資源需求,這些信息從需求推測信息以及資源感知模塊獲得。
靜態(tài)許可數目推薦設置為較小數值,這樣少數任務可以不等待許可生成而快速啟動,同時為使用動態(tài)資源許可調節(jié)資源利用率留下空間。
2.3 需求推測與作業(yè)調度
現有的需求推測方法有歷史信息分析、程序分析、沙盒執(zhí)行等,這些方法存在延遲高、代價大、結果不準確等問題。需求推測模塊利用Hadoop任務執(zhí)行特點,在運行時使用迭代校正方法推測任務資源需求。Hadoop采用分布式文件系統將數據均勻冗余地存放在多個節(jié)點上,并規(guī)定每個任務只處理一部分數據,因而同作業(yè)同類型的任務處理的數據大小相近且邏輯相同。相同大小、分布均勻的數據經過相同邏輯處理時,所需的計算資源近似相等。因此需求推測模塊根據運行中任務的資源使用信息推測同作業(yè)同類型任務的資源需求,并使用后續(xù)任務資源使用情況對推測結果進行校正。
(3)
式(3)為推測、修正任務資源需求α時采用的公式,該公式借鑒了Linux系統平均負載計算公式。首次收到任務資源信息β則直接作為推測信息,之后收到資源信息則進行迭代修正。式(3)避免了單次數據抖動對推測結果造成重大影響,且避免了遍歷計算算術平均值的計算量。需求推測模塊計算任務每個階段內的平均資源需求,即階段內每個進度資源需求的算術平均值,作為該作業(yè)同類型任務該階段的資源需求。
作業(yè)調度器復用了公平調度器[4]的一些機制,保持了對公平性和數據本地性的支持。它針對不同類型的資源許可將調度分為兩個階段:第一個階段針對靜態(tài)資源許可,調度中只考慮可用的靜態(tài)許可數目,使Hadoop在資源競爭中獲得一定資源;第二階段的資源適應調度首先減去上一階段使用的資源量,調度器根據剩余可用資源和任務需求選擇合適的任務,并考慮reduce任務分配情況對選出的任務進行過濾以避免IO瓶頸,適應資源變化。
3.1 測試環(huán)境與測試負載
本文使用國家高性能計算中心(西安)的部分集群對資源許可方法進行驗證。集群由3類共37個節(jié)點組成:①A類高性能節(jié)點4個,每節(jié)點配有2個至強E5430 2.66 GHz CPU,共8核心,內存為16 GB,2塊146 GB Ultra320 SCSI硬盤;②B類中性能節(jié)點25個,每節(jié)點配有2個至強E5310 2.33 GHz CPU,共8核心,內存為8 GB,1塊146 GB Ultra320 SCSI硬盤;③C類低性能節(jié)點8個,每節(jié)點配有2個至強E5310 1.6 GHz CPU,共8核心,內存僅為4 GB,1塊146 GB Ultra320 SCSI硬盤。
上述所有節(jié)點配有Jdk1.6.0_45版本Java環(huán)境和1.0.1版本Hadoop平臺。Hadoop中管理節(jié)點由1個B類節(jié)點充當,其余36個節(jié)點均作為計算節(jié)點。
本文測試環(huán)境分為3種,分別為獨享集群環(huán)境、模擬競爭環(huán)境、真實云環(huán)境。測試負載分為單作業(yè)負載和混合負載,均由單詞統計、字符串匹配、排序、Terasort、Quasi-Monte Carlo方法計算圓周率、倒排索引、全球平均溫度計算等作業(yè)組成。本文對比方法為Facebook公司提出的公平調度算法[4],混合負載測試中各作業(yè)處理數據大小服從文獻[4]中描述的Facebook公司作業(yè)數據大小分布,且提交時間服從泊松分布。每種測試在相同環(huán)境下重復至少3次,測得使用資源許可方法和在10種靜態(tài)配置下的公平調度器的負載完成時間。具體靜態(tài)配置為從1m1r到10m10r,1m1r即配置1個map類型slot和1個reduce類型slot,依此類推。
本文測試圖以公平調度器所處的靜態(tài)配置作為橫坐標,以相對公平調度器在某種靜態(tài)配置下取得的作業(yè)完成時間的變化作為縱坐標,將使用資源許可方法后性能的變化呈現出來。測試圖中的散點代表一次測試結果,而折線由散點平均值繪得。圖中縱坐標值大于0的點意味著使用資源許可方法相比使用公平調度器的Hadoop在橫坐標所示的靜態(tài)配置下取得的負載完成時間減少、性能提升,而縱坐標值小于0的點意味著負載完成時間增加、性能下降。
3.2 獨享環(huán)境測試
獨享環(huán)境測試中,整個集群中只執(zhí)行Hadoop任務,環(huán)境中無其他應用的資源競爭影響。資源許可方法在獨享集群環(huán)境中相對公平調度器在各種靜態(tài)配置下取得的性能變化如圖2、3所示。
圖2 資源許可方法在獨享集群中針對 單作業(yè)取得的性能變化
圖3 資源許可方法在獨享集群中針對 混合負載取得的性能變化
由圖2可見,不同作業(yè)的性能變化曲線趨勢相同,均為先下降后升高,這表示在達到最優(yōu)完成時間之前,負載完成時間隨節(jié)點配置slot數增加而減少,之后隨節(jié)點配置slot數增加而增加。這說明充分利用資源啟動任務可以提升性能,而過多啟動任務帶來的資源競爭使性能下降。另外,各負載最優(yōu)完成時間,即折線最低點處,在不同靜態(tài)配置下取得,這證明了負載資源需求存在差異。圖2中各折線有少數點縱坐標為負,即資源許可方法少數情況相對靜態(tài)配置下的最優(yōu)結果而言性能略有下降,程度從不足1%到10%不等。出現這種情況的原因是資源許可方法在采集資源信息、推測任務需求、調度及許可管理等方面付出的代價。資源許可方法相對最優(yōu)靜態(tài)結果略有下降是可以接受的,原因在于:①各作業(yè)最優(yōu)完成時間在多個不同靜態(tài)配置下取得,而Hadoop運行時配置只有一種,無法使所有作業(yè)取得最優(yōu),而資源許可方法相比公平調度器在所有單一靜態(tài)配置均有性能提升,相比1m1r性能提升48.1%最多,相比5m5r性能提升7.4%最少,平均提升18.1%;②作業(yè)在何種靜態(tài)配置下取得最優(yōu)完成時間受多種因素影響,即使集群中只運行一種作業(yè),仍然很難對其手動配置;③資源許可方法在無資源競爭環(huán)境針對所有單作業(yè)取得只比靜態(tài)最優(yōu)略差的結果,整個過程自動完成。
圖3中所有點縱坐標均大于0,即混合負載測試中資源許可方法相對于公平調度在所有靜態(tài)配置均有性能提高,平均提高27.5%。混合負載會由于作業(yè)類型、數據大小等因素在不同靜態(tài)配置下取得最優(yōu)結果,因此資源許可方法自動取得優(yōu)于靜態(tài)最優(yōu)的結果是很出色的,這也證明資源許可方法適應環(huán)境中節(jié)點差異化的計算能力。
3.3 模擬環(huán)境測試
為了模擬真實環(huán)境中的資源競爭,測試環(huán)境中加入了3種資源需求不同的競爭程序,其資源需求見表1。每次測試時競爭程序均以相同分布與Hadoop作業(yè)同時開始執(zhí)行,保證測試環(huán)境相同。圖4、5所示為資源許可方法在模擬環(huán)境中分別針對單作業(yè)和混合負載的測試結果。
表1 競爭程序資源需求
圖4 資源許可方法在模擬集群中針對 單作業(yè)取得的性能變化
圖5 資源許可方法在模擬環(huán)境中針對 混合負載取得的性能變化
對比圖2和圖4中各曲線,不難發(fā)現相同作業(yè)在競爭環(huán)境中取得最優(yōu)性能的靜態(tài)配置發(fā)生變化。這證實了多樣負載并存帶來的資源競爭對Hadoop性能的影響是存在的。
在模擬環(huán)境中,使用資源許可方法對單作業(yè)取得明顯的性能提升,所有結果均優(yōu)于公平調度在靜態(tài)配置下取得的結果,提升程度從11.3%到48.2%不等,平均提升達到28.1%。
對比圖5和圖3,可以發(fā)現資源許可方法在競爭環(huán)境中發(fā)揮更大作用,取得了更大的性能提升:與公平調度器比較,相對最優(yōu)靜態(tài)配置提高19.6%,而相對所有靜態(tài)配置平均取得37.1%的提升,這證明資源許可方法適應了多樣負載并存的資源競爭環(huán)境,并取得了良好的效果。
3.4 真實環(huán)境測試
圖6為資源許可方法在實際使用中的云計算環(huán)境下的測試結果。此測試使用國家高性能計算中心(西安)對外提供服務的部分集群,Hadoop混合負載與能源與動力、材料科學等學科的真實科學計算及仿真應用共享集群資源,環(huán)境中可用資源時刻變化,且各種負載的資源需求呈多樣化。
圖6 資源許可方法在真實環(huán)境中針對 混合負載取得的性能變化
資源許可方法在真實環(huán)境中取得的性能提升較之前兩種環(huán)境更為明顯:相比公平調度器,平均取得50.98%的性能提升,相較于8核機器常見的4m4r的靜態(tài)配置有39.92%的性能提升,即使相對于在靜態(tài)配置中最優(yōu)的3m3r依然有35.57%的性能提升。本文認為,Hadoop在真實環(huán)境下性能大幅提升的主要原因是原有基于slot的劃分、調度資源的方式在可用資源時刻變化的真實環(huán)境中時常引起資源浪費或負載過重的情況,導致性能較差。靜態(tài)配置slot數目少時,如果集群可用資源增多,Hadoop限于靜態(tài)slot數目不能啟動更多任務,造成計算資源浪費,無法達到更好的性能。隨著配置slot數目增加,Hadoop可以啟動更多任務并行執(zhí)行,性能逐漸提升,但環(huán)境中多樣負載并存造成可用資源持續(xù)變化,而Hadoop在運行時不能控制并行的任務數,節(jié)點上資源浪費或負載過重的情況仍然時有發(fā)生。繼續(xù)增加slot數目配置,節(jié)點上并行任務過多,節(jié)點上資源浪費逐漸消失而系統負載越來越重,激烈的資源競爭導致性能開始下降,最終下降至比低slot數目配置更差。
與上述情況不同的是,資源許可方法感知計算資源變化,根據節(jié)點上可用計算資源以及任務資源需求動態(tài)劃分資源,調度、啟動任務,避免資源浪費和負載過重,適應環(huán)境中節(jié)點計算能力差異化和多樣混合負載并存。另外,由于資源許可方法利用空閑資源提高Hadoop性能而不會主動與其他負載爭搶資源,所以使用該方法時其他負載的完成時間基本保持不變。
針對云計算環(huán)境中普遍存在的節(jié)點計算能力差異化、多樣混合負載共存等特點影響Hadoop性能的問題,本文提出了涉及多方面協同優(yōu)化的資源許可方法,該方法在運行時以更細粒度動態(tài)劃分計算資源、決定作業(yè)調度以屏蔽節(jié)點計算能力差異,通過控制發(fā)放給任務的資源許可數量適應環(huán)境中可用資源變化,避免資源浪費和負載過重等情況,提高Hadoop性能。通過獨享、模擬、真實環(huán)境下的大量實驗證明了方法的有效性,該方法在各種環(huán)境下均能取得性能提升,尤其在真實云環(huán)境中,性能提升顯著,效果出色。
[1] REISS C, TUMANOV A, GANGER G R, et al. Heterogeneity and dynamicity of clouds at scale: google trace analysis [C]∥Proceedings of the Third ACM Symposium on Cloud Computing. New York, USA: ACM, 2012: 7.
[2] DEAN J, GHEMAWAT S. MapReduce: simplified data processing on large clusters [J]. Communications of the ACM, 2008, 51(1): 107-113.
[3] 李建江, 崔健, 王聃, 等. MapReduce 并行編程模型研究綜述 [J]. 電子學報, 2011, 39(11): 2635-2642. LI Jianjiang, CUI Jian, WANG Dan, et al. Survey of MapReduce parallel programming model [J]. Acta Electronica Sinica, 2011, 39(11): 2635-2642.
[4] ZAHARIA M, BORTHAKUR D, SARMA J S, et al. Job scheduling for multi-user MapReduce clusters, UCB/EECS-2009-55 [R]. Berkeley, CA, USA: University of California. EECS Department, 2009.
[5] YANG Hailong, LUAN Zhongzhi, LI Wenjun, et al. MapReduce workload modeling with statistical approach [J]. Journal of Grid Computing, 2012, 10(2):279-310.
[6] HUANG Shengsheng, HUANG Jie, DAI Jinquan, et al. The HiBench benchmark suite: characterization of the MapReduce-based data analysis [C]∥Proceedings of the 2010 IEEE 26th International Conference on Data Engineering Workshops. Berlin, Germany: Springer, 2010: 41-51.
[7] ZAHARIA M, KONWINSKI A, JOSEPH A D, et al. Improving MapReduce performance in heterogeneous environments [C]∥Proceedings of the 8th USENIX Conference on Operating Systems Design and Implementation. Berkeley, CA, USA: USENIX, 2008: 29-42.
[8] KWON Y C, BALAZINSKA M, HOWE B, et al. Skewtune: mitigating skew in MapReduce applications [C]∥Proceedings of the 2012 ACM SIGMOD International Conference on Management of Data. New York, USA: ACM, 2012: 25-36.
[9] RASOOLI A, DOWN D G. A hybrid scheduling approach for scalable heterogeneous Hadoop systems [C]
∥Proceedings of the 2012 SC Companion on High Performance Computing, Networking, Storage and Analysis. Piscataway, NJ, USA: IEEE, 2012: 1284-1291.
[10]TIAN Chao, ZHOU Haojie, HE Yongqiang, et al. A dynamic MapReduce scheduler for heterogeneous workloads [C]∥Proceedings of the 2009 8th International Conference on Grid and Cloud Computing. Piscataway, NJ, USA: IEEE, 2009: 218-224.
[11]LU Peng, LEE Y C, WANG Chen, et al. Workload characteristic oriented scheduler for MapReduce [C]∥Proceedings of the 2012 IEEE 18th International Conference on Parallel and Distributed Systems. Piscataway, NJ, USA: IEEE, 2012: 156-163.
[12]TANG Shanjiang, LEE Bu-Sung, HE Bingsheng. Dynamic slot allocation technique for MapReduce clusters [C]∥Proceedings of the 2013 IEEE International Conference on Cluster Computing. Piscataway, NJ, USA: IEEE, 2013: 1-8.
(編輯 武紅江)
A Resource License Scheduling Method for Hadoop in Cloud Computing Using Resource Allocation
ZHOU Mosong1,ZHU Zhengdong1,DONG Xiaoshe1,CHEN Heng1,WANG Yinfeng2
(1. School of Electronics and Information Engineering, Xi’an Jiaotong University, Xi’an 710049, China;2. School of Software, Shenzhen Institute of Information Technology, Shenzhen, Guangdong 518172, China)
A resource license scheduling method using resource allocation is proposed to improve the poor performance caused by different computing capacities of nodes and mixed workload in cloud computing. The method improves the performance through reducing the resources wasting or overload. It collects resource information and estimates resource requirements of workloads and allocates computing resources dynamically according to available resources and resource requirements of workloads. Licenses uncoupled with resources are used to launch tasks and to adjust the number of parallel tasks to adapt the cloud environment by controlling the number of licenses. The method is evaluated in the national high performance computing center (Xi’an). Results show that the completion times of single job workloads of the proposed method are better than those of the FAIR scheduler in competitive environments. Moreover, the completion times of mixed workloads of the method in three environments reduce 27.5%, 37.1% and 50.98% respectively on average, that is, the performance of the method has a significant improvement. It can be concluded from the results that the proposed method adapts the complex environment and solve the performance problem in cloud computing.
cloud computing; Hadoop; resource allocation; job scheduling; mixed workload
2015-03-03。 作者簡介:周墨頌(1988—),男,博士生;朱正東(通信作者),男,高級工程師,碩士生導師。 基金項目:國家自然科學基金資助項目(61173039);國家自然科學基金青年基金資助項目(61202041);國家高技術研究發(fā)展計劃資助項目(2012AA01A306);深圳市科技計劃資助項目(JCYJ20120615101127404)。
時間:2015-05-21
10.7652/xjtuxb201508012
TP391
A
0253-987X(2015)08-0069-06
網絡出版地址:http:∥www.cnki.net/kcms/detail/61.1069.T.20150521.0901.002.html