複製鏈接
請複製以下鏈接發送給好友

並行處理技術

鎖定
並行處理技術是40年來在微電子印刷電路、高密度封裝技術、高性能處理機存儲系統外圍設備、通信通道、語言開發、編譯技術、操作系統、程序設計環境和應用問題等研究和工業發展的產物,
中文名
並行處理技術
概    念
並行性
形    式
三種形式
性    質
名詞

並行處理技術定義

並行性是指在同一時刻或同一時間間隔內完成兩種或兩種以上性質相同或不相同的工作,只要在時間上互相重疊,都存在並行性。計算機系統中的並行性可從不同的層次上實現,從低到高大致可分為:
(1)指令內部的並行:是指指令執行中的各個微操作儘可能實現並行操作。
(2)指令間的並行:是指兩條或多條指令的執行是並行進行的。
(3)任務處理的並行:是指將程序分解成可以並行處理的多個處理任務,而使兩個或多個任務並行處理。
(4)作業處理的並行:是指並行處理兩個或多個作業。如多道程序設計分時系統等。另外,從數據處理上,也有從低到高的並行層次。
(5)字串位並:同時對一個二進制字的所有位進行操作。
(6)字並位串:同時對多個字的同一位進行操作。
(7)全並行:同時對許多字的所有位進行操作。

並行處理技術三種形式

時間並行
時間並行指時間重疊,在並行性概念中引入時間因素,讓多個處理過程在時間上相互錯開,輪流重疊地使用同一套硬件設備的各個部分,以加快硬件週轉而贏得速度。
時間並行性概念的實現方式就是採用流水處理部件。這是一種非常經濟而實用的並行技術,能保證計算機系統具有較高的性能價格比。目前的高性能微型機幾乎無一例外地使用了流水技術。
空間並行
空間並行指資源重複,在並行性概念中引入空間因素,以“數量取勝”為原則來大幅度提高計算機的處理速度。大規模和超大規模集成電路的迅速發展為空間並行技術帶來了巨大生機,因而成為實現並行處理的一個主要途徑。空間並行技術主要體現在多處理器系統和多計算機系統。但是在單處理器系統中也得到了廣泛應用。?
時間並行+空間並行
指時間重疊和資源重複的綜合應用,既採用時間並行性又採用空間並行性。顯然,第三種並行技術帶來的高速效益是最好的。

並行處理技術並行計算機

21世紀的計算機系統在不同層次上採取了並行措施,只有當並行性提高到一定層次時,具有了較高的並行處理能力,才能稱為“並行處理系統”。一般有以下三種並行措施。
時間重疊
時間重疊是在並行性概念中引入時間因素,即多個處理過程在時間上相互錯開,輪流重疊地使用同一套硬件設備的各個部件,以加快硬件週轉而贏得速度。這各並行措施表現在指令解釋的重疊及流水線部件與流水線處理機
資源重複
資源重複是在並行性概念中引入空間因素。這種措施提高計算機處理速度最直接,但由於受硬件價格昂貴的限制而不能廣泛使用。目前,隨着硬件價格的降低,已在多種計算機系統中使用,如多處理機系統、陳列式處理機等。
資源共享
資源共享也是在並行性概念中引入時間因素,它是通過軟件的方法實現的。即多個用户按一定的時間順序輪流使用同一套硬件設備;既可以是按一定的時間順序共享CPU,也可以是CPU與外圍設備在工作時間上的重疊。這種並行措施表現在多道程序分時系統中,而分佈式處理系統和計算機網絡則是更高層次的資源共享。
從第一台電子計算機發明,電子計算機已經經歷了五代。計算機發展到第四代時,出現了用共享存儲器、分佈存儲器或向量硬件選件的不同結構的並行計算機,開發了用於並行處理的多處理操作系統專用語言和編譯器,同時產生了用於並行處理或分佈計算的軟件工具和環境。到出現的計算機稱為第五代計算機,它們的主要特點是進行大規模並行處理。
並行計算機具有代表性的應用領域有:天氣預報建摸、VLSI電路的計算機輔助設計、大型數據庫管理、人工智能、犯罪控制和國防戰略研究等,而且它的應用範圍還在不斷地擴大。並行處理技術主要是以算法為核心,並行語言為描述,軟硬件作為實現工具的相互聯繫而又相互制約的一種結構技術。本文就並行處理技術的算法策略、描述性定義及軟硬件方面的實現做一個簡單的介紹。

並行處理技術策略及定義

