国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Hadoop分布式存儲架構(gòu)的性能分析

2018-09-12 07:30王凌暉解云月周美華
現(xiàn)代電子技術(shù) 2018年18期
關(guān)鍵詞:云計算

王凌暉 解云月 周美華

摘 要: 近幾十年,隨著互聯(lián)網(wǎng)的發(fā)展,數(shù)據(jù)正在呈爆炸式增長。為了保存和處理這些數(shù)據(jù),傳統(tǒng)的IT架構(gòu)已經(jīng)滿足不了,云計算應(yīng)運而生。Hadoop是云計算下的一種分布式處理的軟件架構(gòu),能夠?qū)Υ髷?shù)據(jù)進(jìn)行存儲和處理,而它最核心的兩大組件就是HDFS和MapReduce,分別實現(xiàn)了分布式文件存儲和分布式并行任務(wù)處理。文中,將基于PEPA對HDFS進(jìn)行建模分析,并對HDFS的性能進(jìn)行評估。

關(guān)鍵詞: Hadoop; 云計算; 分布式存儲; HDFS; PEPA; 性能評估

中圖分類號: TN915?34 文獻(xiàn)標(biāo)識碼: A 文章編號: 1004?373X(2018)18?0092?04

Performance analysis of Hadoop distributed storage architecture

WANG Linghui, XIE Yunyue, ZHOU Meihua

(School of Information Engineering, Yangzhou University, Yangzhou 225000, China)

Abstract: In recent decades, data has been in explosive growth with the development of the Internet. As the traditional IT architecture cannot meet the requirements of storing and processing the data, cloud computing has emerged. Hadoop is a distributed processing software architecture using cloud computing, which can store and process big data. The two main core components of Hadoop is the Hadoop Distributed File System (HDFS) and MapReduce, which implement distributed file storage and distributed parallel task processing respectively. In this paper, modeling analysis for the HDFS is conducted based on the Performance Evaluation Process Algebra (PEPA), so as to evaluate the performance of the HDFS.

Keywords: Hadoop; cloud computing; distributed storage; HDFS; PEPA; performance evaluation

云計算是一種異于傳統(tǒng)IT架構(gòu)的模式,其數(shù)據(jù)分布存儲和計算在不同的節(jié)點上。用戶能夠按照自己的需求獲取所需的服務(wù),而不需要從頭搭建起整個架構(gòu)。整個存儲和計算對普通用戶是透明的。用戶可以像對水電付費一樣對自己需要的計算能力付費。Hadoop[1]正是云計算下的一種分布式的數(shù)據(jù)處理框架,它有兩大核心組件,MapReduce[2]和HDFS[3](Hadoop Distributed File System),分別負(fù)責(zé)數(shù)據(jù)的處理和讀寫。在本文中,使用一種形式化語言PEPA(Performance Evaluation Process Algebra)來對HDFS的性能進(jìn)行分析。

1 背景介紹

1.1 HDFS架構(gòu)

HDFS是一種分布式的文件存儲架構(gòu),適合運行在通用硬件上;它是一個高度容錯性的系統(tǒng),適合部署在廉價的機器上。HDFS采用Master/Slave架構(gòu),一個HDFS集群通常由一個NameNode和多個DataNode組成。NameNode負(fù)責(zé)管理文件系統(tǒng)的元數(shù)據(jù)以及客戶端對文件的訪問。DateNode存儲實際數(shù)據(jù),一般是一個節(jié)點一個。HDFS暴露了文件系統(tǒng)的名字空間,以文件的形式存儲數(shù)據(jù)。存儲時一個文件會被分成一個或多個數(shù)據(jù)塊,這些塊存儲在DataNode上。NameNode負(fù)責(zé)文件系統(tǒng)的名字空間操作,管理數(shù)據(jù)塊到DataNode節(jié)點的映射。DataNode負(fù)責(zé)處理文件客戶端的讀寫請求。

1.2 PEPA

PEPA是一種描述系統(tǒng)內(nèi)部組件及組件之間交互的形式化語言[4?5],可以很好地應(yīng)用到很多并發(fā)系統(tǒng)上[6?8],也可以抽取出系統(tǒng)的性能指標(biāo)。在PEPA中,動作可以定義為([α,γ]),[α∈A]代表動作類型,[γ]代表動作速率,[A]是所有可能的動作集合。速率[γ]可以被看作指數(shù)分布的參數(shù),因此[γ∈R+]。一個狀態(tài)P在完成一個動作([α,γ])后轉(zhuǎn)換為Q,記作[P?α,γ.Q],這次轉(zhuǎn)移可以記為[P(α,γ)Q]。PEPA的語法介紹如下:

1) 前綴操作:[α,γ.P]

系統(tǒng)執(zhí)行動作[α,γ]以后表現(xiàn)為狀態(tài)P,執(zhí)行動作為[α],執(zhí)行時間服從參數(shù)為[γ]的指數(shù)分布。

2) 選擇操作:P+Q

