並行系統

並行系統

並行系統(parallel system)是指同時執行多個任務或多條指令或同時對多個數據項進行處理的系統。早期的計算機是串列逐位處理的,稱為串列計算機。隨著計算機技術的發展,現代計算機均具有不同程度的並行性

基本介紹

  • 中文名:並行系統
  • 外文名:parallel system
  • 學科:計算機科學與技術
  • 類別:計算機系統
  • 特點:並行處理
  • 優勢:速度快
基本概念,並行處理系統結構,結構原理,流水線處理機,多功能部件,陣列處理機,多處理機系統,數據流處理機,並行算法和並行語言,並行處理器系統的種類,

基本概念

並行系統(parallel system)是指同時執行多個任務或多條指令或同時對多個數據項進行處理的系統。早期的計算機是串列逐位處理的,稱為串列計算機。隨著計算機技術的發展,現代計算機均具有不同程度的並行性
並行作業系統是一種挖掘現代高性能計算機現代作業系統的潛力的計算機作業系統,能夠最大限度地提高並行計算系統的計算能力。

並行處理系統結構

所有的並行處理系統均可視為以處理器為節點的網路。設計並行處理時必須考慮許多問題,其中的兩個重要問題是處理系統的網路拓撲結構和節點處理器的設計。高速數位訊號處動系蛛屬於專用機,其拓撲結構和節點設計與所要實現的算法有密切的關係,且對其通用性不需要而且也不應該有很高的要求(通用機有很高的通用性,但相應地有很大的管現開銷)。良好的專用並行處理系統應具有如下一些共同特點。
(1)模組化處理系統由種類不多的模組組成。這既便於節點及通訊硬軟體設計,又便子系統的擴展,而且也降低了系統的複雜性;
(2)流水處理這可以大大提高處理速度,是並行系統必須具有的特點之一;
(3)局域性這包括局域的數據流和控制流。由於無論在晶片級還是系統級,通訊問題均是關鍵,因而局域性非常重要。
並行處理系統的框圖如圖:
並行系統
處理系統的中心部分由一個調度器及四個處理器組成,系統設計成可以很易擴展其處理器的數量,系統還包含A/D、D/A及串口和並口。系統的重構通過對調度器和其它處理器的軟體設定實現。系統可設定成線性、環形、星形、車輪形等各種結構形式,以適於多種套用。
調度器亦是一個處理器,用於系統的調度和控制,也可完成一定的處理運算。它主要用於向處理器發出各種控制命令,控制調度匯流排的復用,轉發微機和各處理器之間的控制和數據。所有程式和初始數據均由微機產生,再經由調度器轉至各處理器。要顯示列印的結果亦由調度器轉至微機。
系統的運算主要由處理器完成。現系統有 個接水上一樣的處理器,只是在第一個處理器中加入FIFO,用於作為輸入數據通道。處理器的組成如圖:
並行系統
系統共有三種匯流排: 測試匯流排、調度匯流排和環形匯流排。測試匯流排用於傳輸微機和處理系統間的數據、微機向處理系統傳送程式、初始化信息及控制命令;調度匯流排完成調度器和其餘處理器的信息傳輸;環形匯流排將四個處理器連線成環形結構。
並行處理器是實時實現許多需要完成複雜計算(如矩陣計算)的數位訊號處理系統的不可避免的選擇。

結構原理

並行處理計算機的結構主要有流水線方式 、多功能部件方式 、陣列方式、多處理機方式和數據流方式。

流水線處理機

將指令的執行過程分解為若干段,每段進行一部分處理。一條指令順序流過所有段即執行完畢獲得結果。當本條指令在本段已被處理完畢而進入下段時,下條指令即可流入本段。因此,在整個流水線上可以同時處理若干條指令。若各段的執行時間均為一個時鐘節拍,則在正常情況下每拍可以輸出一個結果,即完成一條指令。這就可加快處理機的速度。
程式中相鄰指令的相關性會影響流水線處理機效率的發揮。例如,條件轉移指令在上條指令執行完以前,有時不能確定後繼指令;又如本條指令需要用上條指令的結果作為運算元等,都將中斷流水線而使效率下降。

多功能部件

一台處理機具有多個功能部件。各功能部件可以並行地處理數據,因而處理機可以使用不同的功能部件並行執行幾條指令,以提高處理速度。如有的計算機具有浮點加、定點加、浮點乘、浮點除、邏輯操作、移位等多個對不同數據進行處理的功能部件。一些流水線向量機也含有多個功能部件。程式在執行中因對各部件的需求不平衡,各功能部件不可能全部處於忙碌狀態。指令間的相關性也影響機器的效率,如本條指令所需的功能部件尚在執行其他指令;又如本條指令所需運算元恰為尚未執行完畢的指令的結果等。

陣列處理機

