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

?

基于云平臺(tái)的MPI研究與應(yīng)用

2015-06-08 09:59:06商娟葉
電子設(shè)計(jì)工程 2015年16期
關(guān)鍵詞:進(jìn)程集群框架

商娟葉

(西安外事學(xué)院 現(xiàn)代教育技術(shù)中心,陜西 西安 710077)

隨著Internet技術(shù)的飛速發(fā)展,網(wǎng)絡(luò)信息資源呈現(xiàn)出爆炸性的增長(zhǎng)。傳統(tǒng)的并行技術(shù)已無(wú)法滿足日益增長(zhǎng)的信息化數(shù)據(jù)處理需求,隨之產(chǎn)生一種新型的并行計(jì)算技術(shù)——云計(jì)算(Cloud Computing)。在云計(jì)算的基礎(chǔ)設(shè)施層,將MPI并行算法與云計(jì)算的結(jié)合起來(lái)[1],充分利用云平臺(tái)的可共享性、高擴(kuò)展性、高容錯(cuò)性的特點(diǎn)[2],來(lái)有效地解決海量的數(shù)據(jù)處理中遇到的計(jì)算問(wèn)題。

1 云計(jì)算

1.1 云計(jì)算的概念

云計(jì)算是通過(guò)Internet將超大規(guī)模的計(jì)算和存儲(chǔ)資源整合起來(lái),形成一個(gè)虛擬的、動(dòng)態(tài)的、可伸縮的計(jì)算資源池,并以服務(wù)的形式將相應(yīng)的應(yīng)用程序按需提供給用戶。用戶可以通過(guò)網(wǎng)絡(luò)方便、快捷地獲取強(qiáng)大的計(jì)算能力、存儲(chǔ)能力及基礎(chǔ)設(shè)施[1]。

1.2 云計(jì)算的優(yōu)勢(shì)

使用云計(jì)算降低了終端設(shè)備要求,同時(shí)還提高了數(shù)據(jù)處理能力??偟膩?lái)說(shuō),云計(jì)算有以下幾個(gè)方面的優(yōu)勢(shì)[2]:

1)使用方便、快捷。用戶在終端只需要一個(gè)簡(jiǎn)單的輸入或輸出設(shè)備,就可以通過(guò)互聯(lián)網(wǎng)隨時(shí)隨地享受各種能力超強(qiáng)的“云”服務(wù)。

2)數(shù)據(jù)存儲(chǔ)安全、可靠。云計(jì)算提供了安全、可靠、可擴(kuò)展的數(shù)據(jù)存儲(chǔ)中心,使用了數(shù)據(jù)多副本容錯(cuò)、計(jì)算節(jié)點(diǎn)同構(gòu)等措施保障云服務(wù)的高可靠性、安全性。

3)強(qiáng)大的運(yùn)營(yíng)能力。很多公司的“云”擁有幾十萬(wàn)臺(tái)服務(wù)器,甚至上百萬(wàn)服務(wù)器,比如 Google、亞馬遜、IBM、微軟和Yahoo等。普通用戶可以利用云計(jì)算來(lái)完成各種業(yè)務(wù)。

4)按需服務(wù)。云計(jì)算把計(jì)算、服務(wù)和應(yīng)用作為一種公共設(shè)施提供給用戶,用戶使用計(jì)算機(jī)資源就像按需使用水、電、煤氣一樣方便。

5)極其廉價(jià)?!霸啤笔且粋€(gè)動(dòng)態(tài)的、虛擬的、龐大的資源池。由于云資源可自動(dòng)化管理及利用率大幅提升,使成本大幅降低。用戶可按需購(gòu)買(mǎi),計(jì)費(fèi)方式就和自來(lái)水、電和煤氣類(lèi)似。

2 MPI簡(jiǎn)介

2.1 MPI的概念

MPI(Message Passing Interface)是通過(guò)消息傳遞的方式在并行運(yùn)行的程序之間進(jìn)行相互通信一種接口模式。在消息傳遞模型MPI中,將程序分成若干個(gè)進(jìn)程,不同的或者相同的這些進(jìn)程單獨(dú)運(yùn)行在每個(gè)節(jié)點(diǎn)[3]。節(jié)點(diǎn)與節(jié)點(diǎn)之間可通過(guò)消息傳遞方式進(jìn)行相互通信,從而利用并行處理方式來(lái)縮短程序處理的時(shí)間。MPI是消息傳遞并行程序設(shè)計(jì)的標(biāo)準(zhǔn),具有運(yùn)算效率高、移植性能好,擴(kuò)展性能強(qiáng)等多種優(yōu)點(diǎn)[4]。

2.2 MPI函數(shù)與消息傳遞過(guò)程

