平行計算機體系結構 - 導論



在過去的 50 年裡,計算機系統的效能和能力有了巨大的發展。這得益於超大規模積體電路(VLSI)技術的幫助。VLSI 技術允許在單個晶片上容納大量元件,並提高時鐘頻率。因此,可以同時並行執行更多操作。

並行處理也與資料區域性性和資料通訊相關。**平行計算機體系結構**是在任何時間點,在給定技術和成本限制下,組織所有資源以最大化效能和可程式設計性的方法。

為什麼選擇並行體系結構?

平行計算機體系結構透過使用越來越多的處理器,為計算機系統的發展增添了新的維度。原則上,利用大量處理器獲得的效能高於給定時間點單個處理器的效能。

應用趨勢

隨著硬體容量的進步,對高效能應用的需求也隨之增加,這反過來又對計算機體系結構的發展提出了要求。

在微處理器時代之前,高效能計算機系統是透過奇特的電路技術和機器組織獲得的,這使得它們價格昂貴。現在,高效能計算機系統是透過使用多個處理器獲得的,並且大多數重要和需求量大的應用程式都編寫為並行程式。因此,為了獲得更高的效能,需要開發並行體系結構和並行應用程式。

為了提高應用程式的效能,**加速比**是需要考慮的關鍵因素。**p 個處理器的加速比**定義為:

$$加速比(p 個處理器) \equiv \frac{效能(p 個處理器)}{效能(1 個處理器)}$$

對於單個固定問題,

$$計算機系統的效能 = \frac{1}{完成問題所需的時間}$$

科學和工程計算

並行體系結構已成為科學計算(如物理、化學、生物學、天文學等)和工程應用(如油藏模擬、氣流分析、燃燒效率等)不可或缺的一部分。在幾乎所有應用中,對計算輸出的視覺化都有巨大的需求,從而導致對開發平行計算以提高計算速度的需求。

商業計算

在商業計算(如影片、圖形、資料庫、OLTP 等)中,也需要高速計算機在指定時間內處理海量資料。桌面使用多執行緒程式,這幾乎類似於並行程式。這反過來也要求開發並行體系結構。

技術趨勢

隨著技術和體系結構的發展,對開發高效能應用程式的需求非常強烈。實驗表明,平行計算機的工作速度遠快於最先進的單處理器。此外,平行計算機可以在技術和成本限制範圍內開發。

這裡使用的主要技術是 VLSI 技術。因此,如今可以在相同面積內安裝越來越多的電晶體、門和電路。隨著基本 VLSI 特徵尺寸的減小,時鐘頻率也與其成比例地提高,而電晶體數量則以平方增長。預計同時使用許多電晶體(並行性)將比提高時鐘頻率獲得更好的效能。

技術趨勢表明,基本的單晶片構建塊將提供越來越大的容量。因此,在單個晶片上放置多個處理器的可能性越來越大。

體系結構趨勢

技術的進步決定了什麼可行;體系結構將技術的潛力轉化為效能和能力。**並行性**和**區域性性**是兩種方法,其中更大容量的資源和更多電晶體提高了效能。但是,這兩種方法爭奪相同的資源。當多個操作並行執行時,執行程式所需的週期數減少了。

但是,需要資源來支援每個併發活動。還需要資源來分配本地儲存。透過使用資源利用一定程度的並行性和一定程度的區域性性的中間行動計劃,可以實現最佳效能。

通常,計算機體系結構的歷史被劃分為四個世代,具有以下基本技術:

  • 真空管
  • 電晶體
  • 積體電路
  • VLSI

到 1985 年,這段時間以位級並行性的增長為主導。4 位微處理器之後是 8 位、16 位等等。為了減少執行完整 32 位操作所需的週期數,資料路徑的寬度加倍。後來,引入了 64 位操作。

**指令級並行性**的增長主導了 80 年代中期到 90 年代中期。RISC 方法表明,對指令處理步驟進行流水線處理很簡單,因此平均而言,幾乎每個週期都會執行一條指令。編譯器技術的進步使指令流水線更有效率。

在 80 年代中期,基於微處理器的計算機由以下部分組成:

  • 一個整數處理單元
  • 一個浮點處理單元
  • 一個快取控制器
  • 用於快取資料的 SRAM
  • 標記儲存

隨著晶片容量的增加,所有這些元件都合併到單個晶片中。因此,單個晶片包含用於整數運算、浮點運算、記憶體操作和分支操作的獨立硬體。除了對單個指令進行流水線處理外,它還一次獲取多條指令,並在可能的情況下將它們並行傳送到不同的功能單元。這種型別的指令級並行性稱為**超標量執行**。

廣告