P+Q表示一個系統(tǒng)可能表現(xiàn)為狀態(tài)P或者Q。如果P和Q的活動都執(zhí)行,選擇一個最先執(zhí)行完的動作,另一個狀態(tài)會被放棄,系統(tǒng)表現(xiàn)成選中動作的執(zhí)行結(jié)果。并發(fā)操作如圖1所示。

系統(tǒng)的兩個狀態(tài)P和Q是并發(fā)執(zhí)行,其中L是可能的并發(fā)動作的集合,對于L中的任何動作,都需要P和Q相互協(xié)作這個動作才能執(zhí)行。當(dāng)執(zhí)行不在L中的動作時,P和Q可以不用同步動作。記為[P∥Q]。

3) 隱藏操作:[PL]

集合L中的所有動作類型對外部的觀察者來說都是隱藏的。系統(tǒng)表現(xiàn)為P除了集合L中任何活動類型都是隱藏的。

4) 常量操作:[A?P]

常量A的動作和組件P相似。通過相互遞歸定義來定義有限狀態(tài)的無限行為。

2 PEPA模擬HDFS

2.1 HDFS模型

如圖1所示,HDFS由三個組件組成[9]:Clinet組件,NameNode組件和DataNode組件。

2.1.1 Client

Client首先將要傳輸?shù)奈募指畛蓧K(block)文件執(zhí)行client_split_block動作,默認(rèn)大小為64 MB。然后Client向NameNode組件發(fā)送數(shù)據(jù)請求執(zhí)行client_send_write動作。Client收到NameNode返回的DataNode組件的可用信息以后,Client將塊文件分割成package文件執(zhí)行client_split_package動作,以流式寫入的方式寫入到DataNode節(jié)點執(zhí)行client_send_package動作。

數(shù)據(jù)發(fā)送完畢后,Client會收到DataNode發(fā)送的發(fā)送完畢消息,然后Client向NameNode發(fā)送數(shù)據(jù)發(fā)送結(jié)束消息執(zhí)行client_send_done動作。本次數(shù)據(jù)發(fā)送結(jié)束。

[Client1?client_split_block,rclient_split_block.Client2]

[Client2?client_send_write,rclient_send_write.Client3]

[Client3?namenode_return_availabilty,?.Client4]

[Client4?client_split_package,rclient_split_package.Client5]

[Client5?client_send_package,rclient_send_package.Client6]

[Client6?datanode_send_client,?.Client7]

[Client7?client_send_done,rclient_send_done.Client0]

2.1.2 NameNode

NameNode收到Client的發(fā)送數(shù)據(jù)請求以后,返回DataNode的可用信息執(zhí)行nameNode_return_availabilty動作,當(dāng)DataNode接收完Client發(fā)送的數(shù)據(jù)后,會同時向NameNode和Client發(fā)送結(jié)束消息,然后Client收到結(jié)束消息后,接著會向NameNode發(fā)送結(jié)束消息,發(fā)送完畢。

[NameNode1?client_send_write,?.NameNode2]

[NameNode2?namenode_return_availabilty,rnamenode_return_availabilty.][NameNode3]

[NameNode3?datanode_send_namenode,?.NameNode4]

[NameNode4?client_send_done,?.NameNode0]

2.1.3 DataNode

當(dāng)Client把block塊分割成package以后,接著會把這些package發(fā)送到DataNode,DataNode接收完畢以后,同時向NameNode和Client發(fā)送結(jié)束消息,執(zhí)行datanode_send_namenode動作和datanode_send_client動作。

[DataNode1?client_send_package,?.DataNode2]

[DataNode2?datanode_send_namenode,rdatanode_send_namenode.]

[datanode_send_client,rdatanode_send_client.DataNode0]

定義相同的并行動作類型為[CM?(C||…||C)],可以得到系統(tǒng)描述如下:

[Client1M?L1NameNode11?L2DataNode1N],

[L1={client_send_write,namenode_return_availabilty,]

[client_send_package,datanode_send_client,client_send_done}]

[L2={datanode_send_namenode}]

2.2 參數(shù)設(shè)置

表1規(guī)定了PEPA模型中每個動作的速率。表2給定了各組件的初始個數(shù)。

2.3 仿 真

通過Matlab對HDFS的文件存儲進(jìn)行模擬仿真。主要是得到系統(tǒng)的響應(yīng)時間,響應(yīng)時間是指從執(zhí)行第一個動作開始到最后一個動作結(jié)束經(jīng)過的時間,它是一個系統(tǒng)性能的重要指標(biāo)。而在下面的實驗中,它是從client_split_block到client_send_done動作結(jié)束的持續(xù)時間。

圖2顯示Client組件對響應(yīng)時間的影響,隨著Client數(shù)量的增多,響應(yīng)時間逐漸增大。因為這是隨著Client的增大,任務(wù)量逐漸增大,需要處理的文件變多。同時也說明,隨著任務(wù)的增多,HDFS的存儲能力也在下降。