MPI庫(kù)中共有上百個(gè)函數(shù),F(xiàn)ortran、C及C++均可直接調(diào)用這些函數(shù)。MPI中只要掌握6個(gè)常用函數(shù),就能完成幾乎所有的通信功能。

在所有MPI程序中首先進(jìn)行程序參數(shù)說(shuō)明,并由MPI_Init()程序完成所有的初始化工作。進(jìn)入系統(tǒng)后,MPI通過(guò)函數(shù)MPI_Comm_rank來(lái)獲取當(dāng)前進(jìn)程的編號(hào),MPI_Size獲取當(dāng)前進(jìn)程的大小,不同的進(jìn)程通過(guò)進(jìn)程編號(hào)與其它進(jìn)程進(jìn)行區(qū)分。各進(jìn)程根據(jù)需要調(diào)用相應(yīng)的函數(shù)、應(yīng)用程序,執(zhí)行各自的任務(wù),通過(guò)MPI_Send和MPI_Recv來(lái)實(shí)現(xiàn)進(jìn)程間的并行與通信。最后用MPI_Finalize()來(lái)結(jié)束進(jìn)程[5]。消息傳遞過(guò)程的程序設(shè)計(jì)流程圖1所示。

圖1 消息傳遞過(guò)程的程序設(shè)計(jì)流程圖Fig.1 The programming flow chart in the message transfer process

2.3 并行集群MPI

集群系統(tǒng)是利用高速網(wǎng)絡(luò)將一組高性能的計(jì)算節(jié)點(diǎn)上的計(jì)算機(jī),統(tǒng)一調(diào)度,協(xié)調(diào)處理,來(lái)實(shí)現(xiàn)高效、并行處理的系統(tǒng)[6]。這些計(jì)算節(jié)點(diǎn)可以是普通計(jì)算機(jī),主要由建立在操作系統(tǒng)之上的并行編程環(huán)境MPI完成系統(tǒng)的資源管理及各節(jié)點(diǎn)之間相互通信。可利用廉價(jià)的計(jì)算機(jī)集群系統(tǒng)實(shí)現(xiàn)高速、并行計(jì)算,優(yōu)點(diǎn)在于集群系統(tǒng)易于實(shí)現(xiàn)、可靠性高、擴(kuò)展性好,且節(jié)約了系統(tǒng)資源。

3 MPI云計(jì)算架構(gòu)體系

3.1 MapReduce模式

Google提出一種云計(jì)算的分布式運(yùn)算MapReduce模式。MapReduce模式是把要執(zhí)行的任務(wù)自動(dòng)分割后,通過(guò)Map()將數(shù)據(jù)映射成不同的區(qū)塊,分配給計(jì)算機(jī)集群處理,實(shí)現(xiàn)分布式并行運(yùn)算,再通過(guò)Reduce()將結(jié)果匯整,最后輸出用戶需要的結(jié)果[7]。MapReduce的處理流程如圖2所示。

MapReduce模式的軟件實(shí)現(xiàn)過(guò)程是先通過(guò)Map映射函數(shù),把數(shù)據(jù)映射成鍵值對(duì)(key/value),使用Combiner函數(shù)進(jìn)行合并,形成一系列中間結(jié)果的鍵值對(duì)(key/value),然后經(jīng)過(guò)Partitioner函數(shù)分區(qū)和Sort函數(shù)排序,最后將鍵值對(duì)(key/value)傳給Reduce函數(shù),把具有相同中間形式key的value合并在一起,得出匯整后的結(jié)果。其過(guò)程舉例如圖3所示。MapReduce模式常用于解決大規(guī)模數(shù)據(jù)處理的問(wèn)題,其程序能在計(jì)算機(jī)集群上實(shí)現(xiàn)并行化,故MapReduce模式應(yīng)用廣泛[7]。

圖2 MapReduce的處理流程圖Fig.2 The process flow chart of MapReduce

圖3 MapReduce軟件實(shí)現(xiàn)示意圖Fig.3 The schematic diagram of MapReduce software implementation

3.2 Hadoop框架

Hadoop是一個(gè)實(shí)現(xiàn)了MapReduce模式的并行編程框架。程序員可借助Hadoop框架編寫(xiě)程序,用于實(shí)現(xiàn)MapReduce算法。將應(yīng)用程序分割成若干很小的工作單元,每個(gè)單元可在任何集群節(jié)點(diǎn)上執(zhí)行或重復(fù)執(zhí)行,以實(shí)現(xiàn)對(duì)海量數(shù)據(jù)的處理。Hadoop框架提供了一個(gè)分布式文件系統(tǒng)(HDFS)和分布式數(shù)據(jù)庫(kù)(HBase),用來(lái)存儲(chǔ)各個(gè)計(jì)算節(jié)點(diǎn)上的數(shù)據(jù)。Hadoop框架具有數(shù)據(jù)讀寫(xiě)吞吐率高、容錯(cuò)性高,還能自動(dòng)處理失敗節(jié)點(diǎn)的特點(diǎn)。Hadoop框架如圖4所示。

