-
大規模並行處理機
鎖定
- 中文名
- 大規模並行處理機
- 外文名
- Massively Parallel Processor
- 學 科
- 計算機系統
- 組 成
- 多個微處理器、局部存儲器
- 特 點
- 多指令流多數據流
- 領 域
- 並行計算
目錄
- 1 簡介
- 2 程序設計方法
- 3 多指令流多數據流與分佈式存儲器模型
大規模並行處理機簡介
大規模並行處理技術已成為超級計算機應用中的一項前沿研究。大規模並行處理機系統是具有兒百或幾千台處理機,通過某種拓撲結構(互連網絡)互相連接而成的,每個結點機通過互連網絡與其它結點機相連並相互通訊。它具有計算能力強、規模龐大、結構複雜等特點,主要用於大型科學工程計算和大規模數據處理。MPP系統一般採用分佈存儲結構。用消息傳遞方式來協調各並行處理結點之間的工作
[1]
。
大規模並行處理機程序設計方法
數據並行法
數據並行實際上就是採用數據分佈的方法來實現並行處理。其具體方法是將一個串行程序的數據分成若干份,加載到各個處理結點分別處理。這種方法的優點是:可以充分利用現有的軟件,採用熟悉的串行程序設計方一法編寫和調試程序。使用這種方法要注意以下幾個問題。首先,要儘可能地充分利用資源,以提高並行度。在進行數據塊劃分時,要儘量給每一個處理結點分配一塊處理數據。其次,對於MPP系統來講,處理結點數量很大,要儘量減少結點間的通信。最後,要使MPP系統中各處理結點的任務均衡,即負載均衡問題。
功能並行法
這種方法是因每個處理結點執行不同的程序,實現不同的功能在而得名。這種並行程序的設計就是把整個功能用若干個程序來實現,而把每個程序落實到不同的處理結點去執行。我們可以根據功能按傳統方法設計成串行程序,然後再把它劃分成若干個子程序。當然,如果有現成的串行程序,並行程序設計就只是程序分解問題。程序分解應當根據數據流圖劃分,以使聯繫密切的問題劃分在一個子程序來解決,而子程序與子程序之間的聯繫越少越好,這樣,可以大大減少處理結點之間的通信,減少通信時延。可以看出,這種並行程序的設計關鍵在子程序的劃分。若考慮減少通信時延,就照顧不了負載的均衡;若考慮負載均衡,就得以增加處理結點間的通信時延為代價。在這種並行程序中,處理結點之間的聯繫可採取兩種辦法。一種辦法是採用數據驅動的方式,當某處理結點所需要的數據全部接收到以後,該處理結點即可啓動,執行其子程序。另一種辦法是採取客户杉網及務器模式。即把若干個處理結點看作一個個的服務器,分別執行不同的子功能,而把某控制結點看作是客户機,由它來按照整個問題的求解需求,有次序的去請求不同的服務器為其服務,以實現整個問題的解決。
大規模並行處理機多指令流多數據流與分佈式存儲器模型
MIMD是用於實現並行性的技術。MIMD計算機具有多個異步和獨立工作的處理器。在任何時鐘週期內,不同的處理器可以在不同的數據片段上執行不同的指令,也即是同時執行多個指令流,而這些指令流分別對不同數據流進行操作。MIMD架構可以用於諸如計算機輔助設計、計算機輔助製造、仿真、建模、通信交換機的多個應用領域。 MIMD機器可以是共享存儲器或分佈式存儲器類別。共享存儲器機器包括UMA、NUMA、COMA等。分佈式存儲器機器包括NORAM等。MIMD是使用多個控制器來異步地控制多個處理器,能實現作業、任務、指令、數組各級全面並行的多機系統。多處理機屬於MIMD。當前的高性能服務器與超級計算機大多具有多個處理機,能進行多任務處理,稱多處理機系統。
並行計算機系統絕大部分為MIMD系統,包括並行向量處理機(PVP,Parallel Vector Processor),對稱對多處理機(SMP,Symmetrical Multi Processor),規模並行處理機(MPP,Massively Parallel Processor),工作站機羣(COW,Cluster Of Workstations),分佈式共享存儲系統(DSM,Distributed shared Memory)。
分佈式存儲器模型
在分佈式存儲器中,每個處理器具有其自己的單獨存儲器地址。對於要共享的數據,它必須作為消息從一個處理器傳遞到另一個處理器。例如NORMA就屬於分佈式存儲器。
在一個分佈存儲的多處理機系統中,如果所有的存儲 器都是私有的,僅能由本地處理器訪問,就稱為非遠程儲訪問(NO-Remote Memory Access,NORMA)。
NORMA模型的特點:
① 每個結點都是由處理器( P)、本地存儲 器( M)和(或) I/O 設備組成的自治計算機。多個結點由基於消息傳遞的互連網絡互連。
② 所有的存儲器都是私有的。
③ 絕大多數 NORMA 都不支持遠程存儲器的