版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第9章 多處理機,9.1 多處理機結(jié)構(gòu)9.2 多處理機性能模型9.3 多處理機的Cache一致性9.4 大規(guī)模并行處理機9.5 對稱多處理機9.6 機群系統(tǒng),多處理機定義:兩個或兩個以上處理機(包括PU和CU),通過高速互連網(wǎng)絡(luò)連接起來,在統(tǒng)一的操作系統(tǒng)管理下,實現(xiàn)指令以上級(任務(wù)級、作業(yè)級)并行。按照Flynn分類法,多處理機系統(tǒng)屬于MIMD計算機研究多處理機的目的:提前10年得到性能高100倍的高性能計算機系統(tǒng)。,
2、9.1.1 多處理機分類9.1.2 松散偶合多處理機9.1.3 緊密偶合多處理機9.1.4 多處理機系統(tǒng)的特點,9.1 多處理機結(jié)構(gòu),9.1.1 多處理機分類,多處理機系統(tǒng)由多個獨立的處理機組成,每個處理機都能夠獨立執(zhí)行自己的程序。按照處理機之間的連接程度:緊密偶合和松散偶合多處理機按照是否共享主存儲器:共享存儲器和分布存儲器多處理機按照處理機類型:同構(gòu)型和異構(gòu)型多處理機按照處理機的個數(shù):大規(guī)模并行處理機MPP和對稱
3、多處理機SMP,按照PE與IOP之間互連方式:對稱型:每個IOP能夠連接到所有PE上非對稱型:每個IOP只與一個PE連接。冗余對稱型:一個PE與多個IOP連接。按照存儲器的訪問方式:均均存儲器,UMA模型非均均存儲器,NUMA模型只有Cache,COMA模型另外,多向量處理機,機群系統(tǒng)等也稱為多處理機系統(tǒng)。,處理機之間的連接頻帶比較低處理機之間互為外圍設(shè)備進行連接。通過并行口或串行口把多臺計算機連接起來
4、。多臺計算機之間的連接需要有多個接口。通過Ethernet網(wǎng)絡(luò)接口連接多臺計算機。速度達10Mb、100Mb、1Gb,Mynet已經(jīng)達到1.28Gb和2.56Gb。當通信速度要求更高時,可以通過一個通道和仲裁開關(guān)CAS (Channel and Arbiter Switch)直接載存儲器總線之間建立連接。,9.1.2 松散偶合多處理機,處理機之間共享主存儲器,通過高速總線或高速開關(guān)連接。每個CPU能夠訪問任意一個存儲器模
5、塊通過映象部件把全局邏輯地址變換成局部物理地址通過互連網(wǎng)絡(luò)尋找合適的路徑,并分解訪問存儲器的沖突多個輸入輸出處理機IOP也連接在互連網(wǎng)絡(luò)上,輸入輸出設(shè)備與CPU共享主存儲器。處理機個數(shù)不能太多,一般幾個到幾十個。,9.1.3 緊密偶合多處理機,緊密偶合方式要求有很高通信頻帶??梢圆捎萌缦麓胧?1)采用高速互連網(wǎng)絡(luò)(2)增加存儲模塊個數(shù),一般n?m,取1~2倍之間。(3)每個存儲模塊再分成多個小模塊,并采用流
6、水線方式工作。(4)每個CPU都有自己的局部存儲器LM。(5)每個CPU設(shè)置一個Cache。,1. 結(jié)構(gòu)靈活陣列處理機:專用,PE數(shù)多,固定有限通信多處理機: 通用,PE數(shù)少,高速靈活通信2. 程序并行性陣列處理機的并行性存在于指令內(nèi)部,識別比較容易。多處理機的并行性存在于指令外部,在多個任務(wù)之間,識別難度較大。一個簡單的例子:Y = A+B*C*D/E+F,用兩個處理機計算:CPU1:B*C, A+F
7、, A+B*C*D/E+FCPU2:D/E, B*C*D/E,,9.1.4 多處理機系統(tǒng)的特點,3. 并行任務(wù)派生陣列處理機把同種操作集中,由指令直接啟動各PE同時工作。多處理機用專門的指令來表示并發(fā)關(guān)系,一個任務(wù)執(zhí)行時能夠派生出與它并行的另一些任務(wù)如果沒有空閑處理機,任務(wù)進入排隊器等待4. 進程同步陣列處理機僅一個CU,自然是同步的。多處理機中,各處理機執(zhí)行不同的指令,工作進度不會也不必保持相同。先做完的要停下等待。有
8、數(shù)據(jù)相關(guān)和控制相關(guān)也要停下等待。,要采取同步措施來保持程序要求的正確順序5. 資源分配和進程調(diào)度陣列處理機的PE是固定的,用屏蔽來改變實際參加操作的PE數(shù)目。多處理機執(zhí)行并發(fā)任務(wù),需用處理機的數(shù)目不固定,各處理機進出任務(wù)的時刻不相同,所需共享資源的品種、數(shù)量隨時變化。資源分配和進程調(diào)度問題,對整個系統(tǒng)的效率有很大的影響。,引起峰值性能下降的原因:(1)由于處理機之間通信而產(chǎn)生的延遲。(2)一臺處理機與其它處理機同步所需的開銷
9、。(3)當沒有足夠多任務(wù)時,一臺或多臺處理機處于空閑狀態(tài)。(4)由于一臺或多臺處理機執(zhí)行無用的工作。(5)系統(tǒng)控制和操作調(diào)度所需的開銷。,9.2 多處理機性能模型,研究多處理機的目的: 單處理機的速度提高很快,為什么還要研究多處理機?提前5年得到速度高10倍的機器。 或用1/10的價格獲得一臺高性能的機器。在某些適合進行并行處理得應(yīng)用領(lǐng)域,可以達到:提前10年得到速度高100倍的機器。 或用1
10、/100的價格獲得一臺高性能的機器。,并行性在很大程度上依賴于R/C比值其中:R: 程序執(zhí)行時間,C: 通信開銷R/C小,并行度低。R/C大,并行性高。把作業(yè)分解成較大的塊,能得到較大的R/C,但所得到的并行性小R/C是衡量任務(wù)粒度(Granularity)的尺度粗粒度(Coarsegrain)并行:R/C大,通信開銷小 細粒度(Finegrain)并行:R/C小,通信開銷大細粒度并行性是程序盡可能地分解成小任
11、務(wù),在極端情況下,一個小任務(wù)只完成一個操作,目標:由M個任務(wù)組成的程序,在N臺處理機組成的系統(tǒng)上運行,求最短執(zhí)行時間?基本模型僅考慮由兩臺處理機組成的系統(tǒng)。 總處理時間=Rmax(M-K,K)+C(M-K)K 其中:R:每個任務(wù)的執(zhí)行時間, C:通信開銷, K:任務(wù)分配參數(shù)。當通信時間很小時,把M個任務(wù)平均分給兩臺處理機當通信時間很大時,把M個任務(wù)分配給一臺處理
12、機,9.2.1 基本模型,通信時間: C(M-K)K是一個開口向下的二次函數(shù), 任務(wù)執(zhí)行時間是兩根相交的直線。 當通信時間比較大時,總時間的最小值發(fā)生在端點, 當通信時間比較小時,總時間的最小值發(fā)生在中點。結(jié)論: (1)總時間的最小值只可能出現(xiàn)在中點或兩個端點, (2)如果總時間的最小值發(fā)生在中點,必須滿足: M R > R M/2 + C M/2 M/
13、2 R/C > M/2總時間最短的結(jié)論:當R/C<M/2時,把所有任務(wù)分配給同一臺處理機,K=0;當R/C>M/2時,把任務(wù)平均分配給兩臺處理機,K=M/2。,要解決的問題:把M個任務(wù)分配給N臺處理機,求總處理時間的最小值。實際的最小值發(fā)生在極端分配情況下, 或者將所有的任務(wù)集中在一臺處理機上, 或者將任務(wù)平均分配給所有處理機。先討論平均分配方法:,9.2.2 N臺處理機系統(tǒng)的基本模
14、型,平均分配方法:例1:4個任務(wù)平均分給3臺處理機: 例2: 11個任務(wù)平均分給5臺處理機:,M個任務(wù)分配給N臺處理機的最佳分配方法: 臺處理機,每臺 個任務(wù)如果M/N≠0,則:另外有1臺處理機分得剩下的 個任務(wù);剩下的
15、 臺處理機不分配任何任務(wù)。例如:101個任務(wù)平均分給50臺處理機: 有33臺處理機,每臺分給3個任務(wù); 另有1臺處理機分給2個任務(wù); 剩下的16臺處理機不分配任務(wù)。,假設(shè)Ki個任務(wù)分給了第i臺處理機:第一項求出N臺處理機中最大執(zhí)行時間;第二項計算出Ki與(M-Ki)任務(wù)之間兩兩通信的開銷時間,它是關(guān)于Ki的二次函數(shù)。Ki最多有3個取值:
16、 、 和0當 M 是 N 的倍數(shù)時,當R/C>M/2時采用平均分配方法, 當R/C<M/2時采用集中分配方法。,多處理機系統(tǒng)的加速比:一個計算問題在一臺處理機上運行時間與在多處理機系統(tǒng)上運行時間的比值 當M是N的倍數(shù)時,有:如果M和N較小,R/C較大,即分母中的第一項遠大于第二項,則加速比與處理機臺數(shù)N成正比。當處理機臺數(shù)N很大,加速比≈
17、 ,趨近于一個常數(shù)。這時如果再增加處理機,性能的提高很小。,總結(jié)上面幾個模型,可以得出如下結(jié)論:(1)多處理機系統(tǒng)結(jié)構(gòu)所需的額外開銷,包括調(diào)度,對共享資源的競爭,同步,處理機之間通信等。(2)當處理機臺數(shù)增加時,額外開銷時間也增加。有時,額外開銷的增加可能比處理機數(shù)目的線性增加更快。(3)R/C比值越大,越有利于計算過程。如果采用粗粒度,能夠獲得較大的R/C比值;但是并行程度將大為降低。(4)為了使價格和性能都比
18、較合理,處理機數(shù)目存在一個極大值,這個值主要依賴于機器的系統(tǒng)結(jié)構(gòu)、基本技術(shù)(尤其是通信技術(shù))和具體的應(yīng)用問題。,在并行處理機和多處理機系統(tǒng)中,采用局部Cache會引起Cache與共享存儲器之間的一致性問題。存儲系統(tǒng)行為的兩個不同方面What: 讀操作得到的是什么值When: 什么時候才能將已寫入的值返回給讀操作出現(xiàn)不一致性問題的原因有三個:共享可寫的數(shù)據(jù)、進程遷移、I/O傳輸,9.3 多處理機的Cache一致性,1.寫共享
19、數(shù)據(jù)引起的不一致性使用多個局部Cache時,可能發(fā)生Cache不一致性問題:當P1把X的值寫為X’之后,如果P1采用寫通過方式,內(nèi)存中的內(nèi)容也變?yōu)閄’,但是P2處理機Cache中的內(nèi)容還是X。 如果P1采用寫回策法,內(nèi)存中的內(nèi)容還是X,當P2處理機要讀X時,讀到的是X而不是X’。,9.3.1 問題由來,2.進程遷移引起的數(shù)據(jù)不一致性P1和P2中都有共享數(shù)據(jù)X的拷貝,P2修改了X,并采用寫通過方式,所以內(nèi)存中的X修改成了X’
20、。如果該進程遷移到P1上,P1的Cache中仍然是X。P1中有共享數(shù)據(jù)X的拷貝,而P2中沒有該共享數(shù)據(jù),P1進程對X進行了修改,如果該進程遷移到了P2上,P2運行時從內(nèi)存中讀到是X。,3.I/O造成數(shù)據(jù)不一致性如果P1和P2在各自的局部Cache中都有X的拷貝,當I/O將一個新數(shù)據(jù)X’寫入存儲器時就導(dǎo)致存儲器和Cache的數(shù)據(jù)不一致。如果兩個局部Cache中都有X的拷貝,并采用寫回方式,當P1把X修改成X’之后;輸出部件讀X,存儲
21、器把X傳給輸出部件一種解決I/O操作引起數(shù)據(jù)不一致性的方法是把I/O處理機分別連接到各自的局部Cache上。,有兩類解決Cache不一致性問題的協(xié)議:在總線互連的多處理機系統(tǒng)中,通常采用監(jiān)聽協(xié)議。在其他多處理機系統(tǒng)中,通常采用基于目錄協(xié)議。,9.3.2 監(jiān)聽協(xié)議,1.兩種監(jiān)聽協(xié)議使用監(jiān)聽協(xié)議,有兩種方法:方法一:寫無效(Write Invalidate)策略,在本地Cache的數(shù)據(jù)塊修改時使遠程數(shù)據(jù)塊都無效。方法二:
22、寫更新(Write Update)策略,在本地Cache數(shù)據(jù)塊修改時通過總線把新的數(shù)據(jù)塊廣播給含該塊的所有其他Cache采用寫無效或?qū)懜虏呗耘cCache采用寫回方式(Write Back)還是寫通過方式(Write Through)無關(guān)。如果Cache采用的寫通過方式,在使遠程數(shù)據(jù)塊無效或更新其他Cache的同時,還要同時修改共享存儲器中的內(nèi)容。,,Cache一致性協(xié)議 在多個處理器中用來維護一致性的協(xié)議。關(guān)鍵:跟蹤記
23、錄共享數(shù)據(jù)塊的狀態(tài) 兩類協(xié)議(采用不同的共享數(shù)據(jù)狀態(tài)跟蹤技術(shù))目錄法(directory) 物理存儲器中共享數(shù)據(jù)塊的狀態(tài)及相關(guān)信息均被保存在一個稱為目錄的地方。監(jiān)聽法(snooping)每個Cache除了包含物理存儲器中塊的數(shù)據(jù)副本之外,也保存著各個塊的共享狀態(tài)信息。,Cache通常連在共享存儲器的總線上,各個Cache控制器通過監(jiān)聽總線來判斷它們是否有總線上請求的數(shù)據(jù)塊。 兩種更新協(xié)議(維持一致性要求)寫作
24、廢協(xié)議 在處理器對某個數(shù)據(jù)項進行寫入之前,保證它擁有對該數(shù)據(jù)項的唯一的訪問權(quán)。(作廢其他副本),,例 在寫回Cache、監(jiān)聽總線的情況下,寫作廢協(xié)議的實現(xiàn),,寫更新協(xié)議 當一個處理器對某數(shù)據(jù)項進行寫入時,通過廣播使其他Cache中所有對應(yīng)于該數(shù)據(jù)項的副本進行更新。 例 在寫回Cache、監(jiān)聽總線的情況下,寫更新協(xié)議的實現(xiàn)。,,寫更新和寫作廢協(xié)議性能上的差別主要來自:在對同一個
25、數(shù)據(jù)進行多次寫操作而中間無讀操作的情況下,寫更新協(xié)議需進行多次寫廣播操作,而寫作廢協(xié)議只需一次作廢操作。在對同一Cache塊的多個字進行寫操作的情況下,寫更新協(xié)議對于每一個寫操作都要進行一次廣播,而寫作廢協(xié)議僅在對該塊的第一次寫時進行作廢操作即可。寫作廢是針對Cache塊進行操作,而寫更新則是針對字(或字節(jié))進行??紤]從一個處理器A進行寫操作后到另一個處理器B能讀到該寫入數(shù)據(jù)之間的延遲時間。 寫更新協(xié)議的延遲時間較小。,
26、小規(guī)模多處理機中實現(xiàn)寫作廢協(xié)議的關(guān)鍵利用總線進行作廢操作:把要作廢的地址放到總線上 (一個放,多個讀) 寫操作的順序性:由總線實現(xiàn) (獲取總線控制權(quán)的順序性)寫直達Cache:因為所有寫的數(shù)據(jù)同時被寫回主存,所以從主存中總可以取到最新的數(shù)據(jù)值。對于寫回Cache,得
27、到數(shù)據(jù)的最新值會困難一些,因為最新值可能在某個Cache中,也可能在主存中。,監(jiān)聽協(xié)議及其實現(xiàn),在寫回法Cache條件下的實現(xiàn)技術(shù)Cache的標識(tag)用于實現(xiàn)監(jiān)聽。作廢一個塊只需將其有效位(valid)置為無效。給每個Cache塊加一個特殊的狀態(tài)位。狀態(tài):共享(shared)—— 至少一個副本,clean專有 (exclusive)—— 唯一副本,dirty Cache塊的擁有者:擁有唯一的Cache塊副本的處理器。
28、,在每個結(jié)點內(nèi)嵌入一個Cache狀態(tài)控制器。 控制器根據(jù)來自處理器或總線的請求,改變所選擇的數(shù)據(jù)塊的狀態(tài)。因為每次總線操作均要檢查Cache的地址標識,這可能會影響CPU對Cache的訪問。可通過下列兩種技術(shù)之一來減少影響 :復(fù)制標志位采用多級包容Cache (許多系統(tǒng)采用),在非總線結(jié)構(gòu)的多處理機系統(tǒng)中,采用基于目錄的Cache一致性協(xié)議。。 1.Cache目錄結(jié)構(gòu)目錄:一種專用的數(shù)據(jù)結(jié)構(gòu),用于記錄可以進
29、入Cache的每個數(shù)據(jù)塊的狀態(tài)、哪些處理器有該塊的副本以及是否修改過等信息。Cache目錄中存放的內(nèi)容是大量的指針,用以指明塊拷貝的地址,每個目錄項還有一個重寫位,指明是否有一個Cache允許寫入數(shù)據(jù)。,9.3.3 基于目錄的協(xié)議,根據(jù)Cache目錄的存放形式,有集中式和分布式兩種。根據(jù)目錄的結(jié)構(gòu),目錄協(xié)議分成三類:全映射(Full-Map)目錄:存放全局存儲器每個塊的有關(guān)數(shù)據(jù)。有限(Limited)目錄:
30、每個目錄項的指針數(shù)固定。鏈式(Chained)目錄:把目錄分布到所有Cache中。,目錄的使用規(guī)則: 當一個CPU對Cache進行寫操作時,要根據(jù)Cache目錄中的內(nèi)容將所有其他存有相同內(nèi)容的所有Cache拷貝無效,并置重寫位。 在CPU對Cache進行讀操作時,如果讀命中,則直接讀Cache即可。 如果重寫位為“0”,則從主存或其他Cache中讀入該塊,并修改目錄。,2.全映射目錄目錄項中有N個處理
31、機位和一個重寫位。處理機位表示相應(yīng)處理機對應(yīng)的Cache塊的狀態(tài)。只有一個處理機的重寫位為“1”,則該處理機可以對該塊進行寫操作。Cache的每個數(shù)據(jù)塊有兩個狀態(tài)位。一位表示數(shù)據(jù)塊是否有效,另一位表示有效塊是否允許寫。,從第二種狀態(tài)(b)轉(zhuǎn)移至第三種狀態(tài)(c)的過程如下:(1)Cache3發(fā)現(xiàn)包含X單元的塊有效,但不允許寫(2)Cache3向包含X單元的存儲器模塊發(fā)寫請求,并暫停P3工作(3)該存儲器模塊發(fā)無效請求
32、至Cache1和Cache2(4)Cache1和Cache2接到無效請求后,將對應(yīng)塊置為無效態(tài),并發(fā)回答信號給存儲器模塊。(5)存儲器模塊接到Cache1和Cache2的回答信號后,置重寫位為“1”,清除指向Cache1和Cache2的指針,發(fā)允許寫信號到Cache3。(6)Cache3接到允許寫信號,更新Cache狀態(tài),激活P3。優(yōu)點:全映射目錄協(xié)議的效率比較高。缺點:開銷與處理機數(shù)目的平方成正比,
33、 不具有擴展性。,3.有限目錄當處理機數(shù)目為N時,限制目錄大小為O(N log2 N)。目錄指針需要對N進行二進制編碼,每個指針占log2 N位,目錄所占的總存儲空間與(Nlog2 N)成正比。當Cache1和Cache2中都有X的拷貝時,若P3請求訪問X,則必須在在Cache1和Cache2中選擇一個使之無效,這種替換過程稱為驅(qū)逐。有限目錄的驅(qū)逐需要一種驅(qū)逐策略,驅(qū)逐策略的好壞對系統(tǒng)的性能具有很大的影響。驅(qū)逐策略
34、與Cache替換策略在很多方面是相同的。,4. 鏈式目錄 通過維護一個目錄指針鏈來跟蹤共享數(shù)據(jù)拷貝。當P1讀X時,存儲器送X到Cache1,同時寫Cache1的一個鏈結(jié)束指針CT,在存儲器中也保存一個指向Cache1的指針。當P2讀X時,存儲器送X給Cache2, 同時給Cache2一個指向Cache1的指針,存儲器則保存一個指向Cache2的指針。當某一處理機需要寫X時,它必須沿整個目錄鏈發(fā)送一個數(shù)據(jù)無效信息。在收到所
35、有處理機的回答信號之后,存儲器才給該處理機寫允許權(quán)。,當Cache中的數(shù)據(jù)塊需要替換時,要把該Cache從目錄鏈中刪除。有如下解決辦法: (1)把Cachei+1的指針指向Cachei-1。在Cachei中存放新數(shù)據(jù)塊。 (2)使Cachei及在鏈中位于其后的所有Cache中的單元X無效。 (3)使用雙向鏈。在替換時不再需要遍歷整個鏈。但指針增加了一倍,一致性協(xié)議也更加復(fù)雜。,優(yōu)點:不限制共享數(shù)據(jù)塊的拷貝數(shù)目,又保持了
36、可擴展性。指針的長度以處理機數(shù)目的對數(shù)關(guān)系增長,Cache的每個數(shù)據(jù)塊的指針數(shù)目與處理機數(shù)目無關(guān)。缺點:鏈式目錄的復(fù)雜程度超過了前兩種目錄。,9.4 大規(guī)模并行處理機,多處理機系統(tǒng)主要有四大類:(1)多向量處理機系統(tǒng):如CRAY YMP-90,NEC SX-3和FUJITSU VP-2000(2)SMP(Symmetry MultiProcessors)對稱多處理機 SMP(Shared Memory mulptiPro
37、cessors)共享存儲多處理機 如SGI Challenge、Sun SparcCenter 2000(3)MPP(massively parallel processing)大規(guī)模并行處理機 如Intel Paragon,CM-5,Cray T3D(4)Cluster 機群系統(tǒng)(NOW或COM),1. 科學(xué)計算中的重大課題要求提供3T性能:(1) 1Teraflops計算能力(2) 1Terabyte主存儲器(
38、3) 1Terabyte/s 輸入輸出頻帶寬度科學(xué)計算中的重大課題:全球氣候預(yù)報, 基因工程 ,飛行動力學(xué) ,海洋環(huán)流, 流體動力學(xué), 超導(dǎo)建模, 半導(dǎo)體建模, 量子染色動力學(xué), 視覺,證券指數(shù)計算,電力安全評估,建筑工程抗震性評估 ,核能開發(fā)利用,汽車碰撞 等領(lǐng)域。,2. 采用的關(guān)鍵技術(shù):VLSI, 可擴展技術(shù), 共享虛擬存儲技術(shù)虛擬共享存儲器(Shared Virtual Memory)也稱為共享分布存儲器(Distri
39、buted Shared Memory);物理上分布存儲器,邏輯上共享的存儲器。虛擬共享存儲器的優(yōu)點:編程容易, 系統(tǒng)結(jié)構(gòu)靈活可擴充性好, 有較好的軟件移植性與消息傳遞方式相比,程序運行效率高,主要原因:,(1)數(shù)據(jù)塊緩存在本地, 可以多次使用(2)通信時間分散,提高了并行性(3)擴大存儲空間,減少換頁操作虛擬共享存儲器實現(xiàn)途徑:(1)硬件實現(xiàn), 利用Cache,需要增加專用硬件(2)操作系統(tǒng)和庫實現(xiàn),通過虛擬存儲機制
40、取得共享和一致性。在松耦合的分布存儲多處理機上,不需要增加任何硬件(3)編譯實現(xiàn),自動將共享訪問轉(zhuǎn)換成同步和一致原語。大多數(shù)系統(tǒng)采用途徑(1)和(2),或這兩種途徑結(jié)合實現(xiàn),3. 同步MIMD機器SIMD與MIMD的優(yōu)點結(jié)合在一起。CM-5同時支持SIMD與MIMD兩種并行計算方式。數(shù)據(jù)并行可以采用SIMD、多SIMD或同步MIMD模式。32到16384個處理器結(jié)點,每個結(jié)點有一個SPARC處理機,32MB存儲器,64位浮點和
41、整數(shù)操作,128Mflops向量處理部件,三個網(wǎng)絡(luò):數(shù)據(jù)網(wǎng)絡(luò)提供點對點通信??刂凭W(wǎng)絡(luò)提供廣播、同步、掃描和系統(tǒng)管理功能。診斷網(wǎng)絡(luò)從后臺訪問所有系統(tǒng)硬件,測試系統(tǒng)完整性,檢測和隔離錯誤。數(shù)據(jù)網(wǎng)絡(luò)和控制網(wǎng)絡(luò)有很好的可擴展性。可以劃分成一個或多個分區(qū)供用戶使用每個分區(qū)一臺控制處理機,一組處理結(jié)點,數(shù)據(jù)和控制網(wǎng)絡(luò)的專用部分。,4. CM-5網(wǎng)絡(luò)結(jié)構(gòu)數(shù)據(jù)網(wǎng)絡(luò)采用胖樹型網(wǎng),數(shù)據(jù)處理結(jié)點、控制處理機和I/O通道都位于胖
42、樹的葉子上。利用胖樹的層次結(jié)構(gòu)特性,可以劃分一棵子樹給一個用戶。采用4元胖樹實現(xiàn),每個內(nèi)部開關(guān)結(jié)點由n個尋徑器芯片組成。每個尋徑器與4個子芯片和2或4個父芯片相連。可以分配不同的子樹處理不同的作業(yè),子樹的大小可以任意。每臺處理機與數(shù)據(jù)網(wǎng)絡(luò)有兩條連接通路。,5. 控制處理機控制處理機由CPU、存儲器、本地磁盤、網(wǎng)絡(luò)接口、以太網(wǎng)組成。它相當于一臺標準工作站。網(wǎng)絡(luò)接口通過控制網(wǎng)絡(luò)和數(shù)據(jù)網(wǎng)絡(luò)使處理機與系統(tǒng)的其它部分相連。控制處理
43、機專門執(zhí)行管理功能,不需要高性能的運算部件。每臺控制處理機都能夠運行操作系統(tǒng),負責并行處理資源的管理。一部分控制處理機管理用戶區(qū)的計算資源,其它管理I/O資源。,6.處理結(jié)點通過控制網(wǎng)絡(luò)和數(shù)據(jù)網(wǎng)絡(luò)將結(jié)點與系統(tǒng)的其它部分相連。每個向量部件有一個流水ALU和64個64位的寄存器。每條向量指令可傳送給一個向量部件、或一對向量部件、或同時廣播給所有4個向量部件。標量處理機負責地址轉(zhuǎn)換和循環(huán)控制,向量處理部件的操作與標量處理部件并行執(zhí)行
44、。16384個處理結(jié)點的總峰值速度為:214×27=221 Mflops=2Tflops,9.5 對稱多處理機,對稱多處理機 (Symmetry MultiProcessors) 共享存儲多處理機 (Shared Memory mulptiProcessors),有三種模型:1. UMA多處理機均勻存儲器存取模型 (Uniform Memory Access), 存儲器被所有處理機均勻共享所有處理機對所有存儲單元
45、具有相同的存取時間, 每臺處理機有局部Cache外圍設(shè)備可以共享,2. NUMA多處理機非均勻存儲器存取 (Nonuniform Memory Access)模型存儲器訪問時間隨存儲單元的位置不同而變化。共享存儲器在物理上是分布在所有處理機中的本地存儲器。所有局部存儲器地址空間的集合就組成了全局地址空間。處理機訪問本地存儲器比較快,訪問屬于另一臺處理機的遠程存儲器則比較慢,因為通過互連網(wǎng)絡(luò)會產(chǎn)生附加的時間延遲。,只有Cache
46、的存儲器結(jié)構(gòu) (Cache-Only Memory Architecture) 模型;COMA是一種只用Cache的多處理機系統(tǒng)實際上,COMA模型是NUMA模型的一種特例,后者分布存儲器換成了Cache在每個處理機結(jié)點上沒有主存儲器,全部Cache組成了全局虛擬地址空間遠程Cache訪問通過分布Cache目錄進行共享存儲系統(tǒng)擁有統(tǒng)一的尋址空間,程序員不必參與數(shù)據(jù)分配和傳輸。,3. COMA多處理機,1996年SGI公司的Or
47、igin 2000服務(wù)器,首先采用S2MP并行體系結(jié)構(gòu)S2MP實際上是NUMA多處理機系統(tǒng),采用分布存儲器,并通過cache對系統(tǒng)的共享和局部數(shù)據(jù)都進行緩存。從用戶編程角度看,S2MP是一種共享存儲的多處理機系統(tǒng)。S2MP的主要特點:(1)編程容易,使用方便。(2)可擴展性好,增加處理器數(shù)目容易。(3)通信開銷小,可開發(fā)程序的細粒度并行性,4. S2MP結(jié)構(gòu),S2MP的關(guān)鍵技術(shù):(1)高速無阻塞互連網(wǎng)絡(luò),增加多處理機
48、系統(tǒng)的通信帶寬。(2)分布式存儲器,隨處理器數(shù)目的增加自動增加存儲器帶寬。(3)引入cache,降低訪存時延。(4)所有存儲器統(tǒng)一編址,提供單一的大容量地址空間。(5)每個處理器結(jié)點上有一個目錄存儲器,維護cache一致性。,雙核處理技術(shù)的介紹,什么是雙核處理器? 簡而言之,雙核處理器即是基于單個半導(dǎo)體的一個處理器上擁有兩個一樣功能的處理器核心。換句話說,將兩個物理處理器核心整合入一個核中。,雙核的優(yōu)點,提高處理器性
49、能 因為處理器實際性能是處理器在每個時鐘周期內(nèi)所能處理指令數(shù)的總量,因此增加一個內(nèi)核,處理器每個時鐘周期內(nèi)可執(zhí)行的單元數(shù)將增加一倍。但只有充分利用兩個內(nèi)核中的所有可執(zhí)行單元,才能使系統(tǒng)達到最大性能。增強處理器功能 雙處理器架構(gòu)的引入和微軟Longhorn操作系統(tǒng)將在很大程度上促進虛擬技術(shù)的發(fā)展。虛擬化技術(shù)可以讓一臺物理計算機虛擬出若干個虛擬的系統(tǒng),這些虛擬系統(tǒng)能使用同樣的PC資源獨立工作。換句話說,這些技術(shù)允許用戶在他們的PC
50、上使用超過一個操作系統(tǒng),以便每個操作系統(tǒng)解決特定的運算任務(wù)。,,雙核的由來 如果將處理器的運行頻率比做高速公路的最高限速,前端總線則是這條道路容納的車道數(shù),在兩者都不能再進一步時,還有什么辦法可以解決交通堵塞呢?修建一條同樣的道路顯然就可以解決問題了,這與雙核的工作方式本質(zhì)上是一樣的道理。事實上,在服務(wù)器領(lǐng)域,多路處理器系統(tǒng)已經(jīng)不是新鮮事了;隨著工藝的進步,將雙路系統(tǒng)集成到處理器內(nèi)部也是可以實現(xiàn)的。,雙核處理器的發(fā)展,高端的RISC處
51、理器中 早在上個世紀末,HP和IBM就已經(jīng)提出雙核處理器的可行性設(shè)計,并成功推出了擁有雙內(nèi)核的HP PA8800和IBM Power4處理器。 Sun也在2003年10月微處理器論壇中,發(fā)表雙核心UltraSPARCⅣ處理器 x86平臺 AMD和Intel在2004年公布了各自的雙核計劃,AMD率先在服務(wù)器和工作站領(lǐng)域引入雙核架構(gòu),而Intel則是率先在臺式機領(lǐng)域引入雙核技術(shù)!,具體雙核處理結(jié)構(gòu)的介紹,AMD和Intel不同的
52、體系結(jié)構(gòu),AMD——”雙核” 兩個處理器核心直接連接到同一個內(nèi)核上,核心之間以芯片速度通信 Intel——”雙芯” 采用多個核心共享前端總線的方式,把兩個獨立的內(nèi)核封裝在一起 。,對Intel和AMD雙核處理器技術(shù)分析及比較,AMD的雙核是把兩顆內(nèi)核Core(s)集成在一塊晶片硅上,而Intel的雙核其實是用電路將兩個獨立的Packet(s)縫合在一起。Intel的雙核架構(gòu)會遇到多個內(nèi)核爭用總線資源的瓶頸問題。AMD直連
53、架構(gòu)(也就是通過超傳輸技術(shù)讓CPU內(nèi)核直接跟外部I/O相連,不通過前端總線)和集成內(nèi)存控制器技術(shù),使得每個內(nèi)核都自己的高速緩存可資遣用,都有自己的專用車道直通I/O,沒有資源爭搶的問題,實現(xiàn)雙核和多核更容易。,,,從上面看起來,Intel的雙核心處理器在技術(shù)規(guī)格上落后于AMD雙核心處理器 在價格上,Intel雙核心處理器的價格遠遠低于AMD雙核心處理器的價格,因此極具市場競爭力!,1. 機群系統(tǒng)的組成機群系統(tǒng)是利用高速網(wǎng)絡(luò)將一組高性
54、能工作站或高檔PC機連接起來,在并行程序設(shè)計以及可視化人機交互集成開發(fā)環(huán)境支持下,統(tǒng)一調(diào)度,協(xié)調(diào)處理,實現(xiàn)高效并行處理的計算機系統(tǒng)。Cluster、NOW、COW從結(jié)構(gòu)和結(jié)點間的通信方式來看,屬于分布存儲系統(tǒng)。,9.6 機群系統(tǒng),機群系統(tǒng)中的主機和網(wǎng)絡(luò)可以是同構(gòu)的,也可以是異構(gòu)的。微處理機技術(shù)、網(wǎng)絡(luò)技術(shù)和并行編程環(huán)境的發(fā)展使得機群系統(tǒng)這一新的并行處理系統(tǒng)形式正成為當前研究的熱點。(1)微處理器的性能不斷提高。(2)網(wǎng)絡(luò)技術(shù)的進
55、步使得松散耦合系統(tǒng)的通信瓶頸逐步得到緩解。(3)并行編程環(huán)境的開發(fā)使得新編并行程序或改寫串行程序更為容易。,2. 機群系統(tǒng)的特點 (1)系統(tǒng)開發(fā)周期短 (2)用戶投資風(fēng)險小 (3)系統(tǒng)價格低 (4)節(jié)約系統(tǒng)資源 UC Berkeley計算機系100多臺工作站的使用情況調(diào)查表明,一般單機系統(tǒng)的使用率不到10%,而機群系統(tǒng)中的資源利用率可達到80%左右。 (5)系統(tǒng)擴展性好
56、 (6)用戶編程方便,3. 機群系統(tǒng)的關(guān)鍵技術(shù)(1)高效的通信系統(tǒng)在用戶空間實現(xiàn)通信協(xié)議精簡通信協(xié)議Active Message通信機制(2)并行程序設(shè)計環(huán)境PVM(Parallel Virtual Machine)開始于1989年夏天,美國橡樹嶺國家實驗室(ORNL);是一套并行計算工具軟件,支持多用戶及多任務(wù)運行;支持多種結(jié)構(gòu)的計算機,工作站、并行機以及向量機等;,傳統(tǒng)通信協(xié)議 (TCP/IP),,,,10M Ethe
57、rnet,100M Ethernet,Myrinet,硬件開銷,軟件開銷,通信開銷分析,軟件開銷成為影響通信系統(tǒng)性能的瓶頸,支持C、C++和Fortran語言;自由軟件,使用非常廣泛;編程模型可以是SPMD或MPMD;具有容錯功能,當發(fā)現(xiàn)一個結(jié)點出故障時,自動將之刪除MPI(Message Passing Interface)在1992年11月至1994年元月產(chǎn)生。 能用于大多數(shù)并行計算機、計算機機群和異構(gòu)網(wǎng)絡(luò)環(huán)境,支持C和F
58、ortran兩種語言,編程模型采用SPMDExpress美國Parasoft公司推出;能在不同的硬件環(huán)境上運行;支持C和Fortran兩種程序設(shè)計語言。,Linda美國Yale大學(xué)與科學(xué)計算協(xié)會共同研制;通過函數(shù)擴充現(xiàn)并行程序的設(shè)計;支持C-Linda、Fortran-Linda等(3)并行程序設(shè)計語言在多處理機系統(tǒng)中,必須用并行程序設(shè)計語言編寫程序?;蛘甙岩呀?jīng)用串行語言編寫的程序轉(zhuǎn)換成并行語言程序之后,才能在多處理機系統(tǒng)上
59、運行。,把傳統(tǒng)串行語言程序轉(zhuǎn)換成并行語言程序的過程稱為并行編譯。有兩種并行編譯方式:全自動并行編譯與半自動并行編譯:全自動并行編譯是方向,但實現(xiàn)起來很困難。半自動并行編譯又稱為交互式并行編譯。程序員通過多次與機器對話,找到串行程序中可以并行執(zhí)行的部分。并行編譯器生成代碼的形式有多種: 并行高級語言程序、并行中間語言程序、并行目標語言程序,(4) 負載平衡技術(shù)一個大任務(wù)可分解為多個子任務(wù),把多個子任務(wù)分配到各個處理結(jié)點上并行
60、執(zhí)行的技術(shù)稱為負載平衡技術(shù)對于由異構(gòu)處理結(jié)點構(gòu)成的并行系統(tǒng),相同的負載在各結(jié)點上的運行時間可能不同。因此,準確的負載定義應(yīng)是負載量與結(jié)點處理能力的比值負載平衡技術(shù)的核心就是調(diào)度算法,即將各個任務(wù)比較均衡地分布到不同的處理結(jié)點上并行計算,從而使各結(jié)點的利用率達到最大。,負載平衡技術(shù)分為靜態(tài)和動態(tài)兩大類:靜態(tài)方法是在編譯時針對用戶程序的各種信息(任務(wù)的計算量和通信關(guān)系等)及并行系統(tǒng)本身的狀況(網(wǎng)絡(luò)結(jié)構(gòu)、各結(jié)點計算能力等)對用戶程序中的
61、并行任務(wù)作出靜態(tài)分配決策。動態(tài)方法是在程序運行過程中實現(xiàn)負載平衡的。它通過分析并行系統(tǒng)的實時負載信息,動態(tài)地將任務(wù)在各處理機之間進行分配和調(diào)整,以消除系統(tǒng)中負載分布的不均勻性。動態(tài)負載平衡的算法簡單,實時控制,但增加了系統(tǒng)的額外開銷。,(5)并行程序調(diào)試技術(shù)用并行程序設(shè)計語言編寫程序,比用串行程序設(shè)計語言更容易出錯,因此,在多處理機系統(tǒng)中,用并行程序設(shè)計語言編寫程序更加依賴于并行調(diào)試工具。并行程序調(diào)試的主要困難: 并行程序
62、的執(zhí)行過程不能重現(xiàn)。,(6)可靠性技術(shù)在多處理機上運行的程序通常比較大,程序執(zhí)行時間很長(幾十個小時或幾十天)。如果在程序執(zhí)行過程中出現(xiàn)偶然故障(如電源掉電、磁盤滿、某一臺處理機故障等),則整個運算過程要從頭開始。定時設(shè)置檢查點,保存現(xiàn)場信息。當出現(xiàn)故障時,只要回復(fù)到上一個檢查點,不必從頭開始執(zhí)行。,曙光5000A,曙光5000A的第一套超大型系統(tǒng)將于08年11月份落戶“上海超級計算中心”,該系統(tǒng)的計算節(jié)點機采用四路四核AMD Ba
63、rcelona (主頻2.0GHz)處理器,每個節(jié)點64GB內(nèi)存,胖節(jié)點機采用八路四核AMD Barcelona(主頻 2.0GHz)處理器,每個節(jié)點128GB內(nèi)存,整個系統(tǒng)由1650個節(jié)點組成龐大機群,共有6000顆CPU與100T海量內(nèi)存,其理論浮點峰值為每秒230萬億次,采用20GB,延遲小于1.3us的Infiniband高速網(wǎng)絡(luò)進行互聯(lián),采用了WCCS + SuSe Linux 雙操作系統(tǒng)。,從曙光針對5000A的宣傳中,我們
64、經(jīng)常會看到一個比較陌生的詞匯——HPP (Hyper Parallel ProCESsing)體系架構(gòu)。其實目前高性能計算機主流體系系統(tǒng)并沒有HPP這個提法,而是有MPP,有MSP等等,曙光把5000體系結(jié)構(gòu)叫HPP,主要它在體系結(jié)構(gòu)上結(jié)合了機群體系結(jié)構(gòu)和MPP體系結(jié)構(gòu)兩類結(jié)構(gòu)的優(yōu)點。它主流的結(jié)構(gòu)是機群,結(jié)點機是四路四核的,所以在機群應(yīng)用角度來說既能夠用很大的機群,同時還能覆蓋一大塊基于UMA架構(gòu)的,兩個結(jié)合起來起一個名字叫HPP。,本
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論