freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

分布式與并行計算報告(編輯修改稿)

2024-08-28 18:52 本頁面
 

【文章內(nèi)容簡介】 型,如常用的并行模型有MPI、PVM、OpenMP、TBB及Cilk++等。 MPI簡介MPI(Message Passing Interface)是基于消息傳遞的并行編程模型。消息傳遞指的是并行執(zhí)行的各個進程具有自己獨立的堆棧和代碼段,作為互補相關的多個程序獨立執(zhí)行,進程之間的通信通過顯式地調(diào)用通信函數(shù)來完成。(1)MPI程序基本函數(shù)①MPI_Init用來初始化MPI執(zhí)行環(huán)境,建立多個MPI進程之間的聯(lián)系,為后續(xù)通信做準備。MPI_Finalize則是結束MPI執(zhí)行環(huán)境。這兩個函數(shù)之間定義MPI程序的并行區(qū)域。②MPI_Comm_rank 來表示各個MPI進程。③MPI_Comn_size 用來表示進程組中有多少個進程,返回整型的錯誤值,同時有兩個函數(shù)參數(shù),MPI_Comn 類型的通信域,標識參與計算的MPI進程組,如MPI_COMM_WORLD。整數(shù)指標,返回相應進程組中的進程數(shù)。(2) MPI性能分析與優(yōu)化舉例MPI消息傳遞開銷由兩部分組成:一部分是通信固有的延遲;另一部分是消息傳遞開銷,與消息的數(shù)據(jù)量和網(wǎng)絡帶寬有關。時間消耗可以用下面的式子表示: (4)其中,、分別表示程序總用時、通信用時和串行部分用時。而通信用時一般可作如下分解: (5)其中,n為點對點通信次數(shù),m為集群通信次數(shù),為通信固定延遲,為第i次通信的容量,w為網(wǎng)絡帶環(huán),為負載不平衡造成的時間消耗,集群通信耗時。(3) 解決負載均衡問題 在并行計算中,若各個處理器上的執(zhí)行時間不同,因同步會使先完成的處理器等待未完成的處理器,此時應該考慮負載均衡問題,是的資源得到合理利用。負載均衡分為:靜態(tài)負載均衡及動態(tài)負載均衡。靜態(tài)負載均衡使用與計算前可以準確估算總的負載,且這些負載容易平均劃分給各個進程的情況。對于實現(xiàn)不知道負載總數(shù),或者總負載不易平均劃分的情況,需要動態(tài)負載均衡策略來解決。 PVM簡介PVM是一個在網(wǎng)絡上的虛擬并行機系統(tǒng)的軟件包,它允許將網(wǎng)絡上基于UNIX操作系統(tǒng)的并行機和單處理機的集合當成一臺單一的并行虛擬機來使用。PVM支持用戶采用消息傳遞方式編寫并行程序。計算以任務為單位,一個任務就是一個UNIX進程,每個任務都有一個taskid來標識(不同于進程號)。PVM支持在虛擬機中自動加載任務運行,任務間可以相互通訊以及同步,在PVM系統(tǒng)中,一個任務唄加載到哪個節(jié)點上去運行,PVM就允許用戶指定任務被加載的節(jié)點,這樣就方便了用戶編寫并行程序。 OpenMP簡介OpenMp是一種面向共享內(nèi)存及分布式共享內(nèi)存的多處理器多線程并行編程語言,它也是一種能夠用于顯示指導多線程、共享內(nèi)存并行的應用程序編程接口。OpenMP 的編程模型以線程為基礎,通過編譯指導語句來顯示地指導并行化,為編程人員提供了并行化的完整控制。OpenMP 的執(zhí)行模型采用Fork - Join 形式,F(xiàn)ork - Join 執(zhí)行模式在開始執(zhí)行的時候,只有一個主線程存在。主線程在運行過程,當遇到需要進行并行計算的時候,派生出子線程來執(zhí)行并行任務。在并行執(zhí)行的時候,主線程和派生線程共同工作。在并行代碼結束執(zhí)行后,派生線程退出或者掛起,不再工作,控制流程回到單獨的主線程中。 Intel TBB(Threading Building Block)簡介Intel TBB 是一個用來支撐可擴展編程的庫,TBB 的工作層次要高于裸線程,它為C + + 程序提供了豐富而完備的方法來表達并行語義。TBB 指定的是任務而不是線程,一般線程軟件包都要求創(chuàng)建、匯合及管理線程。TBB 運用自己的調(diào)度算法把任務分配到各個線程,高效合理地利用處理器資源。TBB 的目標是通過線程來提升性能,將密集的計算任務并行化,提供更高層次和更簡單的解決方案,TBB 依賴泛型編程。TBB 中還支持算法模板,如基于遞歸區(qū)間的面向循環(huán)算法,根據(jù)需求來遞歸地劃分問題,從而獲得并行任務的正確層次。相比靜態(tài)劃分問題,遞歸劃分問題的方式更占優(yōu)勢。線程構建模塊的函數(shù)都定義在空間tbb 中,TBB 提供parallel_for 與parallel_reduce 泛型并行算法,可以負載均衡地對固定數(shù)目的獨立循環(huán)迭代體進行并行執(zhí)行。 Cilk++簡介Cilk ++ 語言擴展了C ++ 語言來編寫并行應用程序,有效地利用多處理器。Cilk + + 語言特別適合但不限于分而治之算法,把任務分解成子問題( 任務) ,可以獨立地加以解決。遞歸函數(shù)通常用于分而治之算法。這些任務會在不同循環(huán)迭代。Cilk ++ 關鍵字識別函數(shù)調(diào)用和循環(huán),可以并行運行。Cilk ++ 語言比較適合“二分法”算法,將問題分解成若干獨立子問題,再將這些執(zhí)行結果合并起來。任務既可以在不同的函數(shù)里實現(xiàn),也可以在一個迭代的循環(huán)中完成。Cilk ++ 的關鍵詞能有效地標識可并行執(zhí)行的函數(shù)調(diào)用和循環(huán),Cilk ++ 的運行環(huán)境能有效地將這些任務調(diào)度到空閑的處理器上運行。4幾種應用背景下的并行計算 云計算與并行計算云計算是分布式處理、并行處理和網(wǎng)格計算的進一步發(fā)展,是一種新興的共享基礎架構的技術,它可以將巨大的系統(tǒng)池連接在一起以提供各種IT 服務。連接設備、實時數(shù)
點擊復制文檔內(nèi)容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1