多指令流多數據流

多指令流多數據流

多指令流多數據流MIMD是用於實現並行性的技術。MIMD計算機具有多個異步和獨立工作的處理器。在任何時鐘周期內,不同的處理器可以在不同的數據片段上執行不同的指令,也即是同時執行多個指令流,而這些指令流分別對不同數據流進行操作。MIMD架構可以用於諸如計算機輔助設計、計算機輔助製造、仿真、建模、通信交換機的多個套用領域。 MIMD機器可以是共享存儲器或分散式存儲器類別。共享存儲器機器包括UMA、NUMA、COMA等。分散式存儲器機器包括NORAM等。

基本介紹

  • 中文名:多指令流多數據流
  • 外文名:Multiplone Instructi Stream Multiple Data Stream
  • 簡稱:MIMD
  • 含義:實現空間上的並行性的技術
  • 套用學科:計算機
  • 適用領域範圍:計算機、網際網路、人工智慧
定義,計算機系統分類,按Flynn分類法對計算機分類舉例,五種MIMD計算和結構特徵比較,共享式存儲器模型,UMA多處理機模型,NUMA多處理機模型,COMA多處理機模型,分散式存儲器模型,

定義

多指令流多數據流(Multiplone InstructiStream Multiple Data StreamMIMD),是Michael J. Flynn提出的根據指令流、數據流的多倍性特徵對計算系統進行分類的方法(通常稱為Flynn分類法)。
MIMD是使用多個控制器來異步地控制多個處理器,能實現作業、任務、指令、數組各級全面並行的多機系統。多處理機屬於MIMD。當前的高性能伺服器與超級計算機大多具有多個處理機,能進行多任務處理,稱多處理機系統。
並行計算機系統絕大部分為MIMD系統,包括並行向量處理機(PVP,Parallel Vector Processor),對稱對多處理機(SMP,Symmetrical Multi Processor),規模並行處理機(MPP,Massively Parallel Processor),工作站機群(COW,Cluster Of Workstations),分散式共享存儲系統(DSM,Distributed shared Memory)。

計算機系統分類

Michael J. Flynn提出按指令流和數據流的多倍性對計算系統分類(通常稱為Flynn分類法)。
指令流:機器執行的指令序列。
數據流:由指令流調用的數據序列,包括輸入數據和中間結果。
多倍性:在系統性能瓶頸部件上處於同一執行階段的指令或數據的最大可能個數。
Flynn分類法

單指令流
多指令流
單數據流
單指令單數據流(SISD)
多指令流單數據流(MISD)
多數據流
單指令流多數據流(SIMD)
多指令流多數據流(MIMD)
(1)單指令單數據流(Single Instruction Stream Single Data Stream,SISD)
SISD其實就是傳統的順序執行的單處理器計算機,其指令部件每次只對一條指令進行解碼,並只對一個操作部件分配數據。流水線方式的單處理機有時也被當作SISD。
SISD機器是一種傳統的串列計算機,它的硬體不支持任何形式的並行計算,所有的指令都是串列執行。並且在某個時鐘周期內,CPU只能處理一個數據流。因此這種機器被稱作單指令流單數據流機器。早期的計算機都是SISD機器,如馮諾.依曼架構,如IBM PC機,早期的巨型機和許多8位的家用機等。
(2)單指令流多數據流(Single Instruction Stream Multiple Data Stream,SIMD)
SIMD是採用一個指令流處理多個數據流。
SIMD以並行處理機(陣列處理機)為代表,並行處理機包括多個重複的處理單元PU1~PUn,由單一指令部件控制,按照同一指令流的要求為它們分配各自所需的不同數據。這類機器在數位訊號處理、圖像處理、以及多媒體信息處理等領域非常有效。
Intel處理器實現的MMXTM、SSE(Streaming SIMD Extensions)、SSE2及SSE3擴展指令集,都能在單個時鐘周期內處理多個數據單元。也就是說我們現在用的單核計算機基本上都屬於SIMD機器。
(3)多指令流單數據流(Multiple Instruction Stream Single Data Stream,MISD)
MISD具有n個處理單元,按n條不同指令的要求對同一數據流及其中間結果進行不同的處理。一個處理單元的輸出又將作為另一個處理單元的輸入。
MISD是採用多個指令流來處理單個數據流。由於實際情況中,採用多指令流處理多數據流才是更有效的方法,因此MISD只是作為理論模型出現,沒有投入到實際套用之中。
(4)多指令流多數據流(Multiple Instruction Stream MultipleData Stream,MIMD)
MIMD系統是指能實現作業、任務、指令、數組各級全面並行的多機系統。
MIMD機器可以同時執行多個指令流,這些指令流分別對不同數據流進行操作。最新的多核計算平台就屬於MIMD的範疇,例如Intel和AMD的雙核處理器等都屬於MIMD。

按Flynn分類法對計算機分類舉例