圖4 Hadoop框架Fig.4 The Hadoop framework

3.3 MPI的云計(jì)算模型

在云計(jì)算的MPI執(zhí)行過(guò)程中,用戶將要處理的問(wèn)題提交給云平臺(tái)的Hadoop框架,MapReduce模式通常把輸入的數(shù)據(jù)集切分為若干獨(dú)立的數(shù)據(jù)塊,Map映射把指令分發(fā)到多個(gè)Slave上去,以完全并行的方式處理程序。有一臺(tái)Master,通過(guò)JobTracker與計(jì)算機(jī)集群中的Slave機(jī)器定時(shí)通信,主要啟動(dòng)、跟蹤及調(diào)度各個(gè)Slave的任務(wù)執(zhí)行。還有多臺(tái)Slave,根據(jù)實(shí)際應(yīng)用需求,結(jié)合本地?cái)?shù)據(jù),通過(guò)TaskTracker來(lái)執(zhí)行Map任務(wù)與Reduce任務(wù)。TaskTracker監(jiān)控當(dāng)前機(jī)器的任務(wù)運(yùn)行情況,并將監(jiān)控信息發(fā)送給JobTracker。當(dāng)出現(xiàn)故障時(shí),JobTracker會(huì)根據(jù)監(jiān)控信息,重新執(zhí)行Map,Reduce,若未完成,將任務(wù)重新分配在某個(gè)Slave上執(zhí)行。Reduce規(guī)約把Slave計(jì)算出來(lái)的結(jié)果進(jìn)行合并、匯整,最后將結(jié)果返回給用戶[8]。其執(zhí)行過(guò)程如圖5所示。

圖5 MPI云計(jì)算執(zhí)行過(guò)程Fig.5 MPI implementation process on cloud computing

3.4 算法并行化

并行計(jì)算是利用多個(gè)處理機(jī)協(xié)同解決同一個(gè)算法問(wèn)題,也就是將被求解的計(jì)算問(wèn)題分解成若干個(gè)模塊,每一個(gè)模塊均由一個(gè)獨(dú)立的處理機(jī)同時(shí)來(lái)進(jìn)行處理。在消息傳遞處理中,將MPI并行程序、集群系統(tǒng)、Hadoop框架及云計(jì)算核心技術(shù)整合在一起,充分利用MapReduce模式來(lái)實(shí)現(xiàn)算法的并行計(jì)算和存儲(chǔ),達(dá)到海量數(shù)據(jù)高吞吐率的處理能力。

4 測(cè)試結(jié)果與分析

在Hadoop框架性能基準(zhǔn)測(cè)試實(shí)驗(yàn)中,利用nnbench對(duì)3組數(shù)據(jù)使用6個(gè)Map函數(shù)進(jìn)行測(cè)試。實(shí)驗(yàn)中主要在數(shù)據(jù)優(yōu)化前后,針對(duì)3組數(shù)據(jù)進(jìn)行讀寫(xiě)操作,分析CPU負(fù)載、執(zhí)行時(shí)間及內(nèi)存使用情況[9]。3組測(cè)試數(shù)據(jù)如表1所示。

表1 數(shù)據(jù)優(yōu)化前Tab.1 The data before optimization

3組數(shù)據(jù)分別代表3種情況。在第一組中,處理的文件數(shù)量相對(duì)較少,但每個(gè)文件較大。在第二組,處理的文件數(shù)量比較大,但文件的大小小于第一組。在第三組中,處理的文件數(shù)量特別大,但每個(gè)文件是非常小的。數(shù)據(jù)優(yōu)化后處理情況如表2所示。

表2 數(shù)據(jù)優(yōu)化后Tab.2 The data after optimization

從上面的結(jié)果可以看出,數(shù)據(jù)優(yōu)化后,第一組性能測(cè)試結(jié)果明顯較好。減少了節(jié)點(diǎn)名占用的內(nèi)存容量,雖對(duì)CPU的性能有一定影響,但它仍在可接受的范圍內(nèi)。MPI消息傳遞方式在并行集群系統(tǒng),分布式云計(jì)算框架中,提高了節(jié)點(diǎn)處理器的使用率,減少了并行處理的時(shí)間,一定程度上提高了計(jì)算的性能,可實(shí)現(xiàn)高吞吐率,大規(guī)模的數(shù)據(jù)操作能力。

5 結(jié) 論