一台處理機由多個相同的處理部件和一個統一的控制器組成。這個控制器解釋指令並傳送操作命令至全部處理部件。各處理部件按照控制器的命令同時進行完全相同的操作。陣列處理機又可分為浮點陣列處理機和位片式陣列處理機兩類。
ILLIAC-Ⅳ機屬於浮點陣列處理機,包括64個完全相同的處理部件(PU)和一個公共的控制部件(CU)。每個處理部件包括一個能執行64位浮點操作的處理單元(PE)和一個容量為2k字的存儲器(PM)。64個處理部件排列成8×8陣列。每個處理部件與四鄰處理部件均有直接數據通路

多處理機系統

處理機系統能提高系統的性能和可靠性。它是多指令流多數據流處理機。根據系統中各處理機的耦合程度,多處理機系統可分為兩類。①非直接耦合的多處理機系統:系統中各處理機均有主存儲器。各處理機由各自的作業系統進行管理,它們通過共享的輸入輸出系統進行通信。②直接耦合的多處理機系統:系統中各處理機共享主存儲器,並受統一的作業系統管理。多處理機系統一般指直接耦合這一類。

數據流處理機

數據流處理機是受到人們重視的高度並行的處理機。它雖保留了存儲程式的做法,但在主要原理上已與諾依曼計算機結構不同。它不按程式計數器指出的指令順序執行程式,只要所需運算元全部具備,指令即可被執行,亦即程式的執行不是由控制流驅動,而是由數據流驅動。
數據流處理機是以語言為基礎的處理機。它使用數據流程式圖作為用戶語言與計算機結構之間的接口。數據流程式圖用能動框表示 。每個能動框有多個域 ,分別存放操作碼運算元和目標地址。數據流程式以能動框集合的方式保存在能動存儲器中。當某條指令可以執行時,相應的能動框地址便被送入指令排隊器。讀取部件則按地址從存儲器中取出該能動框,形成操作包,送至操作部件進行處理,產生結果包。修改部件根據結果包的目標地址將結果數據送至規定的能動框作為運算元,並將具備運算元的指令的地址送至指令排隊器。指令排隊器中的指令均具備執行條件,因而只需增加部件數量或增強部件流水程度 , 就可以高速並行執行。此外,還可將多個指令處理單元連線成數據流多處理機系統,進一步提高處理能力。

並行算法和並行語言

提高並行處理效率的關鍵之一是並行算法。算法須適應計算機的結構。如果一種算法所表達出來的並行度與計算機的並行度基本一致,便能提高計算機的解題效率。
向量計算機中,提高並行度的主要問題在於把可並行處理的運算元用向量表示。許多常用的數值計算法,如數列求和、矩陣乘、高斯消元、快速傅立葉變換等,已成功地在向量計算機上實現了並行處理。較為通行的並行語言基本上是FORTRAN語言的擴展。
多處理機系統中,提高程式並行性的關鍵,是把任務分解成足夠多的可同時操作的進程。在程式語言中,還須擴充能明確表達進程並發性的語句,以便程式運行時能為相應的控制機構提供控制和管理手段,其中包括並行任務的派生、通信和調度。ADA 語言為描述多處理機並行程式結構提供了必要的語句。為適應數據流計算機而出現的若干數據流語言如Id語言和VAL語言已經在試用。 其重要特點是把數組看成是值而不是目標。用數據流語言編寫的程式能夠自然地表達出最大的運算並行性

並行處理器系統的種類

如果按性質來進行分類,則有些處理器是模凌兩可的:既可算作這一類,又可算作另一類;按照費林的意見,又可分為單指命流多數據流系統和多指令流多數據流系統。這裡列出的只是一些重要的應算作並行處理器的系統 :
(1)向量/流水線處理器:
STAR-100(CDC公司)
CYBER 203/205(CDC公司)
T1-ASC(德克薩斯儀表公司)
Cray-1(克雷研究公司)
(2)並行處理器系統
ILLIAC IV(依里諾斯大學,布勞斯公司)
SOLOMOM(西屋公司)
PEPE(貝爾實驗室、布勞斯公司系統發展公司)
BSP(布勞斯公司)
DAP(ICL公司)
CHOPP(哥倫比亞大學;蘇里萬學會)
C.mmp.Cm(卡內其/梅隆大學)
T16(Tandem公司)
EGPA(埃爾朗根/諾爾貝爾格大學)
(3)相聯處理器
STARAN(古得依爾宇航公司)
ECAM(霍尼威爾公司)
OMEN(商特爾公司)
ALAP(休斯飛機公司)
(4)算法數組處理器(流水線計算機)
IBM 2938/3835(IBM公司)
MAP III(數據控制公司)
UAP(尤尼瓦克公司)
AP-120B/190L(浮點系統公司)
FPS-164(浮點系統公司)
ATP(Datawest公司)

相關詞條

熱門詞條

聯絡我們