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

並行系統

鎖定
並行系統(parallel system)是指同時執行多個任務或多條指令或同時對多個數據項進行處理的系統。早期的計算機是串行逐位處理的,稱為串行計算機。隨着計算機技術的發展,現代計算機均具有不同程度的並行性
中文名
並行系統
外文名
parallel system
學    科
計算機科學與技術
類    別
計算機系統
特    點
並行處理
優    勢
速度快

並行系統基本概念

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

並行系統並行處理系統結構

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

並行系統結構原理

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

並行系統流水線處理機

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

並行系統多功能部件

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

並行系統陣列處理機

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

並行系統多處理機系統

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

並行系統數據流處理機

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

並行系統並行算法和並行語言

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

並行系統並行處理器系統的種類

如果按性質來進行分類,則有些處理器是模凌兩可的:既可算作這一類,又可算作另一類;按照費林的意見,又可分為單指命流多數據流系統和多指令流多數據流系統。這裏列出的只是一些重要的應算作並行處理器的系統 [3] 
(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(商特爾公司)
(4)算法數組處理器(流水線計算機)
IBM 2938/3835(IBM公司)
MAP III(數據控制公司)
UAP(尤尼瓦克公司)
AP-120B/190L(浮點系統公司)
FPS-164(浮點系統公司)
ATP(Datawest公司)
參考資料
  • 1.    靳鵬主編.並行技術基礎:吉林大學出版社,2011.02
  • 2.    龔宇, 龔耀寰. 並行處理器數字信號處理系統[J]. 無線電工程, 1995(3):23-27.
  • 3.    霍斯費爾特, 陳元興. 並行處理設計和前景[J]. 計算機工程與科學, 1984(3):113-125.