概述
在計算機系統結構研究領域中,大規模並行處理(MPP,Massively Parallel Pmcessing)是指計算機系統中使用大量的、同構的、簡單的處理單元(PE,ProcessingEIement),通過PE之間的並行工作獲得較高的系統性能。採用MPP體系結構中,一般使用大量的PE節點,PE之間採用高性能的交換網路進行連線,每個PE擁有本地存儲器,各個PE之間通過訊息傳遞進行通信。MPP系統中PE的並行程度較高,減少了共享存儲所帶來的系統開銷,適合大規模的系統擴展。另一方面。MPP系統的程式設計較為複雜,主要表現在計算任務的劃分及其與PE節點之間的映射上。
特點
1、工作並行性
由於系統使用了多處理器,則系統把物理模型分割成很多可並行執行的任務,然後在執行之前將它們分派給各處理部件,真正實現了多指令流多數據流,這種工作並行性是真正的並行,而不是並發執行。
2、模組性
模組住是指系統雖然由多個微處理器互連成一個整體,但它們分別又是相互獨立的,它們不僅有獨立處理功能,並且有獨立的存儲功能和獨立的通信功能,這樣就形成了一個完整的模組。因面系統很容易進行擴充,用戶可以通過增加外掛程式板的方法來增加處理機數或結點機數、I/O通道和存儲容量。因此,組合更多的更高性能的處理器是跟上激增的性能要求的捷徑。例如Floating Point System公司的T-Series的結點數可擴展到16384個。除此之外,採用模組化的結構還可以提高系統的可靠性、可用性和可維護性。
3、結構靈活性
隨著技術的迅速發展,大規模並行處理系統也朝著兩個方向發展,一是朝專用機發展,二是朝通用機發展。在專用機方面則根據機器的用途設計體系結構,有的PE的連線方式採用二維陣列,有的採用交叉網路。在通用機方面則採用可變的拓撲結構。建立一種具有可以通過程式重新組配的拓撲結構的多處理機系統。例如ESPRIT計畫(歐洲信J息、技術研究發展戰略計畫)中的1085項目是研究以TransPuter為基礎的多機結構的大規模並行處理系統,它可以通過使用電子開關來對其連線的
拓撲結構進行配量。在這個系統中可以連線24個到1024個工作處理機,其性能可以達到1500MFLOPS的峰值速度。
4、存儲器的有效利用性
要提高系統的性能,除了要提高CPU性能外,還必須增加存儲器的容量,提高存儲器與CPU之間的數據與指令的傳送速度。然而CPU與存儲器匯流排的速度和其數據寬度是有限的,因此必須將存儲器分割成若千個存儲塊,即局部存儲器,使CPU可以就近處理,這樣便可消除存儲器傳送瓶頸,提高存儲器的有效利用,對一個局部存儲器來說,CPU與存儲器間無需那么高的速度,然而從整個系統米看,卻能得到很高的處理能力。
發展瓶頸
第一個瓶頸,主要涉及對問題的物理模型和相應的數學模型的描述是否足夠精確可靠。這當然首先是對問題的科學本質和規律的認識和描述。許多時候,為了降低研究的複雜性,人們往往採取了簡化和近似的方法,捨去了一些“不重要"的因素但是當我們希望做更精細分析計算的時候,就需要考慮對問題給予更為精細的描述,使之更加符合客觀真實,從而引入更多的條件和參數,這將會導致計算規模及其複雜度的增大。第二是為了對問題進行更為精細的計算,人們需要對問題相應的數學模型進行更加精細的離散化,例如大大縮短時間步長,加密空間格線等,這也導致計算規模的迅速增大。最後,同一個物理模型可能會有若干等價的數學描述形式(數學模型),但是這些數學上等價而描述形式不同的數學模型離散化後形成的“計算模型”卻往往是不等價的,甚至同一數學模型採用的不同離散化方法得到的算法模型,也是不等價的。有的算法可能會很快收斂到物理解上去,而有的算法甚至會導致錯誤的結果甚至發散。有的算法可以很好地適應規模擴大後的並行處理,有的
算法則很難。
第二個瓶頸問題,主要是計算模型的並行化問題。當前所有功能強大的計算機都是由大量處理器組成的並行計算機,千萬億次的計算機系統往往擁有數十萬個處理器核心。要用好這樣大星的計算核心,計算必須有足夠大的規模,同時程字也有足夠好的並行性。可是我國目前現有每秒百萬億次的計算機上,大多數科學與工程計算套用的規模都在數十個核到數百個核,少數用到上千個核進行了試驗性的計算。於是當前在這類超級計算機上的使用方式,必然是若干規模並不很大的獨立任務同時運行(這當然也很重要)。我們還是不能很好處理那些需要千萬億次計算規模的重大科學與工程套用問題,而這恰恰是科研水平和科研能力的一個標誌。
當前套用大規模並行計算機的主要障礙是並行套用軟體的缺乏。由原來的算法和程式直接轉向並行化的程式,一般而言,對於中小規模(幾個處理器到幾百個處理器)的並行比較容易,適當改造最佳化即可以得到不錯的加速效率。但是規模更大時,就往往因為並行效率變得過低而得不到滿意的加速效果。這主要取決於所採用的計算模型本身在計算規模很大時是否有足夠好的並行性,即它應當能分解為很大數星可獨立並行進行計算的任務,且這些任務計算量分布比較均勻,使各處理器的負載比較平衡,而任務間需要交換(或耦合)的信息星相對較小。這在需要使用成千上萬個
處理器、問題又很複雜的時候,從原來的算法模型直接並行最佳化改造就會成為一件很困難、甚至是行不通的事情。
發展趨勢
(1)加強並行計算模型和並行算法的研究。
研究適合
MPP系統的計算模型具有普遍性的意義。已經提出了神經元網路模型、面向對象模型等新的並行計算模型。適於MPP系統的算法也有待進一步研究。這種研究屬於基礎理論性的研究,一直進展不大,但卻是最需要解決的根本問題。
(2)提高硬體水平,改進體系結構。
需要進一步提高微處理機,存背器及專用外圍晶片的性能,探索更靈活,能適應更多套用的互連網路,而體系結構上增加對共享存儲抽象、負載平衡、高級並行性機制等的支持,可以大大提高系統效率,是值得注意的重要方向。此外,在實現上,可以考慮用光學或其它技術替代電子技術。
(3)開發並行軟體,移植應用程式。
軟體缺乏妨礙了MPP系統的套用和發展,如今許多公司,大學和研究所,正大力開發並行軟體,以促進並行程式設計和現有套用軟體的移植。目前集中在並行編譯方面的工作是為了充分利用現有軟體,而可視化及用戶友好界面技術的全面滲透將成為重要趨勢。
從目前市場,套用情況看,傳統向量巨型機技術成熟,套用廣泛,積累了豐富的軟體資源,但難有進一步的飛躍。MPP系統易於實現,可伸縮性好,性能價格比高,但尚處在發展的初期,廣泛套用還有待於理論基礎和體系結構的進一步研究,尤其是軟體不成熟。MPP系統將來的發展,很大程度上取決於軟體方面的工作。所以,在未來較長一段時間內傳統的向量巨型機和MPP系統都將不斷發展,相互競爭。這種競爭的結果可能導致對一種層次式(混合)體系結構的研究。這種系統在技術上可能兼取共享存儲(傳統向量巨型機)及分布存儲MPP系統的長處,在套用上既能使現有大量向量巨型機軟體易於繼續使用,又能獲得極大的並行度,因而將成為發展的一個方向。