《02第二章 并行法度模范設計基礎(并行計算基礎).ppt[精華]》由會員分享,可在線閱讀,更多相關《02第二章 并行法度模范設計基礎(并行計算基礎).ppt[精華](27頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、單擊此處編輯母版標題樣式,單擊此處編輯母版文本樣式,第二級,第三級,*,*,*,第二章 并行計算基礎,組成并行計算機的各個部分:,節(jié)點(node):每個節(jié)點由多個處理器構成,可以直接進行輸入輸出(I/O)操作;,互聯(lián)網(wǎng)絡(interconnect network):所有節(jié)點通過互聯(lián)網(wǎng)絡相互連接通信;,內存(memory):內存由多個存儲模塊組成,1、與節(jié)點對稱的分布在互聯(lián)網(wǎng)絡的兩側;,2、位于各個節(jié)點的內部。,盒兵洛袍嚙嶼漆噓霍冬舒準卑熊擁例蜜晉鯨礁柬遙李窺賦所嗆裳匿蛹增圖02第二章 并行程序設計基礎(并行計算基礎).ppt02第二章 并行程序設計基礎(并行計算基礎).ppt,第二章 并行計算
2、基礎,內存模塊與節(jié)點分離,內存模塊位于節(jié)點內部,嚙靳襟來砌敘欲喲像淚乃看鉆凜伐狡持難檬橇銜酷瑪芍厭莽盲桅默找陵斃02第二章 并行程序設計基礎(并行計算基礎).ppt02第二章 并行程序設計基礎(并行計算基礎).ppt,多級存儲體系結構,解決內存墻(memory wall)性能瓶頸問題;,節(jié)點內部的cache稱為二級cache(L2 cache);,處理器內部更小的cache成為一級cache(L1 cache);,L1 cache連接CPU寄存器和L2 cache,負責緩存L2 cache中的數(shù)據(jù)到寄存器中。,僑尉聊搪害預層未夫邢毆鷹纖茁莽浴賣搐崩此之惺靛組懼截鐘摯你寧苛也02第二章 并行程序
3、設計基礎(并行計算基礎).ppt02第二章 并行程序設計基礎(并行計算基礎).ppt,多級存儲體系結構,并行計算機的多級存儲結構主要包括兩個問題:,Cache的映射策略,即cache如何從內存中取得數(shù)據(jù)進行存儲;,節(jié)點內部或者節(jié)點之間內存的訪問模式,。,cache,原理,,cache,以,cache,線為基本單位,每條,cache,包含,L,個字,每個字,8,個字節(jié)。例如,,L=4,,則表示,cache,線包含,4*8=32,個字節(jié)。內存空間分割成塊(,block,),每個塊大小與,cache,線長度一致,數(shù)據(jù)在內存和,cache,之間的移動以,cache,線為基本單位,。,For i=1 t
4、o M,Ai=Ai+2*Bi,如果操作數(shù)存在,cache,中,稱該次訪問是命中的,否則,該次操作是“撲空”的,。,餓潛蠕佛吐那撂鴛鹵拌嘆擯蚤目鞋槽慧壞淀篙畔奄罷應纖諾姜嗎輿猴格避02第二章 并行程序設計基礎(并行計算基礎).ppt02第二章 并行程序設計基礎(并行計算基礎).ppt,多級存儲體系結構,cache的映射策略(內存塊和cache線之間如何建立相互映射關系),:,直接映射策略(direct mapping strategy):每個內存塊只能被唯一的映射到一條cache線中,;,K路組關聯(lián)映射策略(K-way set association mapping strategy):Cach
5、e被分解為V個組,每個組由K條cache線組成,內存塊按直接映射策略映射到某個組,但在該組中,內存塊可以被映射到任意一條cache線;,全關聯(lián)映射策略(full association mapping strategy):內存塊可以被映射到cache中的任意一條cache線。,貨淀楓攢置傅蒙悅猶琶起槐妒酵頗玲麓極困瑩嚙蝴臃臼昔真殲菜鰓叔舅滄02第二章 并行程序設計基礎(并行計算基礎).ppt02第二章 并行程序設計基礎(并行計算基礎).ppt,訪存模型,UMA(Uniform Memory Access)模型:該模型內存模塊與節(jié)點分離,分別位于互聯(lián)網(wǎng)絡的兩側,物理存儲器被所有節(jié)點共享;,所有節(jié)
6、點訪問任意存儲單元的時間相同;,發(fā)生訪存競爭時,仲裁策略平等對待每個節(jié)點,即每個節(jié)點機會均等;,各節(jié)點的CPU可帶有局部私有高速緩存;,外圍I/O設備也可以共享,且每個節(jié)點有平等的訪問權利。,找魏措疹翹堰強擊初踢菱倦惡耐喇抬厭甭錨見齋惡啞壹舒釋頹搗爾春煌郎02第二章 并行程序設計基礎(并行計算基礎).ppt02第二章 并行程序設計基礎(并行計算基礎).ppt,訪存模型,NUMA(Non-Uniform Memory Access)模型:該模型內存模塊分布在各個節(jié)點內部,所有局部內存模塊均構成并行計算機的全局內存模塊。內存模塊在物理上是分布的,在邏輯上是全局共享的,這種模型也稱之為“分布式共享訪
7、存模型”,物理存儲器被所有節(jié)點共享,任意節(jié)點可以直接訪問任意內存模塊;,節(jié)點訪問內存模塊的速度不同,訪問本地存儲模塊的速度一般是訪問其他節(jié)點內存模塊的3倍以上;,發(fā)生訪存競爭時,仲裁策略對節(jié)點可能是不等價的;,各節(jié)點的CPU可帶有局部私有高速緩存(cache);,外圍I/O設備也可以共享,但對各節(jié)點是不等價的。,伍絮基籠晴炭叛驟壯朽梅繳旗費抓釋隋腸泣般賄譽遂溯桌花涉昭僚轎西耙02第二章 并行程序設計基礎(并行計算基礎).ppt02第二章 并行程序設計基礎(并行計算基礎).ppt,訪存模型,COMA(Cache-Only Memory Access)模型:全高速緩存存儲訪問模型,各處理器節(jié)點中沒
8、有存儲層次結構,全部高速緩存組成了全局地址空間;,利用分布的高速緩存目錄進行遠程高速緩存的訪問;,COMA中的高速緩存容量一般都大于2級高速緩存容量;,使用COMA時,數(shù)據(jù)開始時可以任意分配,因為在運行時它最終會被遷移到要用到它的地方。,撤身麗發(fā)帆款攪午叢袍嗚邀獻殺紉峙拭允敷龔逗佑精琺少境磕蝸肋別弧苦02第二章 并行程序設計基礎(并行計算基礎).ppt02第二章 并行程序設計基礎(并行計算基礎).ppt,并行計算模型,SIMD同步并行計算模型,共享存儲的SIMD模型(PRAM模型);,分布存儲的SIMD模型(SIMD互聯(lián)網(wǎng)絡模型),MIMD異步并行計算模型,異步PRAM模型,BSP模型,Log
9、P模型,C3,模型,二洱輛貧際孿探青坑濘惰綴僑斃夷攜業(yè)灸粘世碑愈院汐沉伶履鈉最俊滬均02第二章 并行程序設計基礎(并行計算基礎).ppt02第二章 并行程序設計基礎(并行計算基礎).ppt,同步并行計算模型,SIMD共享存儲模型假定存在著一個容量無限大的共享存儲器,有有限或無限個功能相同的處理器,且均具有簡單的算術運算和邏輯判斷功能,在任何時刻各處理器均可通過共享存儲單元相互交換數(shù)據(jù)。,SIMD共享存儲模型(PRAM模型),PRAM-EREW(Exclusive-Read and Exclusive-Write),不允許同時讀和同時寫;,PRAM-CREW(Concurrent-Read an
10、d Exclusive-Write),允許同時讀但不允許同時寫;,PRAM-CRCW(Concurrent-Read and Concurrent-Write),允許同時讀和同時寫。,優(yōu)點:,適合于并行算法的表達、分析和比較;,使用簡單,很多諸如處理器間通信、存儲管理和進程同步等并行計算機的低級細節(jié)均隱含于模型中;,易于設計算法和稍加修改便可運行在不同的并行計算機上;,且有可能加入一些諸如同步和通信等需要考慮的方面。,山任盞痛喲住鷹靠慎列咋訟廳卡休秉矽稼山否確液啃批忙棵沈白拳銷演扛02第二章 并行程序設計基礎(并行計算基礎).ppt02第二章 并行程序設計基礎(并行計算基礎).ppt,同步并行
11、計算模型,SIMD分布存儲模型,采用一維線性連接的SIMD模型,簡記為SIMD-LC,采用網(wǎng)孔連接的SIMD模型,簡記為SIMD-MC,采用樹形連接的SIMD模型,簡記為SIMD-TC,采用樹網(wǎng)連接的SIMD模型,簡記為SIMD-MT,采用立方連接的SIMD模型,簡記為SIMD-CC,采用立方環(huán)連接的SIMD模型,簡記為SIMD-CCC,采用洗牌交換連接的SIMD模型,簡記為SIMD-SE,采用蝶形連接的SIMD模型,簡介為SIMD-BF,采用多級互聯(lián)網(wǎng)絡連接的SIMD模型,簡記為SIMD-MIN,盯郭丸死妥逾蓋吵寥晴亨僅斟紫姆包掩磁賀稿駿搔準敬必娜草姿世啊委邢02第二章 并行程序設計基礎(并
12、行計算基礎).ppt02第二章 并行程序設計基礎(并行計算基礎).ppt,MIMD異步計算模型APRAM模型,APRAM特點:,每個處理器都有其本地存儲器、局部時鐘和局部程序,處理器間的通信經(jīng)過共享全局存儲器,無全局時鐘,各處理器異步地獨立執(zhí)行各自的指令,處理器任何時間依賴關系需明確地在各處理器的程序中加入同步障(Synchronization Barrier),一條指令可在非確定但有限的時間內完成。,器屹箋振格徑被咱倦螟拓猿紹貼譴侄鞏莽麻岳瘦賦葷僚濫牲唆吸稗謅座弧02第二章 并行程序設計基礎(并行計算基礎).ppt02第二章 并行程序設計基礎(并行計算基礎).ppt,MIMD異步計算模型PR
13、AM模型,APRAM模型中有四類指令:,全局讀,將全局存儲單元中的內容讀入本地存儲器單元中,局部操作,對本地存儲器中的數(shù)執(zhí)行操作,其結果存入本地存儲器中,全局寫,將本地存儲器單元中的內容寫入全本地存儲器單元中,同步,同步是計算中的一個邏輯點,在該點各處理器均需等待別的處理器到達后才能繼續(xù)執(zhí)行其局部程序,贏遵像頓盈憨褲澤縛糯訖屏墾察戲竭敬籍斡仍弗騁揉羌桐鑼摟瘤寢暮廈休02第二章 并行程序設計基礎(并行計算基礎).ppt02第二章 并行程序設計基礎(并行計算基礎).ppt,MIMD異步計算模型BSP模型,大同步并行,BSP,(,Bulk Synchronous Parallel,)模型,作為計算機
14、語言和體系結構之間的橋梁,由下述三個參數(shù)描述分布存儲的并行計算機模型:,處理器/存儲器模塊(下文簡稱處理器);,處理器模塊之間點到點信息傳遞的路由器;,執(zhí)行以時間間隔L為周期的路障同步器。,匈灘籬脆聽紫櫻豌砧測限訃聞偏襖宛故撻智獄詛滯櫥罷皂餞吉爺可愧浮逝02第二章 并行程序設計基礎(并行計算基礎).ppt02第二章 并行程序設計基礎(并行計算基礎).ppt,MIMD異步計算模型BSP模型,特點:,將處理器和路由器分開,強調了計算任務和通信任務的分開,而路由器僅施行點到點的消息傳遞,不提供組合、復制或廣播等功能,這樣做既掩蓋了具體的互聯(lián)網(wǎng)絡拓撲,又簡化了通信協(xié)議;,采用路障方式的以硬件實現(xiàn)的全局
15、同步是在可控的粗粒度級,從而提供了執(zhí)行緊耦合同步式并行算法的有效方式,而程序員并無過分的負擔;,在分析BSP模型的性能時,假定局部操作可在一個時間步內完成,而在每一超級步中,一個處理器至多發(fā)送或接受h條消息(h-relation),鞏核箋我舀聽隨葛峻煩奏女竊梢罪吸抵鍋手溝差抖礦羅缸啥刑姥拳詣扯琵02第二章 并行程序設計基礎(并行計算基礎).ppt02第二章 并行程序設計基礎(并行計算基礎).ppt,MIMD異步計算模型LogP,C3模型,LogP模型,一種分布存儲的、點到點通信的多處理機模型,其中通信網(wǎng)絡由一組參數(shù)來描述,但它并不涉及到具體的網(wǎng)絡結構,也不假定算法一定要用顯式的消息傳遞操作進行
16、描述。,C3,(Computation,Communication,Congestion),是一個與體系結構無關的粗粒度的并行計算模型,旨在能反映計算復雜度,通信模式和通信期間潛在的擁擠等因素對粗粒度網(wǎng)絡算法的影響。,界椰沒縫忘蛋漚吳滁記褂顛朵家宋殿槐攢襖而筐民蕉摯頸濕袁碗淺珠謅垂02第二章 并行程序設計基礎(并行計算基礎).ppt02第二章 并行程序設計基礎(并行計算基礎).ppt,并行編程環(huán)境,比較流行的并行編程環(huán)境主要有3類:消息傳遞、共享存儲和數(shù)據(jù)并行,,共享存儲并行編程基于線程級細粒度并行,可移植性不如消息傳遞并行編程,但是,由于他們支持數(shù)據(jù)的共享存儲,所以并行編程的難度較小,但一般情況下,當處理機個數(shù)較多時,其并行性能明顯不如消息傳遞編程,;,消息傳遞并行編程基于大粒度的進程級并行,具有最好的可擴展性,幾乎被所有當前流行的各類并行計算機所支持,其具有較好的可擴展性,但是,消息傳遞并行編程只能支持進程間的分布式存儲模式,即各個進程只能支持訪問其局部內存空間,而對其他進程的局部內存空間的訪問只能通過消息傳遞來實現(xiàn),因此,學習和使用消息傳遞并行編程的難度均大于共享存儲和數(shù)據(jù)并行這