定義
處理器一致性(Processor consistency)是一種記憶體一致性模型,指在多處理機中,多個處理器同時進行寫操作執行結果和單個處理器寫操作結果相同,即任何一次執行結果都相同,就像所有處理器的操作按照某個順序執行,各個微處理器的操作按照其程式指定的順序進行。換句話說,所有的處理器以相同的順序看到所有的修改。讀操作未必能及時得到此前其他處理器對同一數據的寫更新。但是各處理器讀到的該數據的不同值的順序是一致的。處理器一致性一般發生並行處理和並行計算中。
記憶體一致性模型
一致性模型本質上是軟體與存儲器之間的協約問題。如果軟體遵守約定的規則,存儲器就能正常工作;反之,存儲器就不能保證操作的正確性。記憶體一致性模型描述的是程式在執行過程中記憶體操作正確性的問題。記憶體操作包括讀操作和寫操作,每一操作又可以用兩個時間點界定:發出(Invoke)和回響(Response)。在假定沒有流水線的情況下(即單個處理器內指令的執行是按順序執行的),設系統內共個處理器,每個處理器可發出 個記憶體操作(讀或寫),那么總共有: 種可能的執行順序。記憶體一致性模型描述的就是這些操作可能的執行順序中那些是正確的。
並行處理與並行計算
並行處理(Parallel Processing)是計算機系統中能同時執行兩個或更多個處理的一種計算方法。並行處理可同時工作於同一程式的不同方面。並行處理的主要目的是節省大型和複雜問題的解決時間。為使用並行處理,首先需要對程式進行並行化處理,也就是說將工作各部分分配到不同處理進程(執行緒)中。並行處理由於存在相互關聯的問題,因此不能自動實現。另外,並行也不能保證加速。從理論上講,在 n 個並行處理的執行速度可能會是在單一處理機上執行的速度的 n 倍。
並行計算(parallel computing)一般是指許多指令得以同時進行的計算模式。在同時進行的前提下,可以將計算的過程分解成小部分,之後以並發方式來加以解決。
計算機軟體可以被分成數個運算步驟來運行。為了解決某個特定問題,軟體採用某個算法,以一連串指令運行來完成。傳統上,這些指令都被送至單一的中央處理器,以循序方式運行完成。在這種處理方式下,單一時間中,只有單一指令被運行(processor level: 比較微處理器,CISC, 和RISC,即流水線Pipeline的概念,以及後來在Pipeline基礎上以提高指令處理效率為目的的硬體及軟體發展,比如branch-prediction, 比如forwarding,比如在每個運算單元前的指令堆疊,彙編程式設計師對programm code的順序改寫)。並行運算採用了多個運算單元,同時運行,以解決問題。相對於串列計算,並行計算可以劃分成時間並行和空間並行。時間並行即流水線技術,空間並行使用多個處理器執行並發計算,當前研究的主要是空間的並行問題。以程式和算法設計人員的角度看,並行計算又可分為數據並行和任務並行。數據並行把大的任務化解成若干個相同的子任務,處理起來比任務並行簡單。
空間上的並行導致兩類並行機的產生,按照麥克·弗萊因(Michael Flynn)的說法分為單指令流多數據流(SIMD)和多指令流多數據流(MIMD),而常用的串列機也稱為單指令流單數據流(SISD)。MIMD類的機器又可分為常見的五類:並行向量處理機(PVP)、對稱多處理機(SMP)、大規模並行處理機(MPP)、工作站機群(COW)、分散式共享存儲處理機(DSM)。
多處理機
擁有超過一個以上的處理單元,共享同一個主記憶體與周邊裝置,它能夠讓多個程式同時執行。這種計算機硬體架構,就稱為多處理機,它能夠提供多元處理(Multiprocessing)的能力。
多處理機的體系結構由若干台獨立的計算機組成,每台計算機能夠獨立執行自己的程式。在多處理機系統中,處理機與處理機之間通過互連網路進行連線,從而實現程式之間的數據交換和同步。多處理機屬於MIMD計算機,它與屬於SIMD計算機的陣列處理機相比有很大的差別,其本質差別在於並行性等級不同:多處理機要實現任務或作業一級的並行,而陣列處理機只實現指令一級的並行。
多處理機系統由多個獨立的處理機組成,每個處理機都能夠獨立執行自己的程式。多處理機系統有多種分類方法。
按多處理機各機器之間物理連線的緊密程度與互動作用能力的強弱來分,多處理機可分為緊耦合系統和松耦合系統兩大類。在緊耦合多處理機系統中,處理機間物理連線的頻帶較高,一般是通過匯流排或高速開關實現互連,可以共享主存儲器,由於具有較高的信息傳輸率,因而可以快速並行處理作業或任務。松耦合多處理機系統由多台獨立的計算機組成,一般通過通道或通信線路實現處理機間的互連,可以共享外存設備,機器之間的相互作用是以較低頻帶在檔案或數據集一級上進行的。
按處理機的結構是否相同來分,如果每個處理機是同類型的,且完成同樣的功能,稱為同構型多處理機系統。如果多處理機是由多個不同類型,且擔負不同功能的處理機組成,則稱為異構型多處理機系統。