按Flynn分類法對計算機分類舉例
類型
計算機的型號
SISD
單功能部件
IBM701,IBM401,IBM1620,IBM7090,PDP-11,VAX-11/780
多功能部件
IBM360/91,IBM370/168UP,CDC6600
SIMD
數據全並行
PEPE,BSP,CDCSTAR-100,TI-ASC,FPS AP-120B,FPS-164,IBM3838,CRAY-1,
VP-200,CYBER205,B-5000,CDC-NASF
數據位片串字並
STARAN,MPP,DAP
MIMD
松耦合
IBM370/168MP,UNIVAC1100/80,IBM3081/308
緊耦合
Burroughs D-825,C.mmp,CRAY-2,S-1,CRAY-XMP,DenelcorHEP

五種MIMD計算和結構特徵比較

MIMD計算機包括:並行向量處理機(PVP)、對稱對多處理機(SMP)、大規模並行處理機(MPP)、工作機群(COW)、分散式共享存儲系統(DSM)。
MIMD計算機體系結構合一的結構模型 20 世紀 90 年代以後,上述各種並行計算機的體系結構呈現漸趨一致的趨勢。促使體系結構漸 趨一致而最終合一的主要因素是:所有體系結構 都要求快速的高質量的互連網路;都希望儘量避 免或降低延遲;都希望能儘量隱藏通信代價;都必須支持不同的同步形式。
五種MIMD計算和結構特徵比較
屬性
PVP
SMP
MPP
DSM
COW
結構類型
MIMD
MIMD
MIMD
MIMD
MIMD
處理器類型
專用定製
商用
商用
商用
商用
互連網路
定製交叉開關
匯流排、交叉開關
定製網路
定製網路
商用網路(乙太網、ATM)
通信機制
共享變數
共享變數
訊息傳遞
共享變數
訊息傳遞
地址空間
單地址空間
單地址空間
多地址空間
單地址空間
多地址空間
系統存儲器
集中共享
集中共享
分布非共享
分布共享
分布非共享
訪存模型
UMA
UMA
NORMA
NUMA
NORMA
代表機器
Cray C-90,
Cray T-90,
NEC SX4,
銀河1號
SGI Power Challenge,
DEC Alpha
伺服器8400,
曙光1號
Intel Paragon,
IBM SP2,
Intel TFLOPS,曙光-1000/2000
Stanford DASH,Cray T 3D
Berkeley NOW,Alpha Farm,
Digital Trucluster

共享式存儲器模型

處理器都通過軟體或硬體裝置連線到“全局可用”存儲器。作業系統通常保持其記憶體一致性。從程式設計師的角度來看,這種存儲器模型比分散式存儲器模型更好理解。而且,存儲器一致性由作業系統管理而不是靠寫入程式管理。當然共享存儲模型也右明顯的缺點:當處理器數量超過三十二個時,處理起來非常困難;共享存儲器模型不如分散式存儲器模型靈活。
UMA(均勻存儲訪問),COMA(全高速快取存儲訪問)和NUMA(非均勻存儲訪問)都屬於共享存儲器(多處理機)。

UMA多處理機模型

UMA多處理機模型UMA多處理機模型
UMA模型的特點:
① 物理存儲器(SM1~SMm)被所有處理器均勻共享。所謂均勻共享是指:所有處理器訪問任 何存儲器所需的時間都相同。
② 每個處理器可帶有私有高速快取。
③ 外圍設備以一定的形式被共享。

NUMA多處理機模型

NUMA模型的特點:
① 被共享的存儲器在物理上是分布在所有的處理器中,所有的本地存儲器(LM1~LMn)的集合組成全局地址空間。
② 處理器訪問存儲器所需的時間不相等,訪問本地存儲器LM或通過群內互連網路( Cluster Interconnection Network,CIN)訪問群內共享存儲器 ( Cluster Shared Memory,CSM)費時較少,訪問非本地存儲器或通過全局互連網路 ( Global Interconnection Network,GIN)訪問全局共享存儲器 (Global Shared Memory,GSM)費時較多,即所謂非均勻存儲訪問。
③ 每個處理器可帶有私有高速快取,外設也可以以某種形式共享。

COMA多處理機模型

COMA多處理機模型COMA多處理機模型
COMA模型的特點:
① 各處理器結點中沒有存儲層次結構,全部高速快取組成全局地址空間。
② 利用分布的高速快取目錄D對遠程高速緩 存進行訪問。
③ COMA中的高速快取容量一般都大於二級高速快取容量。
④ 開始使用COMA時,數據可以任意分配到 高速快取C中,在運行過程中,數據將被遷移到 使用該數據的處理器結點的高速快取中。

分散式存儲器模型

在分散式存儲器中,每個處理器具有其自己的單獨存儲器地址。對於要共享的數據,它必須作為訊息從一個處理器傳遞到另一個處理器。例如NORMA就屬於分散式存儲器。
NORMA分散式存儲器模型NORMA分散式存儲器模型
在一個分布存儲的多處理機系統中,如果所有的存儲 器都是私有的,僅能由本地處理器訪問,就稱為非遠程儲訪問(NO-Remote Memory Access,NORMA)。
NORMA模型的特點:
① 每個結點都是由處理器( P)、本地存儲 器( M)和(或) I/O 設備組成的自治計算機。多個結點由基於訊息傳遞的互連網路互連。
② 所有的存儲器都是私有的。
③ 絕大多數 NORMA 都不支持遠程存儲器的。

相關詞條

熱門詞條

聯絡我們