並行算法的基本策略
在並行處理技術中所使用的算法主要遵循三種策略:
1.分而治之法:也就是把多個任務分解到多個處理器或多個計算機中,然後再按照一定的拓撲結構來進行求解。
2.重新排序法:分別採用靜態或動態的指令詞度方式。
3.顯式/隱式並行性結合:顯式指的是並行語言通過編譯形成並行程序,隱式指的是串行語言通過編譯形成並行程序,顯式/隱式並行性結合的關鍵就在於並行編譯,而並行編譯涉及到語句、程序段、進程以及各級程序的並行性。
並行性描述定義
利用計算機語言進行並行性描述的時候主要有三種方案:
1.語言擴展方案:也就是利用各種語言的庫函數來進行並行性功能的擴展。
2.編譯製導法:也稱為智能編譯,它是隱式並行策略的體現,主要是由並行編譯系統進行程序表示、控制流的分析、相關分析、優化分析和並行化劃分,由相關分析得到方法庫管理方案,由優化分析得到知識庫管理方案,由並行化劃分得到程序重構,從而形成並行程序。
3.新的語言結構法:這是顯式並行策略的體現。也就是建立一種全新的並行語言的體系,而這種並行語言通過編譯就能直接形成並行程序。

並行處理技術並行軟件

並行軟件可分成並行系統軟件和並行應用軟件兩大類,並行系統軟件主要指並行編譯系統和並行操作系統,並行應用軟件主要指各種軟件工具和應用軟件包。在軟件中所牽涉到的程序的並行性主要是指程序的相關性和網絡互連兩方面。
程序的相關性
程序的相關性主要分為數據相關、控制相關和資源相關三類。
數據相關:説明的是語句之間的有序關係,主要有流相關、反相關、輸出相關、I/O相關和求知相關等,這種關係在程序運行前就可以通過分析程序確定下來。數據相關是一種偏序關係,程序中並不是每一對語句的成員都是相關聯的。可以通過分析程序的數據相關,把程序中一些不存在相關性的指令並行地執行,以提高程序運行的速度。
控制相關:是語句執行次序在運行前不能確定的情況。它一般是由轉移指令引起的,只有在程序執行到一定的語句時才能判斷出語句的相關性。控制相關常使正在開發的並行性中止,為了開發更多的並行性,必須用編譯技術克服控制相關。而資源相關則與系統進行的工作無關,而與並行事件利用整數部件、浮點部件、寄存器和存儲區等共享資源時發生的衝突有關。軟件的並行性主要是由程序的控制相關和數據相關性決定的。在並行性開發時往往把程序劃分成許多的程序段——顆粒。顆粒的規模也稱為粒度,它是衡量軟件進程所含計算量的尺度,用細、中、粗來描述。劃分的粒度越細,各子系統間的通信時延也越低,並行性就越高,但系統開銷也越大。因此,在進行程序組合優化的時候應該選擇適當的粒度,並且把通訊時延儘可能放在程序段中進行,還可以通過軟硬件適配和編譯優化的手段來提高程序的並行度。
網絡互連
將計算機子系統互連在一起或構造多處理機或多計算機時可使用靜態或動態拓撲結構的網絡。靜態網絡由點一點直接相連而成,這種連接方式在程序執行過程中不會改變,常用來實現集中式系統的子系統之間或分佈式系統的多個計算結點之間的固定連接動態網絡是用開關通道實現的,它可動態地改變結構,使之與用户程序中的通信要求匹配。動態網絡包括總線、交叉開關和多級網絡,常用於共享存儲型多處理機中。在網絡上的消息傳遞主要通過尋徑來實現。常見的尋徑方式有存儲轉發尋徑和蟲蝕尋徑等。在存儲轉發網絡中以長度固定的包作為信息流的基本單位,每個結點有一個包緩衝區,包從源結點經過一系列中間結點到達目的結點。存儲轉發網絡的時延與源和目的之間的距離(段數)成正比。而在新型的計算機系統中採用蟲蝕尋徑,把包進一步分成一些固定長度的片,與結點相連的硬件尋徑器中有片緩衝區。消息從源傳送到目的結點要經過一系列尋徑器。同一個包中所有的片以流水方式順序傳送,不同的包可交替地傳送,但不同包的片不能交叉,以免被送到錯誤的目的地。蟲蝕尋徑的時延幾乎與源和目的之間的距離無關。在尋徑中產生的死鎖問題可以由虛擬通道來解決。虛擬通道是兩個結點間的邏輯鏈,它由源結點的片緩衝區、結點間的物理通道以及接收結點的片緩衝區組成。物理通道由所有的虛擬通道分時地共享。虛擬通道雖然可以避免死鎖,但可能會使每個請求可用的有效通道頻寬降低。因此,在確定虛擬通道數目時,需要對網絡吞吐量和通信時延折衷考慮。

