




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、l組成并行計(jì)算機(jī)的各個(gè)部分:節(jié)點(diǎn)(node):每個(gè)節(jié)點(diǎn)由多個(gè)處理器構(gòu)成,可以直接進(jìn)行輸入輸出(I/O)操作;互聯(lián)網(wǎng)絡(luò)(interconnect network):所有節(jié)點(diǎn)通過互聯(lián)網(wǎng)絡(luò)相互連接通信;內(nèi)存 (memory):內(nèi)存由多個(gè)存儲(chǔ)模塊組成1、與節(jié)點(diǎn)對(duì)稱的分布在互聯(lián)網(wǎng)絡(luò)的兩側(cè);2、位于各個(gè)節(jié)點(diǎn)的內(nèi)部。 內(nèi)存模塊與節(jié)點(diǎn)分離內(nèi)存模塊位于節(jié)點(diǎn)內(nèi)部l解決內(nèi)存墻(memory wall)性能瓶頸問題;l節(jié)點(diǎn)內(nèi)部的cache稱為二級(jí)cache(L2 cache);l處理器內(nèi)部更小的cache成為一級(jí)cache(L1 cache);lL1 cache連接CPU寄存器和L2 cache,負(fù)責(zé)緩存L2 cac
2、he中的數(shù)據(jù)到寄存器中。l并行計(jì)算機(jī)的多級(jí)存儲(chǔ)結(jié)構(gòu)主要包括兩個(gè)問題:Cache的映射策略,即cache如何從內(nèi)存中取得數(shù)據(jù)進(jìn)行存儲(chǔ); 節(jié)點(diǎn)內(nèi)部或者節(jié)點(diǎn)之間內(nèi)存的訪問模式 。lcache原理,cache以cache線為基本單位,每條cache包含L個(gè)字,每個(gè)字8個(gè)字節(jié)。例如,L=4,則表示cache線包含4*8=32個(gè)字節(jié)。內(nèi)存空間分割成塊(block),每個(gè)塊大小與cache線長度一致,數(shù)據(jù)在內(nèi)存和cache之間的移動(dòng)以cache線為基本單位 。For i=1 to M Ai=Ai+2*Bi l如果操作數(shù)存在cache中,稱該次訪問是命中的,否則,該次操作是“撲空”的 。lcache的映射策略
3、(內(nèi)存塊和cache線之間如何建立相互映射關(guān)系):直接映射策略(direct mapping strategy):每個(gè)內(nèi)存塊只能被唯一的映射到一條cache線中 ; K路組關(guān)聯(lián)映射策略 (K-way set association mapping strategy):Cache被分解為V個(gè)組,每個(gè)組由K條cache線組成,內(nèi)存塊按直接映射策略映射到某個(gè)組,但在該組中,內(nèi)存塊可以被映射到任意一條cache線;全關(guān)聯(lián)映射策略 (full association mapping strategy):內(nèi)存塊可以被映射到cache中的任意一條cache線。lUMA(Uniform Memory Acce
4、ss)模型:該模型內(nèi)存模塊與節(jié)點(diǎn)分離,分別位于互聯(lián)網(wǎng)絡(luò)的兩側(cè) 物理存儲(chǔ)器被所有節(jié)點(diǎn)共享;所有節(jié)點(diǎn)訪問任意存儲(chǔ)單元的時(shí)間相同;發(fā)生訪存競爭時(shí),仲裁策略平等對(duì)待每個(gè)節(jié)點(diǎn),即每個(gè)節(jié)點(diǎn)機(jī)會(huì)均等;各節(jié)點(diǎn)的CPU可帶有局部私有高速緩存;外圍I/O設(shè)備也可以共享,且每個(gè)節(jié)點(diǎn)有平等的訪問權(quán)利。lNUMA(Non-Uniform Memory Access)模型:該模型內(nèi)存模塊分布在各個(gè)節(jié)點(diǎn)內(nèi)部,所有局部內(nèi)存模塊均構(gòu)成并行計(jì)算機(jī)的全局內(nèi)存模塊。內(nèi)存模塊在物理上是分布的,在邏輯上是全局共享的,這種模型也稱之為“分布式共享訪存模型” 物理存儲(chǔ)器被所有節(jié)點(diǎn)共享,任意節(jié)點(diǎn)可以直接訪問任意內(nèi)存模塊;節(jié)點(diǎn)訪問內(nèi)存模塊的速度
5、不同,訪問本地存儲(chǔ)模塊的速度一般是訪問其他節(jié)點(diǎn)內(nèi)存模塊的3倍以上;發(fā)生訪存競爭時(shí),仲裁策略對(duì)節(jié)點(diǎn)可能是不等價(jià)的;各節(jié)點(diǎn)的CPU可帶有局部私有高速緩存 (cache);外圍I/O設(shè)備也可以共享,但對(duì)各節(jié)點(diǎn)是不等價(jià)的。lCOMA(Cache-Only Memory Access)模型:全高速緩存存儲(chǔ)訪問模型 各處理器節(jié)點(diǎn)中沒有存儲(chǔ)層次結(jié)構(gòu),全部高速緩存組成了全局地址空間;利用分布的高速緩存目錄進(jìn)行遠(yuǎn)程高速緩存的訪問;COMA中的高速緩存容量一般都大于2級(jí)高速緩存容量;使用COMA時(shí),數(shù)據(jù)開始時(shí)可以任意分配,因?yàn)樵谶\(yùn)行時(shí)它最終會(huì)被遷移到要用到它的地方。lSIMD同步并行計(jì)算模型共享存儲(chǔ)的SIMD模型
6、(PRAM模型);分布存儲(chǔ)的SIMD模型(SIMD互聯(lián)網(wǎng)絡(luò)模型)lMIMD異步并行計(jì)算模型異步PRAM模型BSP模型LogP模型C3模型lSIMD共享存儲(chǔ)模型假定存在著一個(gè)容量無限大的共享存儲(chǔ)器,有有限或無限個(gè)功能相同的處理器,且均具有簡單的算術(shù)運(yùn)算和邏輯判斷功能,在任何時(shí)刻各處理器均可通過共享存儲(chǔ)單元相互交換數(shù)據(jù)。 lSIMD共享存儲(chǔ)模型(PRAM模型)PRAM-EREW (Exclusive-Read and Exclusive-Write),不允許同時(shí)讀和同時(shí)寫;PRAM-CREW (Concurrent-Read and Exclusive-Write) ,允許同時(shí)讀但不允許同時(shí)寫;P
7、RAM-CRCW (Concurrent-Read and Concurrent-Write) ,允許同時(shí)讀和同時(shí)寫。l優(yōu)點(diǎn):適合于并行算法的表達(dá)、分析和比較;使用簡單,很多諸如處理器間通信、存儲(chǔ)管理和進(jìn)程同步等并行計(jì)算機(jī)的低級(jí)細(xì)節(jié)均隱含于模型中;易于設(shè)計(jì)算法和稍加修改便可運(yùn)行在不同的并行計(jì)算機(jī)上;且有可能加入一些諸如同步和通信等需要考慮的方面。lSIMD分布存儲(chǔ)模型采用一維線性連接的SIMD模型,簡記為SIMD-LC采用網(wǎng)孔連接的SIMD模型,簡記為SIMD-MC采用樹形連接的SIMD模型,簡記為SIMD-TC采用樹網(wǎng)連接的SIMD模型,簡記為SIMD-MT采用立方連接的SIMD模型,簡記為
8、SIMD-CC采用立方環(huán)連接的SIMD模型,簡記為SIMD-CCC采用洗牌交換連接的SIMD模型,簡記為SIMD-SE采用蝶形連接的SIMD模型,簡介為SIMD-BF采用多級(jí)互聯(lián)網(wǎng)絡(luò)連接的SIMD模型,簡記為SIMD-MINlAPRAM特點(diǎn):l每個(gè)處理器都有其本地存儲(chǔ)器、局部時(shí)鐘和局部程序l處理器間的通信經(jīng)過共享全局存儲(chǔ)器l無全局時(shí)鐘,各處理器異步地獨(dú)立執(zhí)行各自的指令l處理器任何時(shí)間依賴關(guān)系需明確地在各處理器的程序中加入同步障(Synchronization Barrier)l一條指令可在非確定但有限的時(shí)間內(nèi)完成。lAPRAM模型中有四類指令:l全局讀,將全局存儲(chǔ)單元中的內(nèi)容讀入本地存儲(chǔ)器單元
9、中l(wèi)局部操作,對(duì)本地存儲(chǔ)器中的數(shù)執(zhí)行操作,其結(jié)果存入本地存儲(chǔ)器中l(wèi)全局寫,將本地存儲(chǔ)器單元中的內(nèi)容寫入全本地存儲(chǔ)器單元中l(wèi)同步,同步是計(jì)算中的一個(gè)邏輯點(diǎn),在該點(diǎn)各處理器均需等待別的處理器到達(dá)后才能繼續(xù)執(zhí)行其局部程序l大同步并行BSP(Bulk Synchronous Parallel)模型 作為計(jì)算機(jī)語言和體系結(jié)構(gòu)之間的橋梁,由下述三個(gè)參數(shù)描述分布存儲(chǔ)的并行計(jì)算機(jī)模型:處理器/存儲(chǔ)器模塊(下文簡稱處理器);處理器模塊之間點(diǎn)到點(diǎn)信息傳遞的路由器;執(zhí)行以時(shí)間間隔L為周期的路障同步器。l特點(diǎn):將處理器和路由器分開,強(qiáng)調(diào)了計(jì)算任務(wù)和通信任務(wù)的分開,而路由器僅施行點(diǎn)到點(diǎn)的消息傳遞,不提供組合、復(fù)制或廣播
10、等功能,這樣做既掩蓋了具體的互聯(lián)網(wǎng)絡(luò)拓?fù)?,又簡化了通信協(xié)議;采用路障方式的以硬件實(shí)現(xiàn)的全局同步是在可控的粗粒度級(jí),從而提供了執(zhí)行緊耦合同步式并行算法的有效方式,而程序員并無過分的負(fù)擔(dān);在分析BSP模型的性能時(shí),假定局部操作可在一個(gè)時(shí)間步內(nèi)完成,而在每一超級(jí)步中,一個(gè)處理器至多發(fā)送或接受h條消息(h-relation)lLogP模型一種分布存儲(chǔ)的、點(diǎn)到點(diǎn)通信的多處理機(jī)模型,其中通信網(wǎng)絡(luò)由一組參數(shù)來描述,但它并不涉及到具體的網(wǎng)絡(luò)結(jié)構(gòu),也不假定算法一定要用顯式的消息傳遞操作進(jìn)行描述。 lC3(Computation, Communication, Congestion)是一個(gè)與體系結(jié)構(gòu)無關(guān)的粗粒度的
11、并行計(jì)算模型,旨在能反映計(jì)算復(fù)雜度,通信模式和通信期間潛在的擁擠等因素對(duì)粗粒度網(wǎng)絡(luò)算法的影響。l比較流行的并行編程環(huán)境主要有3類:消息傳遞、共享存儲(chǔ)和數(shù)據(jù)并行,共享存儲(chǔ)并行編程基于線程級(jí)細(xì)粒度并行,可移植性不如消息傳遞并行編程,但是,由于他們支持?jǐn)?shù)據(jù)的共享存儲(chǔ),所以并行編程的難度較小,但一般情況下,當(dāng)處理機(jī)個(gè)數(shù)較多時(shí),其并行性能明顯不如消息傳遞編程 ;消息傳遞并行編程基于大粒度的進(jìn)程級(jí)并行,具有最好的可擴(kuò)展性,幾乎被所有當(dāng)前流行的各類并行計(jì)算機(jī)所支持,其具有較好的可擴(kuò)展性,但是,消息傳遞并行編程只能支持進(jìn)程間的分布式存儲(chǔ)模式,即各個(gè)進(jìn)程只能支持訪問其局部內(nèi)存空間,而對(duì)其他進(jìn)程的局部內(nèi)存空間的訪
12、問只能通過消息傳遞來實(shí)現(xiàn),因此,學(xué)習(xí)和使用消息傳遞并行編程的難度均大于共享存儲(chǔ)和數(shù)據(jù)并行這兩種編程模式。 l3類并行編程環(huán)境的主要特征的比較總結(jié) 特征特征消息傳遞消息傳遞共享存儲(chǔ)共享存儲(chǔ)數(shù)據(jù)并行數(shù)據(jù)并行典型代表MPI, PVMOpenMPHPF可移植性所有主流并行計(jì)算機(jī)SMP, DSMSMP, DSM, MPP并行粒度進(jìn)程級(jí)大粒度線程級(jí)細(xì)粒度進(jìn)程級(jí)細(xì)粒度并行操作方式異步異步松散同步數(shù)據(jù)存儲(chǔ)模式分布式存儲(chǔ)共享存儲(chǔ)共享存儲(chǔ)數(shù)據(jù)分配方式顯式隱式半隱式學(xué)習(xí)入門難度較難容易偏易可擴(kuò)展性好較差一般l加速比(Speedup):用最優(yōu)串行算法的執(zhí)行時(shí)間最優(yōu)串行算法的執(zhí)行時(shí)間除以并行程序的執(zhí)行時(shí)間并行程序的執(zhí)行
13、時(shí)間所得到的比值,能夠準(zhǔn)確描述對(duì)程序并行化之后所獲得的性能收益。 最優(yōu)串行算法的執(zhí)行時(shí)間除以并行程序的執(zhí)行時(shí)間所得到的比值 :并行加速比就是指對(duì)于一個(gè)給定的應(yīng)用,并行算法的執(zhí)行速度相對(duì)于串行算法的執(zhí)行速度加快了多少倍。并行程序的執(zhí)行時(shí)間間最優(yōu)串行算法的執(zhí)行之加速比l并行程序執(zhí)行時(shí)間等于從并行程序開始執(zhí)行到所有進(jìn)程執(zhí)行完畢,墻上時(shí)鐘走過的時(shí)間,也稱為墻上時(shí)間 (wall clock time)。對(duì)各個(gè)進(jìn)程,墻上時(shí)間可進(jìn)一步分解為計(jì)算CPU時(shí)間、通信CPU時(shí)間、同步開銷時(shí)間、同步導(dǎo)致的進(jìn)程空閑時(shí)間;計(jì)算CPU時(shí)間:進(jìn)程指令執(zhí)行所花費(fèi)的CPU時(shí)間,包括程序本身的指令執(zhí)行占用的時(shí)間和系統(tǒng)指令花費(fèi)的時(shí)間
14、;通信CPU時(shí)間;同步開銷時(shí)間;進(jìn)程空閑時(shí)間:當(dāng)一個(gè)進(jìn)程阻塞式等待其他進(jìn)程的消息時(shí),CPU通常是空閑的,或者處于等待狀態(tài)。進(jìn)程空閑時(shí)間是指并行程序執(zhí)行過程中,進(jìn)程所有空閑時(shí)間總和。 l加速比性能定律Amdahl定律能夠計(jì)算并行程序相對(duì)于最優(yōu)串行算法在性能提升上的理論最大值表述是一種直觀、清楚的表述,他將程序劃分為可加速與不可加速兩大部分,程序總的加速比是一個(gè)關(guān)于程序中這兩部分所占比例以及可加速部分性能加速程度的函數(shù) 如果只對(duì)50%的程序加速15%的話,整個(gè)程序總的加速比就是: Amdahl定律:S 表示執(zhí)行程序中串行部分的比例,n表示處理器核的數(shù)量。假設(shè)最優(yōu)串行算法的執(zhí)行時(shí)間為一個(gè)單位時(shí)間(也
15、就是分子為1)。處理器核在數(shù)量上能夠無限制的增加,但是無限的處理器核卻并不能帶來性能上的無限增長,無論如何,程序性能上的總是有個(gè)上限,這個(gè)要受限于串行部分所占的比例。 比)可加速部分獲得的加速(可加速部分比例可加速部分比例)(程序總加速比/11l串行程序性能優(yōu)化是并行程序性能優(yōu)化的基礎(chǔ),一個(gè)好的并行程序首先應(yīng)該擁有良好的單機(jī)性能,影響程序單機(jī)性能的主要因素是程序的計(jì)算流程和處理器的體系結(jié)構(gòu) 調(diào)用高性能庫:充分利用已有的高性能程序庫是提高應(yīng)用程序?qū)嶋H性能最有效的途徑之一。許多著名的高性能數(shù)學(xué)程序庫,如BLAS和FFTW;選擇適當(dāng)?shù)木幾g器優(yōu)化選項(xiàng) :現(xiàn)代編譯器在編譯時(shí)能夠?qū)Τ绦蜻M(jìn)行優(yōu)化,從而提高所
16、生成的目標(biāo)代碼的性能。這些優(yōu)化功能通常是通過一組編譯選項(xiàng)來控制;合理定義數(shù)組維數(shù):現(xiàn)代計(jì)算機(jī)為了提高內(nèi)存帶寬,多采用多體交叉并行存儲(chǔ)系統(tǒng),即使用多個(gè)獨(dú)立的內(nèi)存體,對(duì)他們統(tǒng)一編址。為了充分利用多體存儲(chǔ),在進(jìn)行連續(xù)數(shù)據(jù)訪問時(shí)應(yīng)該使地址的增量與內(nèi)存體數(shù)的最大公約數(shù)盡量的小,特別要避免地址增量正好是體數(shù)的倍數(shù)的情況,因?yàn)榇藭r(shí)所有的訪問將集中在一個(gè)存儲(chǔ)體中; l串行程序性能優(yōu)化注意嵌套循環(huán)的順序:提高cache使用效率的一個(gè)簡單原則就是盡量改善數(shù)據(jù)訪問的局部性,數(shù)據(jù)訪問的局部性包括空間局部性和時(shí)間局部性,空間局部性指的是訪問了一個(gè)地址后,會(huì)緊接著訪問他的鄰居地址。在嵌套的多循環(huán)語句中,循環(huán)順序往往對(duì)循環(huán)
17、中數(shù)據(jù)訪問的局部性有很大的影響。在編寫嵌套的多循環(huán)代碼時(shí),一個(gè)通用的原則就是盡量使最內(nèi)層循環(huán)的數(shù)據(jù)訪問連續(xù)進(jìn)行;數(shù)據(jù)分塊和循環(huán)展開和一些其他方法,例如使用一些優(yōu)化工具如 Intel VTune等。 l并行程序性能優(yōu)化并行程序的性能優(yōu)化相對(duì)于串行程序而言就有些復(fù)雜了,最主要的是選擇好的并行算法和通信模式,下面介紹一下常用的并行程序優(yōu)化技術(shù) 減少通信量、提高通信粒度:主要有三個(gè)途徑:較少通信量、提高通信粒度和提高通信中的并發(fā)度。提高通信粒度的有效方法就是減少通信次數(shù),盡可能將可以一次傳遞的數(shù)據(jù)合并起來一起傳遞;全局通信盡量利用高效集合通信算法:當(dāng)組織多個(gè)進(jìn)程之間的集合通信時(shí),使用高效的通信算法可以大大地提高通信效率,從而降低通信開銷;挖掘算法的并行度,減少CPU空閑等待:些具有數(shù)據(jù)相關(guān)性的計(jì)算過程會(huì)導(dǎo)致并行運(yùn)行的部分進(jìn)程空閑等待。在這種情況下,可以考慮改變算法來消除數(shù)據(jù)相關(guān)性 ; l并行程序性能優(yōu)化負(fù)載平衡:是導(dǎo)致進(jìn)程空閑等待的另外一個(gè)重要因素。在設(shè)計(jì)并行程序時(shí)應(yīng)該充分考慮負(fù)載平衡問題,動(dòng)態(tài)調(diào)整負(fù)載時(shí)要考慮負(fù)載調(diào)整的開銷及由于負(fù)載不平衡而引起的空
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 托管股份轉(zhuǎn)讓合同
- 外貿(mào)英語術(shù)語應(yīng)用練習(xí)題
- 建筑工程沉降觀測(cè)合同范本模板
- 2025國家能源集團(tuán)福建能源有限公司畢業(yè)生直招擬錄用人員筆試參考題庫附帶答案詳解
- 2025四川宜賓市高縣錦途勞務(wù)派遣有限責(zé)任公司招聘勞務(wù)派遣人員12人筆試參考題庫附帶答案詳解
- 2025年上半年宜昌市直事業(yè)單位招考及易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2025年上半年安徽阜陽潁泉區(qū)水利局排灌站招聘工作人員4人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2023年UV激光切割機(jī)投資申請(qǐng)報(bào)告
- 2025年上半年安徽省合肥市廬陽區(qū)政府購買崗招聘23人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2025年上半年安徽滁州市瑯琊高新產(chǎn)業(yè)投資發(fā)展限公司招聘管理及工作人員11人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2025年共青科技職業(yè)學(xué)院單招職業(yè)適應(yīng)性測(cè)試題庫完整版
- 2025年上半年潛江市城市建設(shè)發(fā)展集團(tuán)招聘工作人員【52人】易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 統(tǒng)編版語文二年級(jí)下冊(cè)15古詩二首 《曉出凈慈寺送林子方》公開課一等獎(jiǎng)創(chuàng)新教學(xué)設(shè)計(jì)
- 旅游電子商務(wù)(第2版) 課件全套 周春林 項(xiàng)目1-8 電子商務(wù)概述-旅游電子商務(wù)數(shù)據(jù)挖掘
- 2024年江西應(yīng)用工程職業(yè)學(xué)院單招職業(yè)技能測(cè)試題庫標(biāo)準(zhǔn)卷
- 屏蔽泵知識(shí)-課件
- 先天性腎上腺皮質(zhì)增生癥(CAH)課件
- 醫(yī)療機(jī)構(gòu)主要負(fù)責(zé)人簽字表(示例)
- 無犯罪記錄證明委托書(共4篇)
- 粉塵防爆安全知識(shí)最全課件
- 公辦園招聘副園長面試題
評(píng)論
0/150
提交評(píng)論