馬生俊,陳旺虎,俞茂義,李金溶,郟文博
(西北師范大學(xué) 計算機科學(xué)與工程學(xué)院,蘭州 730070) (*通信作者電子郵箱1780761723@qq.com)
云環(huán)境下影響數(shù)據(jù)分布并行應(yīng)用執(zhí)行效率的因素分析
馬生俊*,陳旺虎,俞茂義,李金溶,郟文博
(西北師范大學(xué) 計算機科學(xué)與工程學(xué)院,蘭州 730070) (*通信作者電子郵箱1780761723@qq.com)
云環(huán)境下,類似MapReduce的數(shù)據(jù)分布并行應(yīng)用被廣泛運用。針對此類應(yīng)用執(zhí)行效率低、成本高的問題,以Hadoop為例,首先,分析該類應(yīng)用的執(zhí)行方式,發(fā)現(xiàn)數(shù)據(jù)量、節(jié)點數(shù)和任務(wù)數(shù)是影響其效率的主要因素;其次,探討以上因素對應(yīng)用效率的影響;最后,通過實驗得出在數(shù)據(jù)量一定的情況下,增加節(jié)點數(shù)不會明顯提高應(yīng)用的執(zhí)行效率,反而極大地增加執(zhí)行成本;當(dāng)任務(wù)數(shù)接近節(jié)點數(shù)時,應(yīng)用的執(zhí)行效率較高、成本較低。該結(jié)論為云環(huán)境中類似MapReduce的數(shù)據(jù)分布并行應(yīng)用的效率優(yōu)化提供借鑒,并為用戶租用云資源提供參考。
云環(huán)境;數(shù)據(jù)分布并行應(yīng)用;MapReduce;效率;成本
隨著互聯(lián)網(wǎng)應(yīng)用的蓬勃發(fā)展,大數(shù)據(jù)時代已經(jīng)到來[1]。數(shù)據(jù)來源廣而快,數(shù)據(jù)量龐大而多樣,常規(guī)的處理方法已很難滿足需求,云計算(Cloud Computing)應(yīng)運而生。云計算理論上可以提供無窮的計算能力和存儲能力,用戶按需租用供應(yīng)商提供的計算資源和存儲資源[2],如Google、Amazon、IBM、百度、騰訊、阿里巴巴等擁有各自的云環(huán)境租給用戶執(zhí)行計算和存儲等操作。在云環(huán)境中,提供給用戶的計算資源和存儲資源通常對應(yīng)一定數(shù)量和類型的節(jié)點,節(jié)點類型限定了其處理能力、吞吐量、單位時間的費用等特性[3]。
作為用戶,在任務(wù)完成的基礎(chǔ)上,更重要的是關(guān)心如何節(jié)省費用和時間以減少租用成本保障自身的利益。比如說,如何花費最少的時間和金錢完成最多的應(yīng)用。然而,用戶執(zhí)行應(yīng)用、處理數(shù)據(jù)時,一方面,要求執(zhí)行時間短,就應(yīng)該租用較多的節(jié)點并發(fā)地執(zhí)行,若節(jié)點數(shù)過多且數(shù)據(jù)量過小,可能造成資源利用率的降低,增加資源使用成本;另一方面,要求花費金錢少,就應(yīng)該租用較少的節(jié)點,若節(jié)點數(shù)過少且數(shù)據(jù)量過大,將導(dǎo)致任務(wù)執(zhí)行時間延長,同樣增加最終執(zhí)行成本[4]??梢姡瑢τ脩魜碚f,執(zhí)行時間和處理費用是一對矛盾體,很難達到“既要馬兒跑又叫馬兒不吃草”的目標(biāo);但用戶確實存在這樣的需求,如何盡量滿足用戶的這種需求?為此,應(yīng)該著眼于應(yīng)用的執(zhí)行效率,提高每個節(jié)點的利用率,租用適當(dāng)?shù)墓?jié)點數(shù)以降低執(zhí)行成本、滿足用戶需求。
如何提高應(yīng)用的執(zhí)行效率、減少執(zhí)行成本已成為一大研究熱點,而分析影響應(yīng)用執(zhí)行效率和執(zhí)行成本的各類因素及其內(nèi)在關(guān)系至關(guān)重要。本文以Hadoop為例,重點分析云環(huán)境中影響數(shù)據(jù)分布并行應(yīng)用執(zhí)行效率的因素,探討因素間的關(guān)系及對應(yīng)用執(zhí)行效率產(chǎn)生的影響;通過實驗,給出各因素間的變化規(guī)律;總結(jié)實驗結(jié)果,試圖發(fā)現(xiàn)如何確定適當(dāng)個數(shù)的節(jié)點以提高應(yīng)用的執(zhí)行效率、降低執(zhí)行成本的結(jié)論。
本文的主要貢獻:1)初步探索了在云環(huán)境中影響數(shù)據(jù)分布并行應(yīng)用執(zhí)行效率和租用成本的數(shù)據(jù)量、節(jié)點數(shù)、任務(wù)數(shù)等因素及其相互關(guān)系。2)根據(jù)各因素的變化規(guī)律,發(fā)現(xiàn)數(shù)據(jù)量一定時,增加節(jié)點數(shù)不會明顯提高應(yīng)用的執(zhí)行效率,反而極大地增加了執(zhí)行成本;任務(wù)數(shù)接近節(jié)點數(shù)時,應(yīng)用的執(zhí)行效率較高、成本較低。
云計算作為一種新的計算模式以其自身的特點和優(yōu)勢被廣泛地應(yīng)用,如何提高資源利用率、降低應(yīng)用執(zhí)行時間已成為一個研究的熱點。針對該問題,目前已開展了許多研究,主要涉及文獻[5-14]等。
文獻[5]針對由物理機和虛擬機混合組成的異構(gòu)云環(huán)境進行Hadoop性能測試,得出由于虛擬機的高IO開銷,導(dǎo)致Hadoop的性能相比傳統(tǒng)的純物理節(jié)點集群急劇降低。該文獻采用不同的數(shù)據(jù)量進行測試;但沒有考慮節(jié)點數(shù)和任務(wù)數(shù)的變化對固定數(shù)據(jù)量執(zhí)行時間的影響。文獻[6]通過在OpenStack云平臺搭建Hadoop集群測試影響應(yīng)用執(zhí)行性能的因素,得出數(shù)據(jù)量的大小和集群規(guī)模是影響應(yīng)用性能的主要因素;該文獻采用任務(wù)數(shù)的默認(rèn)個數(shù),沒有考慮在數(shù)據(jù)量和節(jié)點數(shù)一定時任務(wù)數(shù)的變化對應(yīng)用執(zhí)行性能的影響。文獻[7]通過Amazon EC2(Elastic Compute Cloud)兩種不同類型的虛擬機在Hadoop集群中測試Wordcount、TeraSort、Grep等多種應(yīng)用,得出集群節(jié)點數(shù)的增加可提高應(yīng)用執(zhí)行效率,降低執(zhí)行時間;該文獻考慮了節(jié)點數(shù)的變化對應(yīng)用性能的影響,但沒有考慮數(shù)據(jù)量和任務(wù)數(shù)的變化對應(yīng)用性能的影響。文獻[8]針對當(dāng)前對數(shù)據(jù)中心網(wǎng)絡(luò)拓?fù)涞难芯恐饕性谌绾翁岣咝阅苌?,然而忽略了?shù)據(jù)中心網(wǎng)絡(luò)拓?fù)渑c云計算機制的相適應(yīng)問題,設(shè)計了一種支持云計算的數(shù)據(jù)中心網(wǎng)絡(luò)拓?fù)?;該文獻著眼于數(shù)據(jù)中心的網(wǎng)絡(luò)拓?fù)洌岢鲋挥型負(fù)浣Y(jié)構(gòu)和云計算機制相匹配的數(shù)據(jù)中心網(wǎng)絡(luò)才能更好地滿足需求。文獻[9]針對作業(yè)過程中數(shù)據(jù)傳輸和數(shù)據(jù)處理流程,提出了虛擬網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的優(yōu)化機制,減少了數(shù)據(jù)傳輸和處理的總開銷,提高了MapReduce云框架處理大數(shù)據(jù)的整體性能。文獻[10]針對數(shù)據(jù)重分布,充分利用map/reduce空閑、開發(fā)新的混合路由表等方面對MapReduce進行擴展提出了“XMR”(eXtensible-MapReduce)模型,應(yīng)用性能得到了提高。文獻[11]針對Hadoop中處理小文件的4種方法(TextInputFormat默認(rèn)輸入格式、為處理小文件而設(shè)計的CombineFileInputFormat輸入格式、SequenceFile和Harballing技術(shù))通過Wordcount應(yīng)用測試多種典型的數(shù)據(jù)集(信息科學(xué)方面的數(shù)據(jù)集、航空方面的數(shù)據(jù)集、圖書館科學(xué)方面的數(shù)據(jù)集等)得出四種處理方法對應(yīng)用性能的影響。文獻[12]根據(jù)實時作業(yè)的特性,針對Hadoop自帶的調(diào)度器不能有效支持實時作業(yè),設(shè)計了新的實時調(diào)度器,其核心是通過修改作業(yè)的優(yōu)先級算法,讓更多作業(yè)能在截止期前完成。文獻[13]歸納Hadoop集群使用到的參數(shù),分析云計算工作流程中的參數(shù),使參數(shù)和流程一一對應(yīng),尋找出可以作為性能參數(shù)的參數(shù)值,通過啟發(fā)式算法進一步得到最佳參數(shù)組合,以提高Hadoop云計算平臺的性能。文獻[14]通過分析比較Hadoop現(xiàn)有的排序算法,發(fā)現(xiàn)頻繁的磁盤讀寫是降低數(shù)據(jù)處理效率的主要原因,為此優(yōu)化現(xiàn)有的排序算法,提出了置換選擇算法,使得效率有了一定的提升。文獻[9-14]分別針對影響MapReduce應(yīng)用的內(nèi)部機制作了相應(yīng)的處理,使得應(yīng)用效率有一定的提高。
云環(huán)境中,有非常多的因素影響數(shù)據(jù)分布并行應(yīng)用的執(zhí)行效率。上述研究中,考慮了很多影響因素,如異構(gòu)集群環(huán)境、內(nèi)部處理機制、網(wǎng)絡(luò)拓?fù)浜蛶?、集群?guī)模及數(shù)據(jù)集類型等因素,但是沒有綜合考慮節(jié)點數(shù)、數(shù)據(jù)量、任務(wù)數(shù)對應(yīng)用執(zhí)行效率的影響。文中重點關(guān)注節(jié)點數(shù)、數(shù)據(jù)量和任務(wù)數(shù)等因素對數(shù)據(jù)分布并行應(yīng)用執(zhí)行效率的影響,為用戶確定適當(dāng)個數(shù)的節(jié)點以提高執(zhí)行效率、降低執(zhí)行成本提供參考。
為滿足用戶使用較少的成本處理較多數(shù)據(jù)的需求,不得不考慮云環(huán)境中數(shù)據(jù)的存儲和計算方式。下面從存儲和計算兩方面探討用戶數(shù)據(jù)在云環(huán)境中的處理方式。一般地,用戶數(shù)據(jù)量會比較大,通常在TB的級別,甚至?xí)螅瑔蝹€節(jié)點無法存儲足如此大規(guī)模的數(shù)據(jù)[15],更別說進行其他操作。
顯然,用戶面臨的首要問題是如何完成大規(guī)模的數(shù)據(jù)的安全存儲,這就要求用戶不得不借助數(shù)據(jù)分布存儲技術(shù)將數(shù)據(jù)分布存儲在云中的多個節(jié)點上。云環(huán)境中廣泛使用的數(shù)據(jù)分布存儲技術(shù)是Google的GFS(Google File System)[16]和Hadoop團隊開發(fā)的HDFS(Hadoop Distributed File System)[17]。例如,Hadoop-HDFS將數(shù)據(jù)物理地分割成固定大小(默認(rèn)是64 MB)的多個數(shù)據(jù)塊(Block),采用冗余備份機制為每個Block創(chuàng)建多個副本(默認(rèn)是3)保證數(shù)據(jù)完整性,并將這些副本盡可能分散地存儲在所有節(jié)點上。完成數(shù)據(jù)的存儲之后,用戶面臨的問題便是如何處理存儲在多個節(jié)點上的數(shù)據(jù),這就要求用戶不得不借助數(shù)據(jù)并行處理技術(shù)并行地處理數(shù)據(jù)。MapReduce編程模型是云環(huán)境中被廣泛使用的并行處理框架,其主要實現(xiàn)有Hadoop的MapReduce[17]、Google的MapReduce[18]和斯坦福大學(xué)的Phoenix[19]。以Hadoop-MapReduce為例,其采用Map-Reduce的思想即“分解歸約”,將分散存儲的數(shù)據(jù)邏輯地劃分成多個分片(Splits),為每個Split創(chuàng)建一個map任務(wù),最后通過reduce任務(wù)把所有map任務(wù)的輸出作整合處理。
綜上,將云環(huán)境中處理數(shù)據(jù)的過程概括為兩步:第一步,借助數(shù)據(jù)分布存儲技術(shù)把數(shù)據(jù)物理地分割成固定大小的多個Blocks,以Block為單位在各節(jié)點上分散地存儲數(shù)據(jù);第二步,借助數(shù)據(jù)并行編程和計算框架將數(shù)據(jù)邏輯地劃分成多個Splits,以Split為單位在各節(jié)點上并行地處理數(shù)據(jù)。顯然,Block是節(jié)點上存儲數(shù)據(jù)的基本單位,Split是節(jié)點上處理數(shù)據(jù)的基本單位。可以發(fā)現(xiàn)用戶處理的數(shù)據(jù)量大小、租用的節(jié)點個數(shù)和劃分的任務(wù)個數(shù)等因素是影響應(yīng)用執(zhí)行效率的主要因素;同時,在上述兩步處理過程中伴隨著大量的數(shù)據(jù)移動,所以在云環(huán)境中網(wǎng)絡(luò)拓?fù)浜蛶捠怯绊憟?zhí)行效率的另一個主要因素。用戶處理數(shù)據(jù)過程如圖1所示。
在并行計算中,任務(wù)的總消耗時間由計算時間和額外開銷組成,進程間數(shù)據(jù)的傳輸時間是主要的額外開銷[20]。同樣,在云計算環(huán)境中應(yīng)用的總消耗時間主要來源于任務(wù)計算時間和數(shù)據(jù)傳輸時間。用戶按需租用不同數(shù)量和類型的節(jié)點,為每個節(jié)點付出一定的費用。因此,在云環(huán)境中用戶租用節(jié)點處理數(shù)據(jù)所需主要的時間T和費用M可表示為:
(1)
(2)
其中:s表示平均在每個節(jié)點上處理的任務(wù)數(shù),tmr(i)表示執(zhí)行第i個任務(wù)需要的計算時間;b表示傳輸數(shù)據(jù)的次數(shù),tio(j)表示第j次傳輸需要的時間;n表示租用的節(jié)點總數(shù),m(k)表示第k個節(jié)點的租用費用。
圖1 云環(huán)境中數(shù)據(jù)處理過程
根據(jù)式(1)可知,用戶要減少數(shù)據(jù)處理時間,就從以下幾方面考慮:1)增加節(jié)點數(shù)量,提高任務(wù)的并行性;2)減少數(shù)據(jù)量,減少任務(wù)處理和數(shù)據(jù)傳輸?shù)拇螖?shù);3)租用較高性能的節(jié)點,減少每次任務(wù)執(zhí)行的時間;4)改進網(wǎng)絡(luò)拓?fù)?,增加網(wǎng)絡(luò)帶寬,減少每次數(shù)據(jù)傳輸時間;5)提高節(jié)點利用率,以減少時間。根據(jù)式(2)可知,用戶要降低租用節(jié)點費用,就該減少租用節(jié)點數(shù)量。
然而,在實際中處理的數(shù)據(jù)量是不能被縮減的;用戶又不情愿增加費用租用更多的節(jié)點;每種類型的節(jié)點性能是一定的;網(wǎng)絡(luò)拓?fù)浜蛶捠窃骗h(huán)境中制約通信能力的瓶頸:可見,提高節(jié)點利用率增強應(yīng)用執(zhí)行效率是滿足用戶需求最為有效的途徑。作為用戶,如何確定適當(dāng)?shù)墓?jié)點數(shù),且最大限度地提高節(jié)點的利用率是亟待解決的問題。下面就從數(shù)據(jù)量D、節(jié)點數(shù)N、任務(wù)數(shù)S三者間的關(guān)系討論用戶該如何抉擇。
1)節(jié)點數(shù)N和任務(wù)數(shù)S一定時:
數(shù)據(jù)量D越多,根據(jù)式(1),計算次數(shù)不變,但每次tmr時間越多;傳輸次數(shù)不變,但每次傳輸內(nèi)容越多,tio越多,進而消耗的總時間T越多。
數(shù)據(jù)量D越少,根據(jù)式(1),計算次數(shù)不變,但每次tmr時間越少;傳輸次數(shù)不變,但每次傳輸內(nèi)容越少,tio越少,進而消耗的總時間T越少。
2)數(shù)據(jù)量D和任務(wù)數(shù)S一定,且節(jié)點數(shù)N滿足0 節(jié)點數(shù)N越多,根據(jù)式(1),每次tmr時間一定,但每個節(jié)點計算的次數(shù)減少;傳輸次數(shù)越小,tio時間越少,進而消耗的總時間T就越少。 節(jié)點數(shù)N越少,根據(jù)式(1),每次tmr的時間一定,但每個節(jié)點計算的次數(shù)減多,傳輸次數(shù)越多,tio時間越少,進而消耗的總時間T就越多。 3)數(shù)據(jù)量D和節(jié)點數(shù)N一定時,且任務(wù)數(shù)S滿足0 任務(wù)數(shù)S越多時,根據(jù)式(1),計算次數(shù)越多,tmr時間越多,傳輸次數(shù)越多,tio時間越多,進而消耗的總時間T就越多。 任務(wù)數(shù)S越少時,根據(jù)式(1),計算次數(shù)越少,tmr時間越少,傳輸次數(shù)越少,tio時間越少,進而消耗的總時間T就越少。 3.1 實驗平臺 實驗中的硬件設(shè)備為10臺聯(lián)想ThinkServer RD650服務(wù)器即10個節(jié)點(Nodes),其中1個為Namenode,其余都為Datanode。所有Node的硬件配置是Genuine Intel處理器、32 GB內(nèi)存、2 TB硬盤。所有節(jié)點都是CentOS 7.0操作系統(tǒng),JDK 1.7.0_45 JDK環(huán)境,Hadoop 2.5.2云框架。 由于文中主要探索數(shù)據(jù)量、節(jié)點數(shù)、任務(wù)數(shù)對應(yīng)用性能的影響,為了盡量降低網(wǎng)絡(luò)拓?fù)浜蛶拰嶒灥挠绊?,在實驗環(huán)境中,將10臺服務(wù)器連接在一臺普聯(lián)TL-SG1024DT千兆機架式交換機上形成一個局域網(wǎng),網(wǎng)絡(luò)帶寬為1 000 Mb/s,網(wǎng)絡(luò)拓?fù)淙鐖D2所示。 圖2 實驗環(huán)境網(wǎng)絡(luò)拓?fù)?/p> 3.2 實驗設(shè)計 實驗用于驗證數(shù)據(jù)量、節(jié)點數(shù)和任務(wù)數(shù)對應(yīng)用完成時間的影響,所以實驗以最簡單也是最能體現(xiàn)MapReduce思想的單詞計數(shù)Wordcount程序作為測試應(yīng)用。 實驗數(shù)據(jù)來源于100本英文txt類型的書籍,將所有內(nèi)容拷貝到單個txt文件,通過多次復(fù)制得到實驗要求的數(shù)據(jù)量D;節(jié)點數(shù)根據(jù)實驗要求啟動相應(yīng)個數(shù)的Datanode來控制節(jié)點數(shù)N的變化,且每次重啟時須重新上傳數(shù)據(jù);任務(wù)數(shù)可修改文件(mapred.site.xml)中mapred.min.split.size的大小得到實驗要求的任務(wù)數(shù)S。其他都采用默認(rèn)配置,如Reduce任務(wù)數(shù)為1,Block固定大小為64 MB,Block備份數(shù)為3。 實驗中各個變量變化如表1所示。 表1 各因素變化 3.3 實驗結(jié)果 根據(jù)3.2節(jié)實驗設(shè)計,采用控制變量的方法進行實驗。實驗中,數(shù)據(jù)量D、節(jié)點數(shù)N、任務(wù)數(shù)S,當(dāng)其中一個因素的值從序號1的值變化到序號5的值時,其他兩個因素的值取序號3的值保持不變,且每次實驗都進行3遍,求其平均數(shù)得到Map和Reduce任務(wù)的執(zhí)行時間即M-time(Map-time)和R-time(Reduce-time),對M-time和R-time求和得到總執(zhí)行時間T-time(Tittle-time)。分別得到如下實驗結(jié)果(時間單位為ms)。 1)當(dāng)節(jié)點數(shù)N=7和任務(wù)數(shù)S=10時,隨著數(shù)據(jù)量D的變化,得到實驗結(jié)果如表2所示。 2)當(dāng)數(shù)據(jù)量D=896 MB和任務(wù)數(shù)S=10時,隨著節(jié)點數(shù)N的變化,得到實驗結(jié)果如表2所示。 3)當(dāng)數(shù)據(jù)量D=896 MB和節(jié)點數(shù)N=7時,隨著任務(wù)數(shù)S的變化,得到實驗結(jié)果如表2所示。 表2 不同D、N、S時的實驗結(jié)果 ms 3.4 因素間關(guān)系分析 根據(jù)3.3節(jié)得到的實驗結(jié)果,可以發(fā)現(xiàn): 1)節(jié)點數(shù)N=7和任務(wù)數(shù)S=10時,隨著數(shù)據(jù)量D的變化,應(yīng)用的M-time、R-time和T-time分別呈現(xiàn)如圖3所示的變化趨勢。 圖3 數(shù)據(jù)量D對執(zhí)行時間的影響 根據(jù)圖3明顯地發(fā)現(xiàn)當(dāng)節(jié)點數(shù)和任務(wù)數(shù)一定時,隨著數(shù)據(jù)量的增大,T-time呈遞增趨勢,符合在第2章中對各因素的分析。特別地,隨著數(shù)據(jù)量的變化,M-time變化明顯,而R-time無明顯的變化趨勢,因此,為了降低應(yīng)用的執(zhí)行時間,當(dāng)數(shù)據(jù)量很大時,用戶應(yīng)租用較多的節(jié)點。 2)數(shù)據(jù)量D=896 MB和任務(wù)數(shù)S=10,且節(jié)點數(shù)N滿足0 根據(jù)圖4發(fā)現(xiàn)當(dāng)數(shù)據(jù)量和任務(wù)數(shù)一定時,隨著節(jié)點數(shù)的增大,T-time呈遞減的趨勢,符合在第2章中對各因素的分析。特別地,隨著節(jié)點數(shù)的增多,R-time的變化趨勢是先驟變后緩慢地變化,而M-time無明顯的變化趨勢,因此,為了降低應(yīng)用的執(zhí)行時間,當(dāng)數(shù)據(jù)量一定時,用戶應(yīng)租用適當(dāng)個數(shù)的節(jié)點,并非節(jié)點數(shù)越多執(zhí)行效率越高。 3)數(shù)據(jù)量D=896 MB和節(jié)點數(shù)N=7,且任務(wù)數(shù)S滿足0 圖4 節(jié)點數(shù)N對執(zhí)行時間的影響 圖5 任務(wù)數(shù)S對執(zhí)行時間的影響 根據(jù)圖5明顯地發(fā)現(xiàn)當(dāng)數(shù)據(jù)量和節(jié)點數(shù)一定時,隨著任務(wù)數(shù)的增大,T-time整體呈遞增趨勢,符合在第2章中對各因素的分析。特別地,數(shù)據(jù)量和節(jié)點數(shù)數(shù)保持不變的情況下,隨著任務(wù)數(shù)的增多,M-time和R-time都呈緩慢遞增的趨勢;可以發(fā)現(xiàn),任務(wù)數(shù)接近節(jié)點數(shù)時應(yīng)用的執(zhí)行時間處于較小,因此,為了降低應(yīng)用的執(zhí)行時間,用戶應(yīng)使任務(wù)數(shù)接近節(jié)點數(shù),以便提高資源利用率。 在云環(huán)境中影響數(shù)據(jù)分布并行應(yīng)用執(zhí)行效率和執(zhí)行成本的因素很多。文中針對類似MapReduce數(shù)據(jù)分布并行編程模式下的數(shù)據(jù)分布存儲技術(shù)和并行編程模型,詳細分析了云環(huán)境中影響該類應(yīng)用執(zhí)行效率和執(zhí)行成本的數(shù)據(jù)量、節(jié)點數(shù)和任務(wù)數(shù)等因素;探討了數(shù)據(jù)量、節(jié)點數(shù)、任務(wù)數(shù)間的關(guān)系以及對應(yīng)用執(zhí)行效率和執(zhí)行成本的影響;采用Hadoop云框架驗證了文中對各影響應(yīng)用執(zhí)行效率和執(zhí)行成本的因素分析符合實驗結(jié)果;同時,分析實驗結(jié)果總結(jié)如下:1)數(shù)據(jù)量越大時,節(jié)點數(shù)越多應(yīng)用執(zhí)行的效率較高;2)數(shù)據(jù)量一定時,并非節(jié)點數(shù)越多應(yīng)用執(zhí)行效率越高;3)任務(wù)數(shù)接近節(jié)點數(shù)時,執(zhí)行應(yīng)用的效率較高。 本文工作可以作為研究云環(huán)境中影響類似MapReduce的數(shù)據(jù)分布并行應(yīng)用執(zhí)行效率和執(zhí)行成本因素的一個重要基礎(chǔ);為類似MapReduce的數(shù)據(jù)分布并行編程模式的研究和用戶租用云資源提供一個參考。下一步,將更進一步地分析和探討影響執(zhí)行效率和成本的因素——網(wǎng)絡(luò)拓?fù)浜蛶?,盡可能全面地分析各種因素對應(yīng)用執(zhí)行性能和執(zhí)行成本的綜合影響,通過實驗總結(jié)出近似最優(yōu)的解決方案。 References) [1] 馮登國,張敏,李昊.大數(shù)據(jù)安全與隱私保護[J].計算機學(xué)報,2014,37(1):246-258.(FENG D G, ZHANG M, LI H. Big data security and privacy protection [J]. Chinese Journal of Computers, 2014, 37(1): 246-258.) [2] VAQUERO L M, RODERO-MERINO L, CACERES J, et al. A break in the clouds: towards a cloud definition [J]. ACM SIGCOMM Computer Communication Review, 2008, 39(1): 50-55. [3] JIANG D, PIERRE G, CHI C H. EC2 performance analysis for resource provisioning of service-oriented applications [C]// NFPSLAM-SOC 2009: Proceedings of the 3rd Workshop on Non-functional Properties and Service Level Agreements Management in Service Oriented Computing. Berlin: Springer, 2010: 197-207. [4] BYUN E K, KEE Y S, KIM J S, et al. BTS: resource capacity estimate for time-targeted science workflows [J]. Journal of Parallel & Distributed Computing, 2011, 71(6): 848-862. [5] 劉丹丹,陳俊,梁鋒,等.云計算異構(gòu)環(huán)境下Hadoop性能分析[J].集成技術(shù),2012,1(4):46-51.(LIU D D, CHEN J, LIANG F, et al. A performance analysis for Hadoop under heterogeneous cloud computing environments [J]. Journal of Integration Technology, 2012, 1(4): 46-51.) [6] AHMAD N M, YAACOB A H, AMIN A H M, et al. Performance analysis of MapReduce on OpenStack-based Hadoop virtual cluster [C]// ISTT 2014: Proceedings of the 2014 IEEE 2nd International Symposium on Telecommunication Technologies. Piscataway, NJ: IEEE, 2014: 132-137. [7] GOHIL P, GARG D, PANCHAL B. A performance analysis of MapReduce applications on big data in cloud based Hadoop [C]// ICICES 2014: Proceedings of the 2014 International Conference on Information Communication and Embedded Systems. Piscataway, NJ: IEEE, 2015: 1-6. [8] 丁澤柳,郭得科,申建偉,等.面向云計算的數(shù)據(jù)中心網(wǎng)絡(luò)拓?fù)溲芯縖J].國防科技大學(xué)學(xué)報,2011,33(6):1-6.(DING Z L, GUO D K, SHEN J W, et al. Researching data center networking topology for cloud computing [J]. Journal of National University of Defense Technology, 2011, 33(6): 1-6.) [9] 李立耀,趙少卡,許華榮.基于云平臺的MapReduce性能優(yōu)化策略[J].蘭州大學(xué)學(xué)報(自然科學(xué)版),2015,51(5):752-758.(LI L Y, ZHAO S K, XU H R. MapReduce performance optimization strategy based on a cloud platform [J]. Journal of Lanzhou University (Natural Sciences), 2015, 51(5): 752-758.) [10] PREMCHAISWADI W, ROMSAIYUD W. Optimizing and tuning MapReduce jobs to improve the large-scale data analysis process [J]. International Journal of Intelligent Systems, 2013, 28(2): 185-200. [11] 李三淼,李龍澍.Hadoop中處理小文件的四種方法的性能分析[J].計算機工程與應(yīng)用,2016,52(9):44-49.(LI S M, LI L S. Performance analysis of four methods for handing small files in Hadoop [J]. Computer Engineering and Applications, 2016, 52(9): 44-49.) [12] 楊浩.Hadoop平臺性能優(yōu)化的研究與實現(xiàn)[D].成都:西南交通大學(xué),2015:25-37.(YANG H. Research and implementation of Hadoop platform performance optimization [D]. Chengdu: Southwest Jiaotong University, 2015: 25-37) [13] 王春梅,胡玉平,易葉青,等.Hadoop云計算平臺的參數(shù)優(yōu)化算法[J].華中師范大學(xué)學(xué)報(自然科學(xué)版),2016,50(2):183-189.(WANG C M, HU Y P, YI Y Q, et al. Cross layer parameter optimization algorithm for Hadoop cloud computing platform [J]. Journal of Central China Normal University (Natural Sciences), 2016, 50(2): 183-189.) [14] 李千慧,魏海平,竇雪英.基于Hadoop的排序性能優(yōu)化研究[J].電子設(shè)計工程,2016,24(2):45-47.(LI Q H, WEI H P, DOU X Y. Optimization of sorting performance based on Hadoop [J]. Electronic Design Engineering, 2016, 24(2): 45-47.) [15] PRINCE J D. Introduction to cloud computing [J]. Journal of Electronic Resources in Medical Libraries, 2011, 8(4): 449-458. [16] GHEMAWAT S, GOBIOFF H, LEUNG S T. The Google file system [J]. ACM SIGOPS Operating Systems Review, 2003, 37(5): 29-43. [17] WHITE T, CUTTING D. Hadoop: The Definitive Guide [M]. 4th ed. Sebastopol: O’Reilly Media, 2012: 1-4. [18] DEAN J, GHEMAWAT S. MapReduce: simplified data processing on large clusters [J]. Communications of the ACM, 2008, 51(1): 107-113. [19] GORDON A W, LU P. Elastic phoenix: malleable MapReduce for shared-memory systems [C]// NPC 2011: Proceedings of the 8th IFIP International Conference on Network and Parallel Computing. Berlin: Springer, 2011: 1-16. [20] WOOD D A, HILL M D. Cost-effective parallel computing [J]. Computer, 1995, 28(2): 69-72. This work is supported by the National Natural Science Foundation of China (61462076). MAShengjun, born in 1989, M. S. candidate. His research interests include big data and cloud computing. CHENWanghu, born in 1973, Ph. D., professor. His research interests include big data and cloud computing. YUMaoyi, born in 1991, M. S. candidate. His research interests include big data and cloud computing. LIJinrong, born in 1989, M. S. candidate. Her research interests include big data and cloud computing. JIAWenbo, born in 1992, M. S.candidate. His research interests include big data and cloud computing. Analysisoffactorsaffectingefficiencyofdatadistributedparallelapplicationincloudenvironment MA Shengjun*, CHEN Wanghu, YU Maoyi, LI Jinrong, JIA Wenbo (CollegeofComputerScienceandEngineering,NorthwestNormalUniversity,LanzhouGansu730070,China) Data distributed parallel applications like MapReduce are widely used. Focusing on the issues such as low execution efficiency and high cost of such applications, a case analysis of Hadoop was given. Firstly, based on the analyses of the execution processes of such applications, it was found that the data volume, the numbers of the nodes and tasks were the main factors that affected their execution efficiency. Secondly, the impacts of the factors mentioned above on the execution efficiency of an application were explored. Finally, based on a set of experiments, two important novel rules were derived as follows. Given a specific volume of data, the execution efficiency of a data distributed parallel application could not be improved remarkably only by increasing the number of nodes, but the execution cost would raise on the contrary. However, when the number of tasks was nearly equal to that of the nodes, a higher efficiency and lower cost could be got for such an application. The conclusions are useful for users to optimize their data distributed parallel applications and to estimate the necessary computing resources to be rented in a cloud environment. cloud environment; data distributed parallel application; MapReduce; efficiency; cost TP301; TP393.027 :A 2017- 01- 16; :2017- 03- 11。 國家自然科學(xué)基金資助項目(61462076)。 馬生俊(1989—),男,甘肅廣河人,碩士研究生,主要研究方向:大數(shù)據(jù)與云計算; 陳旺虎(1973—),男,甘肅靜寧人,教授,博士,CCF會員,主要研究方向:大數(shù)據(jù)與云計算; 俞茂義(1991—),男,安徽銅陵人,碩士研究生,主要研究方向:大數(shù)據(jù)與云計算; 李金溶(1989—),女,山東肥城人,碩士研究生,主要研究方向:大數(shù)據(jù)與云計算; 郟文博(1992—),男,江蘇豐縣人,碩士研究生,主要研究方向:大數(shù)據(jù)與云計算。 1001- 9081(2017)07- 1883- 05 10.11772/j.issn.1001- 9081.2017.07.18833 實驗分析
4 結(jié)語