DataNode數(shù)量與響應(yīng)時間的關(guān)系如圖3所示,3條曲線基本沒有區(qū)別,這表明DataNode節(jié)點對響應(yīng)時間的影響并不是很大,因為在存儲數(shù)據(jù)時,只需要隨機地選擇3個DataNodes(默認(rèn)情況下),即使DataNode數(shù)量很多,也并不能影響讀寫數(shù)據(jù)的速度。

從圖4可以看出,隨著Client_send_package速率的提高,響應(yīng)時間在減少,但是當(dāng)速率提高到一定程度時,響應(yīng)時間基本不再變化。這是因為雖然Client發(fā)送數(shù)據(jù)包的速度提高了,但其他組件的速度并沒有變化,當(dāng)數(shù)據(jù)包到達(dá)其他組件時,處理速度沒有跟上,拉低了整個系統(tǒng)的響應(yīng)時間。但是在一定程度下,可以通過提高Client發(fā)送數(shù)據(jù)包的速度來降低響應(yīng)時間,比如提高帶寬,或者提高DataNode組件I/O能力等。

3 結(jié) 語

本文通過基于PEPA理論的建模和分析,找出不同組件之間的相互聯(lián)系和交互,對影響HDFS性能瓶頸進(jìn)行了分析。但是PEPA并不適用于云計算平臺規(guī)模特別大的情況,這種情況下可以使用Fluid approximation method[10],它可以快速地得到在可接受范圍內(nèi)精度的結(jié)果,所以下一步的工作可以使用Fluid approximation method結(jié)合對大規(guī)模的云計算平臺進(jìn)行進(jìn)一步分析。

參考文獻(xiàn)

[1] 董新華,李瑞軒,周灣灣,等.Hadoop系統(tǒng)性能優(yōu)化與功能增強綜述[J].計算機研究與發(fā)展,2013,50(z2):1?15.

DONG Xinhua, LI Ruixuan, ZHOU Wanwan, et al. Performance optimization and feature enhancements of Hadoop system [J]. Journal of computer research and development, 2013, 50(S2): 1?15.

[2] 李成華,張新訪,金海,等.MapReduce:新型的分布式并行計算編程模型[J].計算機工程與科學(xué),2011,33(3):129?135.

LI Chenghua, ZHANG Xinfang, JIN Hai, et al. MapReduce: a new programming model for distributed parallel computing [J]. Computer engineering & science, 2011, 33(3): 129?135.

[3] 郝樹魁.Hadoop HDFS和MapReduce架構(gòu)淺析[J].郵電設(shè)計技術(shù),2012(7):37?42.

HAO Shukui. Brief analysis of the architecture of Hadoop HDFS and MapReduce [J]. Designing techniques of posts and telecommunications, 2012(7): 37?42.

[4] DING J. A comparison of fluid approximation and stochastic simulation for evaluating content adaptation systems [J]. Wireless personal communications, 2015, 84(1): 231?250.

[5] DING J, HILLSTON J, LAURENSON D I. Evaluating the response time of large scale content adaptation systems using performance evaluation process algebra [C]// Proceedings of IEEE International Conference on Communications. Cape town: IEEE, 2010: 1?5.

[6] WANG H, LAURENSON D I, HILLSTON J. Evaluation of RSVP and mobility?aware RSVP using performance evaluation process algebra [C]// Proceedings of IEEE International Conference on Communications. Beijing: IEEE, 2008: 192?197.

[7] 潘耘,王勵成,余鎮(zhèn)危,等.基于隨機進(jìn)程代數(shù)的Overlay網(wǎng)絡(luò)上的QoS性能評價[J].北京郵電大學(xué)學(xué)報,2009,32(z1):129?133.

PAN Yun, WANG Licheng, YU Zhenwei, et al. Based on stochastic process algebra overlay network QoS performance evaluation [J]. Journal of Beijing University of Posts and Telecommunications, 2009, 32(S1): 129?133.

[8] 黃金才,陳灑然,程光權(quán).艦艇編隊防空過程建模及分析[J].國防科技大學(xué)學(xué)報,2014,36(3):184?190.

HUANG Jincai, CHEN Saran, CHENG Guangquan. Modeling and analysis of air defense process for warship formation [J]. Journal of National University of Defense Technology, 2014, 36(3): 184?190.

[9] 李寬.基于HDFS的分布式Namenode節(jié)點模型的研究[D].廣州:華南理工大學(xué),2011.

LI Kuan. Research of the model of distributed Namenodes in HDFS [D]. Guangzhou: South China University of Technology, 2011.

[10] HILLSTON J. Fluid flow approximation of PEPA models [C]// Proceedings of Second International Conference on the Quantitative Evaluation of Systems. Torino: IEEE, 2005: 1?10.

猜你喜歡
云計算
志愿服務(wù)與“互聯(lián)網(wǎng)+”結(jié)合模式探究
云計算與虛擬化
基于云計算的移動學(xué)習(xí)平臺的設(shè)計
實驗云:理論教學(xué)與實驗教學(xué)深度融合的助推器
云計算中的存儲虛擬化技術(shù)應(yīng)用