並行處理技術圖像處理

並行處理技術是解決需要長時間處理,特別是全3D模擬難題極為高效的方案。若擁有多台工作站,則可將它們當做一個處理機羣來操作,然而,Linux微機機羣卻擁有更高的性能/價格比。並行處理技術可適用於SunSolaris,SGIIrix和Linux運行環境,但不支持微機Windows環境。並行處理技術使全3D模擬工作的可適用性得到極大程度地擴展。以往需要數天才能完成的處理任務,僅需幾小時即可完成。例如油氣系統模擬以往僅能作為研究工作,而現在則可以作為油氣勘探風險評價的常規流程之一。清楚地展示出近幾年在沒有硬件成本增加的前提下處理速度的重大突破!PetroMod並行處理(PP)許可證IESPetroMod的並行處理(PP)許可證可按處理器的個數購買,折扣量與所購買的可並行處理的數目有關。並行處理的購置費和維護費都很低,但它們可靈活地應用於不同的工作中,因為不管如何應用,許可證只管您可擁有的並行處理數:-並行處理技術主要用於加速對大的全3D數據模型的處理能力。典型的處理器數介於8-12之間,並行處理的加速因子通常與處理器數接近,即8個處理器的加速能力近於原來的8倍,因為並行處理技術能夠充分利用機羣中所有內存。-並行處理技術還可用於對2D模型進行處理。-並行處理技術對PetroRisk處理特別重要,因為每一個風險運算過程都對應一個處理器!這意味着多個風險運算過程可在並行機中同時運行,並且風險模擬可有機地融入全3D處理工作中。

並行處理技術發展概況

遵循不同的技術途徑,採用不同的並行措施,在不同的層次上實現並行性的過程,反映了計算機體系結構向高性能發展的自然趨勢。
單處理機系統中,主要的技術措施是在功能部件上,即改進各功能部件,按照時間重疊、資源重複和資源共享形成不同類型的並行處理系統。在單處理機的並行發展中,時間重疊是最重要的。把一件工作分成若干相互聯繫的部分,把每一部分指定給專門的部件完成,然後按時間重疊措施把各部分執行過程在時間上重疊起來,使所有部件依次完成一組同樣的工作。例如將執行指令的過程分為三個子過程:取指令、分析指令和執行指令,而這三個子過程是由三個專門的部件來完成,它們是取指令部件、分析指令部件和指令執行部件。它們的工作可按時間重疊,如在某一時刻第I條指令在執行部件中執行,第I+1條指令在分析部件中分析,第I+2條指令被取指令部件取出。三條指令被同時處理,從而提高了處理機的速度。另外,在單處理機中,也較為普遍地運用了資源重複,如多操作部件和多體存儲器的成功應用。
多機系統是指一個系統中有多個處理機,它屬於多指令流數據流計算機系統。按多機之間連接的緊密程度,可分為緊耦合多機系統和松耦合多機系統兩種。在多機系統中,按照功能專用化、多機互連和網絡化三個方向發展並行處理技術。
功能專用化經鬆散耦合系統及外圍處理機向高級語言處理機和數據庫機發展。多機互連是通過互聯網絡緊密耦合在一起的、能使自身結構改變的可重構多處理機和高可靠性的容錯多處理機。計算機網絡是為了適應計算機應用社會化、普及化面發展起來的。它的進一步發展,將滿足多任務並行處理的要求,多機系統向分佈式處理系統發展是並行處理的一種發展趨勢。

並行處理技術其他相關

國家重大基礎研究項目課題以及國家高技術研究項目。中心的主要任務是為研究所的高性能計算提供相關的科學與技術支持,主要包括:
1.高性能並行計算機環境的建設與管理
2.高性能並行計算軟件與理論研究
3.大規模科學計算可視化軟件與理論研究
4.大規模數據管理軟件與理論研究
5.計算機網絡技術的開發與應用
6.虛擬現實技術研究
·上海超級計算中心成立與2000年底,是上海市信息化建設的一個重要基礎設施。該中心以上海市的科研教育和工業發展為基礎,為汽車碰撞模擬、船舶設計等提供高性能計算能力。目前擁有國內TOP100排名第一的超級計算機曙光4000A
·中國科學院的超級計算中心成立於1996年,為中國科學院的科學研究提供計算環境,是中國科學院信息化建設的重要基礎設施之一。