摘 要:計算科學的發展使得“計算科學”已經與傳統的“理論科學”和“實驗科學”并列成為推動科技發展和社會文明進步的三大科學。同時,并行計算作為一種研究的工具,也逐漸融入到傳統的“理論科學”和“實驗科學”中,本文首先介紹了并行計算,其次對并行計算的新的研究方向NOW的技術做了重點闡述,最后探討了并行計算的未來發展趨勢。
關鍵詞:并行計算高性能NOW并行編程
中圖分類號:TP33文獻標識碼:A文章編號:1674-098X(2011)09(c)-0056-02
創建和應用并行計算的主要原因是因為并行計算是解決單處理器速度瓶頸的最好方法之一,而并行計算的硬件平臺是并行計算機,它由一組處理單元組成,這組處理單元通過相互之間的通信與協作,以更快的速度共同完成一項大規模的計算任務。
近幾年來,世界上和我國高性能并行計算機的發展取得長足進展。每秒數百億次、數千億次乃至數萬億次計算能力的高端并行機已相繼研制成功,使得以前許多無法求解和研究的問題現在已經成為可能,尤其是高性能并行計算有待于進一步研究和討論。
1 并行計算—高性能并行計算的研究
1.1 高性能計算—機群計算和網格計算
高性能計算的主要手段和發展趨勢是機群計算和網格計算。機群系統的體系結構如圖1所示:
它由一組稱為結點的PC或工作站互聯構成。每一個結點有自己的存儲器、I/O設備和操作系統,不同結點可以是同構或異構的(硬件和操作系統),機群中間件向用戶提供統一、靈活、透明、協調、安全的并行編程環境和并行運行環境,機群系統的全部軟硬件資源屬于該系統所有者,一般分布在一間實驗室或一棟大樓內,機群系統雖然投資大,但可以充分獲得可用性并保證安全性,網絡系統投資小,但可用性差,安全性難以保障,利用Internet構成服務網格和數據網格系統。較之計算網格,具有更好的前景,網格計算只適用于非常關鍵性計算任務,機群計算和網格計算,必須解決的問題有:
①向用戶提供單一的系統映象,使機群計算和網格計算系統像單一主機一樣使用。②如何分解任務。③各結點的任務如何通訊和協調,通訊的效率。④任務如何適應結點的環境和速度。⑤個別結點失效時任務恢復,加入新結點的靈活性。⑥任務動態調度是遷移。⑦對于網格計算,結點和網絡均非用戶所有,如何保證安全性是至關重要的,包括任務安全、結點安全、網絡安全。下面我們介紹這些問題主要涉及的高速網絡和系統軟件兩個方面。
1.2 用并行計算對高速網絡的實現
伴隨著數字化的進程,數據的處理、存儲和傳輸得到了飛速的發展。高帶寬的需求使得短距互聯成了系統發展的瓶頸。受損耗和串擾等因素的影響,基于銅線的電互聯的高帶寬情況下的傳輸距離受到了限制,成本也隨之上升。而且過多的電纜也會增加系統的重量和布線的復雜度。與電互連相比,基于多模光纖的光互連具有高帶寬、低損耗、無串擾和匹配及電磁兼容等問題,而開始廣泛地應用于機柜間、框架間和板間的高速互連。
并行光互連通過多根光線并行傳輸,可以在高比特率的速率下實現較遠距離的傳輸,這就是為何采用并行光互連的一個原因。
2并行計算研究的一個新方向—NOW
2.1 NOW的關鍵技術及實現目標
對于NOW,其關鍵技術在于網絡通信技術以及全局資源的協調管理技術(包括處理器、內存、磁盤等)??焖俚木W絡通信配合以一個全局操作系統層,就可為NOW的用戶提供一個巨大的網絡資源共享庫,滿足不同的應用需要。
通信技術的目標是,實現一個可擴展的高帶寬,低延遲的網絡系統,以及一個低開銷的網絡接口。Culler等人提出的LogP模型指出,計算機系統的通信性能不僅取決于傳輸帶寬,還決定于通信開銷及網絡延遲。對于網絡延遲來說,雖然MPP路由器比當前的ATM開關具有更小的延遲,但經過一個MPP網需要較多的轉發,這使得兩者的網絡延遲較為接近。然而,NOW獲得高性能計算的方式不同于MPP:首先,NOW通過利用網絡上的內存來緩存磁盤數據;其次,利用網絡軟件磁盤陣列來加速I/O操作;最后,還可以利用網絡范圍的處理機來對各個計算成分并行地執行,與MPP一開始就要求用戶改寫程序的方式相比,這種層次化方法顯然更為吸引人。
2.2 NOW當前的研究現狀及發展趨勢
NOW當前的研究課題主要有:通信、網絡內存、文件系統、全局調度。在通信上,新的開關網絡如ATM的產生使NOW的技術成為可能,但是對于小消息而言,傳遞延遲還是相當可觀的。在虛擬內存方面,Berkeley的合作內存思想是較好的想法,在這方面的工作大都相當于DSM的工作。在DSM方面的關鍵問題是要依賴于通信問題的解決,因發明家大多數DSM在NOW環境下的特點在于解決通信問題,使用主動式消息的方法和細粒度控制。在文件系統方面,Berkeley的軟件RAIM實現了各個節點對磁盤任意存取的無服務器網絡文件系統Xfs,突出體現了文件系統使用大容量內存的優勢。在處理機調度方面,Berkeley的NOW利用一個有效搜尋空閑資源機制及快速遷移功能,不僅為交互式應用提供一個“專用”的單處理機工作站以保證快速響就,而且為大型并行應用項目提供類似一個“專用”MPP的性能。
但綜上所述,NOW的研究方向興未艾,其技術還不成熟,對這些問題的研究仍是以后工作的重點。
3并行計算的新挑戰
3.1 以多核為主流的體系結構
最近幾年來,隨著芯片集成規模極限的逼近,以及能耗和成本的因素,具有多核結構的產品逐漸成為市場的主流。
所謂多核技術即在同一個處理器中集成兩個或多個完整的計算內核,每個計算內核實質上都是一個相對簡單的微處理器,多個計算內核可以并行地執行指令,從而實現一個芯片內的線程級并行,并可在特定的時間內執行更多的任務實現任務級并行,從而提高計算能力。
3.2 多核化的并行計算機的逐漸普及
多核化趨勢正在改變并行計算的面貌,跟傳統的單核CPU相比,多核CPU帶來了更強的并行處理能力、更高的計算密度和更低的時鐘頻率,并大大減小了散熱和功耗。目前,在幾大主要芯片廠商的產品線中,雙核、四核甚至八核CPU已經占據主要地位,在將應用從單核環境向多核系統遷移的過程中,通過選擇合適的操作系統,應用開發人員可以大大地減少麻煩,與此同時,多核技術的應用也帶來了諸多問題。
首先,多核芯片如何管理共享資源就是一大問題,在大多數情況下,多核CPU的內核擁有獨立的緩存,內存子系統,中斷子系統和外設,因此,系統需要讓每個內核獨立訪問某種資源,并確保資源不會被其他內核上的應用程序爭搶,多核的出現還讓系統設計變得更加復雜。其次,就是并行計算機系統的高效能問題。一般來說,人們往往比較關注并行計算機的高性能,但是,隨著多核技術和并行計算的發展,高效能計算機被提上了歷史日程,通過簡單的將許多PC機連接起來構成機群系統雖然峰會值很高,但存在著通訊瓶頸,不能認為是高效能的機器。再次,它對并行計算系統的算法和編程帶來了很大的困難,程序代碼遷移也是個問題。大多數系統廠商都在針對單核CPU架構的代碼庫上進行了大量投資,因而,這些公司需要有一個清晰的遷移策略,來使其代碼可以最大化地利用多核硬件資源,同時為之付出的遷移代價要盡可能的小。
3.3 趨向普及的并行編程
對于并行編程的工具環境提出了新的挑戰,需要從事并行編程的人員不再是少數高端的科研人員,使得對于并行編程語言,環境、工具的要求也更高。目前的并行應用軟件卻很難完全發揮多核處理器的性能,從編譯器、開發語言、函數庫到開發工具,軟件并未作好迎接多核的準備,由于編譯器和帶有標準化接口的庫文件存在,程序員們到現在仍然獨立于硬件設計之外,更嚴峻的是,在轉向新一代硬件時,程序員需要向多核系統移植現有應用程序,為了充分發揮新設計的優勢,程序員必須在應用中提取并明確表述并行性(任務和數據并行性)。為了實現最高的峰值性能利用率,程序員還必須將應用參數化,以就對不同的Cache大小和Cache分級體系,并增加新的代碼來獲取最佳效果。
結束語:隨著多核系統的普及,桌面應用和移動應用也成為并行計算新興的重要應用,由于個人計算機和移動設備都具有多個處理單位,使得許多桌面應用和移動設備上的應用也不得不采用并行計算的技術,這對于許多傳統桌面應用領域的研究者,以及并行計算的研究者,都是一個新的機遇與挑戰。
參考文獻
[1]陳國良.并行算法的設計與分析[M].北京:高等教育出版社,2002.
[2]陳國良.并行計算—結構·算法·編程[M].并行計算的硬件基礎,2003.
[3]Grama A,Gupta A,Karypis G,et al.Introduction to parallel computing.Boston: Benjaming/Cummings Publish Company,Inc,2003.
[4]胡凱,宋京民,闞志剛.網絡計算新技術[M].北京:科學出版社,2001.
[5]http://network.chinabyte.com/95/8991095.shtml.html,2009.
[6]李毅,周明天,虞厥邦.基于PVM的C++對象分布并行機制的初步研究[J].軟件學報,2001,12(2):173—1821.
[7]Chen G l,Sun G Z,Zhang Y Q,et al.Study on parallel computing,J Comput Sci Tech.2006,21(5):655—673.
[8]陳波,韓永國,劉志勤.高性能并行計算的研究與分析[J].西南科技大學計算機學院學報,2003.