




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
并行計算技術(shù)及其應(yīng)用介紹XX(XXX,XX,XXX)摘要:并行計算是實現(xiàn)高性能計算的重要技術(shù)手段。在本文中從并行計算的發(fā)展歷程開始介紹,總結(jié)了并行計算在發(fā)展過程中所面臨的問題以及其發(fā)展歷程中出現(xiàn)的重要技術(shù)。通過分析在現(xiàn)在比較慣用的實現(xiàn)并行計算的框架和技術(shù),來對并行計算的現(xiàn)狀進行敘述。慣用的并行架構(gòu)分為SMP(多解決系統(tǒng))、NUMA(非統(tǒng)一內(nèi)存存儲)、MPP(巨型并行解決)以及集群。涉及并行計算的編程模型有MPI、PVM、OpenMP、TBB及Cilk++等。并結(jié)合現(xiàn)在研究比較多的云計算和大數(shù)據(jù)來探討并行計算的應(yīng)用。最后通過MPI編程模型,進行了并行編程的簡樸實驗。核心詞:并行計算;框架;編寫模型;應(yīng)用;實驗ASuccinctSurveyaboutParallelComputingTechnologyandIt’sApplicationAbstract:Parallelcomputingisthemaintechnologytoimplementhighperformancecomputing.ThispaperstartsfromthehistoryofthedevelopmentofParallelComputing.Itsummarizestheproblemsfacedinthedevelopmentofparallelcomputingandtheimportanttechnologiesinthecourseofitsdevelopment.Throughtheanalysisofframeworkandtechnologycommonlyusedinparallelcomputingcurrently,toexplainthecurrentsituationofparallelcomputing.FrameworkcommonlyusedinparallelareSMP(multiprocessingsystem),NUMA(nonuniformmemorystorage),MPP(massivelyparallelprocessing)andcluster.TheprogrammingmodelsofparallelcomputingareMPI,PVM,OpenMP,TBBandCilk++,etc.Exploredtheapplicationofparallelcomputingcombinedwithcloudcomputingandbigdatawhichareverypopularincurrentresearch.Finally,throughtheMPIprogrammingmodel,asimpleexperimentofparallelprogrammingiscarriedout.Keywords:parallelcomputing;framework;programmingmodel;application;experiment1引言近年來多核解決器的快速發(fā)展,使得現(xiàn)在軟件技術(shù)面臨巨大的挑戰(zhàn)。單純的提高單機性能,已經(jīng)不能滿足軟件發(fā)展的需求,特別是在解決某些大的計算問題上,單機性能越發(fā)顯得局限性。在近來AlphaGo與李世石的圍棋大戰(zhàn)中,AlphaGo就使用了分布式并行計算技術(shù),才干獲得強大的搜索計算能力。并行計算正是在這種背景下,應(yīng)運而生。并行計算或稱平行計算時相對于串行計算來說的。它是一種一次可執(zhí)行多個指令的算法,目的是提高計算速度,及通過擴大問題求解規(guī)模,解決大型而復(fù)雜的計算問題??煞譃闀r間上的并行和空間上的并行。時間上的并行就是指流水線技術(shù),而空間上的并行則是指用多個解決器并發(fā)的執(zhí)行計算。其中空間上的并行,也是本文重要的關(guān)注點。并行計算(ParallelComputing)是指同時使用多個計算資源解決計算問題的過程,是提高計算機系統(tǒng)計算速度和解決能力的一種有效手段。它的基本思想是用多個解決器來協(xié)同求解同一問題,即將被求解的問題分解成若干個部分,各部分均由一種獨立的解決機來并行計算。并行計算系統(tǒng)既能夠是專門設(shè)計的,含有多個解決器的超級計算機,也能夠是以某種方式互聯(lián)的若干臺的獨立計算機構(gòu)成的集群。通過并行計算集群完畢數(shù)據(jù)的解決,再將解決的成果返回給顧客。現(xiàn)在慣用的并行計算技術(shù)中,有調(diào)用系統(tǒng)函數(shù)啟動多線程以及運用多個并行編程語言開發(fā)并行程序,慣用的并行模型有MPI、PVM、OpenMP、TBB、Cilk++等。運用這些并行技術(shù)能夠充足運用多核資源適應(yīng)現(xiàn)在快速發(fā)展的社會需求。并行技術(shù)不僅要提高并行效率,也要在一定程度上減輕軟件開發(fā)人員負(fù)擔(dān),如近年來的TBB、Cilk++并行模型就在一定程度上減少了開發(fā)難度,提高了開發(fā)效率,使得并行軟件開發(fā)人員把更多精力專注于如何提高算法本身效率,而非把時間和精力放在如何去并行一種算法。文獻[1]回想了并行計算技術(shù)六十?dāng)?shù)年的發(fā)展歷史,并分析了其發(fā)展的將來趨勢和所面臨的可拓展性“墻”。文獻[2]對大規(guī)模MPI計算中,現(xiàn)在慣用的容錯機制和多模冗余帶來的開銷進行了分析,提出了一種可拓展三模冗余容錯機制。文獻[3]則敘述了并行計算和云計算之間的關(guān)系,并介紹了并行計算在云計算中運用的某些指導(dǎo)原則。文獻[4]分析了在大數(shù)據(jù)時代,并行計算面臨的挑戰(zhàn)和基于,綜述了面對批解決、面對流解決、面對圖數(shù)據(jù)以及面對內(nèi)存等幾類并行計算模型的有關(guān)研究。文獻[5]對并行計算模型進行了概述,介紹了抱負(fù)計算模型的特性,討論了某些典型的計算模型,綜述了現(xiàn)在并行計算模型在異構(gòu)計算環(huán)境的發(fā)展?fàn)顩r。文獻[6]針對傳統(tǒng)單一的并行計算模型變得越來越復(fù)雜,對并行計算個階段針對性不強,提出了一種分層并行計算模型的思想。文獻[7]針對在專業(yè)集群中進行并行計算的解決,存在費用高、管理困難和操作復(fù)雜等問題,運用PC和以太網(wǎng)相連的實驗環(huán)境,采用集群工作框架和并行計算的核心技術(shù),提出基于Linux集群的并行計算系統(tǒng)環(huán)境,并在該環(huán)境上對系統(tǒng)性能進行了測試。文獻[8]在CPU/GPU協(xié)同并行計算這一新興領(lǐng)域,對現(xiàn)在的研究工作進行了綜述。根據(jù)所用計算資源的規(guī)模將CPU/GPU協(xié)同并行計算研究劃分為三類,爾后從立項根據(jù)、研究內(nèi)容和研究辦法等方面重點介紹了幾個混累計算項目,并指出了可進一步研究的方向,以期為領(lǐng)域科學(xué)家進行協(xié)同并行計算研究提供一定參考。文獻[9]中對圖形解決器中的有關(guān)問題進行研究。提出了統(tǒng)一計算架構(gòu)(CUDA)為實現(xiàn)GPU通用計算提供了高效、簡便的辦法.因此,建立了基于GPU通用計算平臺的中心差分格式的顯式有限元并行計算辦法.該辦法針對GPU計算的特點,對串行算法的流程進行了優(yōu)化和調(diào)節(jié),通過采用線程與單元或節(jié)點的一一映射方略,實現(xiàn)了迭代過程的完全并行化。2并行計算發(fā)展的三個重要階段并行計算是實現(xiàn)超高計算性能的重要技術(shù)手段,回想其發(fā)展的歷史進程,能夠看出并行計算的發(fā)展從整體上跨越了三個階段。2.1Amdahl公式與適度并行早在二十世紀(jì)四十年代中后期,當(dāng)代電子計算機的鼻祖馮·諾依曼就提出了用并行計算提高計算機性能的技術(shù)途徑。所謂并行計算,就是采用多個運算部件或多臺計算機共同開展計算任務(wù)。理論上,并行多少臺計算機就能夠獲得多少倍的運算速度,但實際加速能力往往和應(yīng)用特性親密有關(guān)。1967年,Amdahl提出了出名的計算性能加速比公式(也稱Amdahl定律):(1)公式(1)中的表達應(yīng)用的串行版本程序的執(zhí)行時間,f表達應(yīng)用中不能被并行化部分的工作量占整個程序工作量的比率,n表達并行系統(tǒng)的解決器數(shù)目。表達應(yīng)用的并行版本程序和n個解決器上的執(zhí)行時間。這些概念和理論方面的基礎(chǔ)研究極大地推動了適度并行計算技術(shù)的實用化。2.2Gustafson公式與大規(guī)模并行80年代后期學(xué)術(shù)界展開了一次很大的討論,大家對并行與否有前途眾說紛壇,問題的焦點是-------能不能通過并行規(guī)模增大來持續(xù)提高計算機性能。1988年,美國科學(xué)家Gustafson在大量實際物理問題并行計算過程中總結(jié)了一種出名公式,發(fā)表在《CommunicationofACM》上。這篇論文只有兩頁,但它揭示了一種規(guī)律,即Gustafson通過他的應(yīng)用實踐發(fā)現(xiàn),諸多程序隨著應(yīng)用規(guī)模的擴大,程序中不能被并行化部分工作量的絕對量基本保持不變。而不能被并行化部分工作量占總工作量的相對比例f會對應(yīng)減小?;谶@個規(guī)律,他提出了出名的Gustafson加速比公式:(2)從公式能夠得出,當(dāng)f隨著計算規(guī)模擴大而不??s小時,解決器數(shù)如果增多,一種程序的加速比還是能夠隨著解決器的增多而提高的。這個公式不是一種精細(xì)的性能評定公式,而是一種思想性的公式,它揭示了大規(guī)模并行的要旨:并行計算機的實際性能和它所運行的并行程序特性親密有關(guān)。在大規(guī)模并行計算機上要獲得高實用計算性能,在其上運行的并行程序必須含有串行計算負(fù)載保持不變,并行計算負(fù)載隨著計算機規(guī)模的擴大而擴大的特點,這樣的程序普通成為可擴展并行程序。在提高大規(guī)模并行計算使用效率的過程中,能否設(shè)計出可擴展并行算法和可擴展并行程序,與大規(guī)模并行計算機系統(tǒng)的研制同等重要。2.3效能評價模型與高效能并行高性能計算機應(yīng)當(dāng)向什么方向發(fā)展,美國國防部(DARPA)提出的“高效能計算系統(tǒng)(HPCS)”計劃,著眼于高性能向高效能的轉(zhuǎn)變,認(rèn)為高效能計算機系統(tǒng)不僅要關(guān)注很高的計算性能,還要關(guān)注系統(tǒng)的實用性能、可編程性、可移植性、系統(tǒng)魯棒性和經(jīng)濟可行性。于是基于經(jīng)濟學(xué)中產(chǎn)生率的概念和效用理論逐步取代了以往單一的計算性能評價模型。效能模型框架以下:(3)其中,T為問題P解決的時間(Time-to-solution),M是并行計算機系統(tǒng),U為效用函數(shù),C為在系統(tǒng)M上T時間內(nèi)解決問題P所投入的最小成本函數(shù)。該效能度量模型綜合考慮了并行系統(tǒng)開發(fā)(Development)和運行(Execution)兩種狀態(tài),將開發(fā)的時間和系統(tǒng)運行的時間統(tǒng)一到問題解決時間T中。即使,圍繞這一公式標(biāo)志著高性能計算機學(xué)術(shù)界、產(chǎn)業(yè)界對大規(guī)模并行計算機發(fā)展趨勢產(chǎn)生了新的認(rèn)識。3并行編程模型并行編程能夠調(diào)用系統(tǒng)函數(shù)啟動多線程,也能夠運用并行編程模型,如慣用的并行模型有MPI、PVM、OpenMP、TBB及Cilk++等。3.1MPI介紹MPI(MessagePassingInterface)是基于消息傳遞的并行編程模型。消息傳遞指的是并行執(zhí)行的各個進程含有自己獨立的堆棧和代碼段,作為互補有關(guān)的多個程序獨立執(zhí)行,進程之間的通信通過顯式地調(diào)用通信函數(shù)來完畢。(1)MPI程序基本函數(shù)①MPI_Init用來初始化MPI執(zhí)行環(huán)境,建立多個MPI進程之間的聯(lián)系,為后續(xù)通信做準(zhǔn)備。MPI_Finalize則是結(jié)束MPI執(zhí)行環(huán)境。這兩個函數(shù)之間定義MPI程序的并行區(qū)域。②MPI_Comm_rank來表達各個MPI進程。③MPI_Comn_size用來表達進程組中有多少個進程,返回整型的錯誤值,同時有兩個函數(shù)參數(shù),MPI_Comn類型的通信域,標(biāo)記參加計算的MPI進程組,如MPI_COMM_WORLD;整數(shù)指標(biāo),返回對應(yīng)進程組中的進程數(shù)。MPI性能分析與優(yōu)化舉例MPI消息傳遞開銷由兩部分構(gòu)成:一部分是通信固有的延遲;另一部分是消息傳遞開銷,與消息的數(shù)據(jù)量和網(wǎng)絡(luò)帶寬有關(guān)。時間消耗能夠用下面的式子表達:(4)其中,、、分別表達程序總用時、通信用時和串行部分用時。而通信用時普通可作以下分解:(5)其中,n為點對點通信次數(shù),m為集群通信次數(shù),為通信固定延遲,為第i次通信的容量,w為網(wǎng)絡(luò)帶環(huán),為負(fù)載不平衡造成的時間消耗,集群通信耗時。解決負(fù)載均衡問題在并行計算中,若各個解決器上的執(zhí)行時間不同,因同時會使先完畢的解決器等待未完畢的解決器,此時應(yīng)當(dāng)考慮負(fù)載均衡問題,是的資源得到合理運用。負(fù)載均衡分為:靜態(tài)負(fù)載均衡及動態(tài)負(fù)載均衡。靜態(tài)負(fù)載均衡使用與計算前能夠精確估算總的負(fù)載,且這些負(fù)載容易平均劃分給各個進程的狀況。對于實現(xiàn)不懂得負(fù)載總數(shù),或者總負(fù)載不易平均劃分的狀況,需要動態(tài)負(fù)載均衡方略來解決。3.2PVM介紹PVM是一種在網(wǎng)絡(luò)上的虛擬并行機系統(tǒng)的軟件包,它允許將網(wǎng)絡(luò)上基于UNIX操作系統(tǒng)的并行機和單解決機的集合當(dāng)成一臺單一的并行虛擬機來使用。PVM支持顧客采用消息傳遞方式編寫并行程序。計算以任務(wù)為單位,一種任務(wù)就是一種UNIX進程,每個任務(wù)都有一種taskid來標(biāo)記(不同于進程號)。PVM支持在虛擬機中自動加載任務(wù)運行,任務(wù)間能夠互相通訊以及同時,在PVM系統(tǒng)中,一種任務(wù)唄加載到哪個節(jié)點上去運行,PVM就允許顧客指定任務(wù)被加載的節(jié)點,這樣就方便了顧客編寫并行程序。3.3OpenMP介紹OpenMp是一種面對共享內(nèi)存及分布式共享內(nèi)存的多解決器多線程并行編程語言,它也是一種能夠用于顯示指導(dǎo)多線程、共享內(nèi)存并行的應(yīng)用程序編程接口。OpenMP的編程模型以線程為基礎(chǔ),通過編譯指導(dǎo)語句來顯示地指導(dǎo)并行化,為編程人員提供了并行化的完整控制。OpenMP的執(zhí)行模型采用Fork-Join形式,F(xiàn)ork-Join執(zhí)行模式在開始執(zhí)行的時候,只有一種根本程存在。根本程在運行過程,當(dāng)碰到需要進行并行計算的時候,派生出子線程來執(zhí)行并行任務(wù)。在并行執(zhí)行的時候,根本程和派生線程共同工作。在并行代碼結(jié)束執(zhí)行后,派生線程退出或者掛起,不再工作,控制流程回到單獨的根本程中。3.4IntelTBB(ThreadingBuildingBlock)介紹IntelTBB是一種用來支撐可擴展編程的庫,TBB的工作層次要高于裸線程,它為C++程序提供了豐富而完備的辦法來體現(xiàn)并行語義。TBB指定的是任務(wù)而不是線程,普通線程軟件包都規(guī)定創(chuàng)立、匯合及管理線程。TBB運用自己的調(diào)度算法把任務(wù)分派到各個線程,高效合理地運用解決器資源。TBB的目的是通過線程來提高性能,將密集的計算任務(wù)并行化,提供更高層次和更簡樸的解決方案,TBB依賴泛型編程。TBB中還支持算法模板,如基于遞歸區(qū)間的面對循環(huán)算法,根據(jù)需求來遞歸地劃分問題,從而獲得并行任務(wù)的對的層次。相比靜態(tài)劃分問題,遞歸劃分問題的方式更占優(yōu)勢。線程構(gòu)建模塊的函數(shù)都定義在空間tbb中,TBB提供parallel_for與parallel_reduce泛型并行算法,能夠負(fù)載均衡地對固定數(shù)目的獨立循環(huán)迭代體進行并行執(zhí)行。3.5Cilk++介紹Cilk++語言擴展了C++語言來編寫并行應(yīng)用程序,有效地運用多解決器。Cilk++語言特別適合但不限于分而治之算法,把任務(wù)分解成子問題(任務(wù)),能夠獨立地加以解決。遞歸函數(shù)普通用于分而治之算法。這些任務(wù)會在不同循環(huán)迭代。Cilk++核心字識別函數(shù)調(diào)用和循環(huán),能夠并行運行。Cilk++語言比較適合“二分法”算法,將問題分解成若干獨立子問題,再將這些執(zhí)行成果合并起來。任務(wù)既能夠在不同的函數(shù)里實現(xiàn),也能夠在一種迭代的循環(huán)中完畢。Cilk++的核心詞能有效地標(biāo)記可并行執(zhí)行的函數(shù)調(diào)用和循環(huán),Cilk++的運行環(huán)境能有效地將這些任務(wù)調(diào)度到空閑的解決器上運行。4幾個應(yīng)用背景下的并行計算4.1云計算與并行計算云計算是分布式解決、并行解決和網(wǎng)格計算的進一步發(fā)展,是一種新興的共享基礎(chǔ)架構(gòu)的技術(shù),它能夠?qū)⒕薮蟮南到y(tǒng)池連接在一起以提供多個IT服務(wù)。連接設(shè)備、實時數(shù)據(jù)流、SOA的采用以及搜索、開放協(xié)作、社會網(wǎng)絡(luò)和移動商務(wù)等都是推動云計算技術(shù)發(fā)展的推動因素。云計算與并行計算相比,在應(yīng)用廣泛性方面,并行計算是為滿足某科學(xué)領(lǐng)域的專業(yè)需求,規(guī)定開發(fā)者含有較強的技術(shù)水平,不含有較強的廣泛性,但云計算能夠運用在較多領(lǐng)域,并且含有好的效果。在性能方面,并行計算重要追求較高的加速比,而云計算則單機的計算能力規(guī)定較低,此系統(tǒng)通過將分散的結(jié)點統(tǒng)一,根據(jù)對應(yīng)調(diào)度算法合理調(diào)度,從而獲得巨大的計算能力,并且還能根據(jù)客戶的需求變化進行調(diào)節(jié)。并行計算和虛擬化一起構(gòu)成了云計算技術(shù)的骨干。對于大型應(yīng)用系統(tǒng)實施云計算的重要內(nèi)容就是實施并行計算。并行計算技術(shù)除了現(xiàn)在炙手可熱的MapReduce以外,值得推薦的尚有OpenMP、MPI和Erlang。這3個技術(shù)重要應(yīng)用于并行程序的開發(fā),和其它并行方略(如SOA)一起,用于從根本上實現(xiàn)應(yīng)用的并行化。中國電信在支撐云的研究、建設(shè)中,計劃在多個層面實施并行計算,以提高應(yīng)用運行效率和可靠性,減少采購和運行成本。對于條件成熟的應(yīng)用,擬從業(yè)務(wù)并行開始,在開發(fā)層面即實現(xiàn)并行計算?,F(xiàn)在,通過研究分析和測試,針對不同的應(yīng)用,初步制訂出不同的并行化解決方案,采用適宜的并行計算技術(shù)實現(xiàn)不同層次的并行計算。4.2大圖數(shù)據(jù)背景下的并行計算模型及其優(yōu)化技術(shù)大數(shù)據(jù)時代背景下,數(shù)十億頂點級別大規(guī)模圖的不停涌現(xiàn)以及云計算基礎(chǔ)設(shè)施的持續(xù)完善,推動著圖數(shù)據(jù)解決的研究重心由單機圖算法的高度優(yōu)化逐步轉(zhuǎn)向分布式并行大圖解決的優(yōu)化。現(xiàn)在,大圖數(shù)據(jù)解決存在兩種典型的模式:一是采用通用的海量數(shù)據(jù)分布式并行計算框架MapReduce進行解決;二是采用完全方面對圖構(gòu)造設(shè)計的專用大圖計算框架。由于Mapreduce在應(yīng)用定位與設(shè)計目的上重要是針對模式自由(schema-free)的數(shù)據(jù)對象實現(xiàn)高吞吐的批量解決,因此其缺少有效解決大圖的內(nèi)部機制。相比之下,專用大圖并行計算模型有針對性地考慮了圖計算的基本特性,因此從框架內(nèi)部就已經(jīng)提供了對大圖解決的支持,能獲得較好的性能。其明顯的特性是提供了對圖計算中最常見的迭代操作的支持和實現(xiàn)了直觀易用的以頂點為中心的編程抽象。從存儲架構(gòu)上能夠?qū)⒋髨D并行計算模型分為:面對分布內(nèi)存架構(gòu)以及面對單機多核共享內(nèi)存架構(gòu)兩類。在分布內(nèi)存架構(gòu)下,現(xiàn)在含有代表性的大圖并行計算模型有Pregel、HAMA、Giraph、DistributedGraphLab以及Trinity等。由于圖構(gòu)造的高耦合性,分布式環(huán)境下圖計算的網(wǎng)絡(luò)通信代價很高,圖劃分是優(yōu)化分布式大圖計算通信開銷的有效手段。部分大圖解決系統(tǒng)采用典型的劃分辦法,如ParMetis,也有其它某些系統(tǒng)探索了新的劃分辦法,如GraphX和PowerGraph均采用vertex-cut的劃分辦法緩和自然圖中高度數(shù)(high-degree)頂點通信集中的問題;Trinity采用多層標(biāo)簽傳遞的劃分辦法,借助圖的語義有效支持了十億頂點級別大圖的劃分;而GPS和Mizan都運用動態(tài)的劃分辦法緩和了大圖計算過程中負(fù)載失衡時的頂點重分派的問題。除了最棘手的圖劃分問題外,分布式內(nèi)存架構(gòu)仍然面臨諸多困難,如需要開發(fā)者含有專門的分布式編程知識在集群環(huán)境中進行復(fù)雜的調(diào)試與優(yōu)化工作。鑒于此,某些研究工作面對單機環(huán)境提出了有針對性的優(yōu)化技術(shù),如序列化隨機訪問、運用多核以及新型存儲的高并發(fā)能力、引入異步機制等,并設(shè)計了對應(yīng)的大圖計算模型。上述研究運用外存的某些訪問特性,通過有針對性的優(yōu)化提高解決效率,緩和大圖對內(nèi)存的壓力。另外,尚有某些基于單機的圖計算系統(tǒng),仍然假設(shè)以全內(nèi)存的方式進行圖數(shù)據(jù)解決。即使這些研究的側(cè)重點不在存儲模式,但是在大圖環(huán)境下這些研究成果的實施效果可能會受到一定的影響。4.3集群背景下的并行計算集群(Cluster)是一組互相獨立的服務(wù)器在網(wǎng)絡(luò)中體現(xiàn)為單一的系統(tǒng),并以單一系統(tǒng)的模式加以管理,以此單一系統(tǒng)為客戶提供高可靠性的服務(wù)。在大多數(shù)模式下,集群中全部的計算機擁有一種共同的名稱,集群內(nèi)任一系統(tǒng)上運行的服務(wù)可被全部的網(wǎng)絡(luò)客戶所使用。Cluster必須能夠協(xié)調(diào)管理各分離的組件的錯誤和失敗,并可透明地向Cluster中加入組件。一種Cluster包含多臺(最少2臺)擁有共享數(shù)據(jù)存儲空間的服務(wù)器。任何一臺服務(wù)器運行一種應(yīng)用時,應(yīng)用數(shù)據(jù)被存儲在共享的數(shù)據(jù)空間內(nèi)。每臺服務(wù)器的操作系統(tǒng)和應(yīng)用程序文獻存儲在其各自的本地儲存空間上。Cluster內(nèi)各節(jié)點服務(wù)器通過一種內(nèi)部局域網(wǎng)互相通信。當(dāng)一臺節(jié)點服務(wù)器發(fā)生故障時,這臺服務(wù)器上所運行的應(yīng)用程序?qū)⒃诹硪慌_節(jié)點服務(wù)器上被自動接管,Cluster構(gòu)造如圖1所示。圖1Cluster體系構(gòu)造采用Cluster體系構(gòu)造的系統(tǒng),含有可自由伸縮、高度可管理、高可用、高性能價格比等諸多優(yōu)點,解決了跨平臺管理、跨操作系統(tǒng)管理、系統(tǒng)軟硬件運行狀態(tài)監(jiān)控等混合平臺應(yīng)用等技術(shù)難題,是擔(dān)當(dāng)大規(guī)??茖W(xué)工程計算(如并行計算)的堅實且抱負(fù)的系統(tǒng)平臺。集群能夠分為3類:高可用性集群,負(fù)載均衡集群,超級計算集群。高可用性集群的重要功效是提供24h不間斷服務(wù);普通是由多個節(jié)點構(gòu)成,當(dāng)單個節(jié)點出現(xiàn)故障時,系統(tǒng)其它節(jié)點接替服務(wù),整個系統(tǒng)仍能繼續(xù)正常對外提供服務(wù)。負(fù)載均衡集群將系統(tǒng)的整體負(fù)載合理地分派到各個節(jié)點上,使得每個節(jié)點都不會由于超負(fù)荷工作而崩潰;并且系統(tǒng)整體負(fù)載需求不不大于系統(tǒng)整體負(fù)載能力時,能夠通過增加系統(tǒng)節(jié)點,平滑地拓展系統(tǒng)負(fù)荷能力。超級計算集群是通過將多臺機器連接起來同時解決復(fù)雜的計算問題的計算機群。5有關(guān)并行計算的兩個簡樸實驗5.1基于MPI的helloword程序測試本實驗旨在測試在單機環(huán)境下的基于MPI并行程序的實驗環(huán)境。采用的是編程環(huán)境是:VC6.0和MPICH2。程序采用C++語言編寫。程序源代碼,見附錄源代碼一。運行過程:在命令行窗口中輸入:mpiexec-n200mpitest.exe。mpiexec是MPI運行庫的命令,-n200表達啟動200個mpitest.exe
;運行截圖以下。通過觀察任務(wù)管理器,發(fā)現(xiàn)有諸多個mpitest.exe的進程。由于沒有聯(lián)網(wǎng)的其它節(jié)點存在,因此200個都在本機上運行了。圖2helloworld程序運行成果圖圖3helloworld程序成果局部放大圖鍵入命令“mpiexec-n200mpitest.exe”后,MPI運行庫接受到要并行運行200個mpitest.exe,查找臨近節(jié)點,調(diào)度臨近節(jié)點上的mpitest.exe,(在這里的測試上由于只有一種節(jié)點,因此全部一起執(zhí)行了)。5.2數(shù)字字符串解決問題在這一節(jié)進行的是一種通過MPI和C語言編寫并行程序的實驗,首先對問題進行描述以下:對于任意一種給定的正當(dāng)數(shù)字字符串,將其各位累加求和,然后對求和得到的數(shù)值進行判斷,如果為一位數(shù),則停止,如果為多位數(shù),迭代執(zhí)行上述過程,直到得到一位數(shù)為止。實驗環(huán)境:通過在VC6.0平臺上配備MPICH2,然后通過C語言編寫并行程序。源程序見附錄源程序二。運行過程中的輸入輸出成果以下圖所示,輸入數(shù)據(jù)采用txt文本輸入,通過程序讀入到內(nèi)存。圖4字符串解決問題輸入數(shù)據(jù)文獻截圖圖5字符串解決問題輸出成果圖圖5顯示了以不同的模擬解決器個數(shù)運行程序成果。在寫這個并行程序時,我總結(jié)的最大問題就是masterprocessor和workerprocessor的通信,masterprocessor怎么將任務(wù)分派給各個workerprocessor,不僅要注意MPI_Send和MPI_Recv數(shù)目的嚴(yán)格匹配,還要注意MPI_Send和MPI_Recv里面的參數(shù)也要嚴(yán)格匹配。4總結(jié)在現(xiàn)在的計算機行業(yè)中,并行計算技術(shù)含有很重要的地位,特別是近年來,硬件發(fā)展的速度逐步不再符合摩爾定律,其發(fā)展速度跟不上軟件的需求速度。因此并行計算技術(shù)無論是運用在單機還是多機,以及集群上,都含有很重要的意義。近年比較熱門的方向,云計算和大數(shù)據(jù),都依賴于并行計算技術(shù)的實施。另外分布式計算普通與并行計算是含有緊密關(guān)聯(lián)的。在該課程上,我理解并學(xué)習(xí)了分布式并行計算領(lǐng)域的有關(guān)知識,即使自己的研究方向不是課程的方向,但是自己愛好編程和算法,能夠在實驗中,進行并行計算方面簡樸的實驗,我覺得自己收獲很大。致謝
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 債務(wù)劃清責(zé)任合同范本簡易
- 雙軟認(rèn)證合同范本
- 農(nóng)村房屋合同范例
- 不買社保勞務(wù)合同范本
- 合作木柴出售合同范本
- 公司裁員合同范本
- 廠房回收拆除合同范例
- 農(nóng)村果林租賃合同范本
- 印花材料供應(yīng)合同范本
- 東麗區(qū)恒溫配送合同范本
- 口腔健康與全身健康課件
- 人教版九年級化學(xué)上冊第四單元作業(yè)設(shè)計 自然界的水
- 腦血管造影病人的護理-課件
- 阿里巴巴管理精髓管理者必修的24招
- 醫(yī)務(wù)科輪轉(zhuǎn)人員規(guī)定
- 統(tǒng)編版一年級語文下冊 口語交際 聽故事講故事 小貓種魚 一等獎創(chuàng)新教學(xué)設(shè)計
- 普通地質(zhì)學(xué)教材
- 《工業(yè)控制網(wǎng)絡(luò)及組態(tài)技術(shù)》教案
- 多重耐藥菌相關(guān)知識
- 2021年云南省中考地理試卷(附答案詳解)
- 物業(yè)管理工作流程圖全套2
評論
0/150
提交評論