文中提出云計(jì)算在MPI領(lǐng)域的應(yīng)用方法,包括MapReduce模式、Hadoop架構(gòu)及MPI云計(jì)算模型,為實(shí)現(xiàn)集群系統(tǒng)及海量數(shù)據(jù)的并行運(yùn)算處理提供新思路。云計(jì)算在數(shù)據(jù)挖掘、大規(guī)模數(shù)據(jù)處理等領(lǐng)域有著廣泛的應(yīng)用價(jià)值和研究前景。要更好地發(fā)揮云計(jì)算在科研、辦公和生活等方面的應(yīng)用,我們還需要做深入的云平臺(tái)算法的開(kāi)發(fā)與研究。

[1]陸嘉恒,文繼榮,毛新生,等.分布式系統(tǒng)及云計(jì)算概論[M].北京:清華大學(xué)出版社,2011.

[2]陳全,鄧倩妮.云計(jì)算及其關(guān)鍵技術(shù) [J].計(jì)算機(jī)應(yīng)用,2009,9(29):2562-2567.CHEN Quan,DENG Qian-ni.Cloud computing and its key techniques[J].Journalof Computer Applications,2009,9(29):2562-2567.

[3]鄧賓.基于MPI高性能計(jì)算的方法研究 [J].自動(dòng)化與儀器儀表,2014,173(3):29-30.DENG Bin.Study on the computation method of high performance based on MPI[J].Automation and Instrumentation,2014,173(3):29-30.

[4]何艷輝,朱珍民.基于消息傳遞并行計(jì)算環(huán)境[J].湘潭大學(xué)社會(huì)科學(xué)學(xué)報(bào),2003,27(5):233-235.HE Yan-hui,ZHU Zhen-min.Parallel computing environment based on message passing[J].Social Sciences Journal of Xiangtan University,2003,27(5):233-235.

[5]丁文劍.云計(jì)算中消息傳遞相關(guān)問(wèn)題探討[J].無(wú)線互聯(lián)科技,2012(1):67-68.DING Wen-jian.Discussion on the related problems of the message passing in cloud computing[J].Wireless Internet Technology,2012(1):67-68.

[6]盧云娥,黃宗宇,李超陽(yáng),等.基于微機(jī)集群系統(tǒng)的 MPI并行計(jì)算[J].電子設(shè)計(jì)工程,2011,19(5):78-81.LU Yun-e,HUANG Zong-yu,LI Chao-yang,et al.The MPI parallel computing based on the microcomputer cluster[J].Electronic Design Engineering,2011,19(5):78-81.

[7]郭本俊,王鵬,陳高云,等.基于MPI的云計(jì)算模型[J].計(jì)算機(jī)工程,2009,35(24):84-86.GUO Ben-jun,WANG Peng,CHEN Gao-yun,et al.Cloud computing model based on MPI[J].Computer Engineering,2009,35(24):84-86.

[8]都志輝.高性能計(jì)算之并行編程技術(shù)——MPI并行程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2001.

[9]趙偉彪,吳俊峰,袁帥.MPI并行作業(yè)在云計(jì)算平臺(tái)上的測(cè)試研究[J].電腦知識(shí)與技術(shù),2014,15(10):3665-3667.ZHAO Wei-biao,WU Jun-feng,YUAN Shuai.Research on the testing of MPI parallel computing tasks based on cloud computing platform[J].Computer Knowledge and Technology,2014,15(10):3665-3667.

猜你喜歡
進(jìn)程集群框架
框架
廣義框架的不相交性
債券市場(chǎng)對(duì)外開(kāi)放的進(jìn)程與展望
海上小型無(wú)人機(jī)集群的反制裝備需求與應(yīng)對(duì)之策研究
一種無(wú)人機(jī)集群發(fā)射回收裝置的控制系統(tǒng)設(shè)計(jì)
電子制作(2018年11期)2018-08-04 03:25:40
Python與Spark集群在收費(fèi)數(shù)據(jù)分析中的應(yīng)用
WTO框架下
法大研究生(2017年1期)2017-04-10 08:55:06
勤快又呆萌的集群機(jī)器人
一種基于OpenStack的云應(yīng)用開(kāi)發(fā)框架
一種基于OpenStack的云應(yīng)用開(kāi)發(fā)框架
阳山县| 梨树县| 青州市| 秭归县| 孝义市| 西和县| 白玉县| 锡林郭勒盟| 陇西县| 政和县| 潞西市| 阿拉善右旗| 南川市| 贵定县| 定兴县| 望奎县| 焦作市| 柳州市| 乐昌市| 韩城市| 田东县| 沂南县| 芜湖市| 清原| 日土县| 监利县| 苏尼特右旗| 定西市| 明溪县| 龙陵县| 东辽县| 洛浦县| 武平县| 梁河县| 武强县| 仲巴县| 古交市| 蒙阴县| 罗源县| 南康市| 开封县|