標籤: 暫無標籤

HTMT是一種多線程的體系結構。在處理器SPELL內部有多個并行的MSU(multi-sream unit)單元,每個MSU可以執行一個線程。另外多個PIM也可以和SPELL并行執行。這樣SPELL內某些線程在執行計算的同時,可以啟動新的線程和其他SPELL進行通信交互必要的信息。同時位於智能cache和DRAM的處理器可以預取SPELL將要用到的指令或數據到SPELL的高速緩存中,通過計算和通信重疊以及數據預取實現延遲隱藏,從而充分發揮超導處理器的峰值性能。

1 HTMT -HTMT簡介

  一種基於全新技術的超級計算機實現--HTMT項目
  1. 引言
  從上個世紀90年代早期開始,美國展開了針對實現PetaFLOPS級超級計算機途徑的討論。其中,分析了很多需要peta級處理能力的各種大規模應用的需求,如內存容量、內存帶寬、訪存延遲等;也討論了實現peta級計算的使能技術,如超導邏輯、PIM(把處理器集成到RAM中)、光全息存儲等。這些討論的最終結論是設計一種創新性的體系結構來構造peta級別的超級計算機系統, HTMT項目便誕生了。
  在計算機發展史上,先進的器件技術與計算機體系結構革新理念結合都會帶來計算機系統的跨越發展,計算機性能以及性價比得到巨大提高。普通的大型機,向量超級計算機以及MPP超級計算機,它們的每一次成功問世都是當時先進的器件技術、系統結構和程序模型獨特結合的典範。伴隨著一些器件技術發展和新的體系結構理念的形成,一個新的構造petaflops級超級計算機的機會正慢慢來臨。新的器件技術如超導體技術、PIM技術、光交換網路以及光全息存儲技術正在成熟。而建立在多線程執行模型基礎上的任務和延遲管理體系結構理念則成為組織這些新技術的一種有效方式。於是HTMT項目便應運而生了。現在可以對HTMT有個較清楚的認識:HT(Hybrid Technology)-各種新技術,MT(Multi-Threaded) -多線程體系結構。正是這兩個方面的結合,有可能很快的構造出更高性能並達到peta級別的超級計算機系統。
  HTMT的目標是比採用傳統CMOS技術提前4-5年,即於2006年左右實現petaflops級別的超級計算機。實現這樣一個高性能的計算機系統要面臨諸多挑戰,如峰值性能、足夠的存儲容量以及內存帶寬、製造成本、系統能耗、內存延遲、高效性、可編程性等。HTMT在設計上很好的解決了這些挑戰性問題,是一個結合新技術和新的體系結構理念的產物。仔細分析並理解HTMT項目的體系結構、關鍵技術、程序執行模型等方面對我們在設計、構造一台超級計算機時具有很好的借鑒意義。

2 HTMT -HTMT體系結構及關鍵技術

HTMT體系結構

  從處理器和內存的關係角度看,HTMT也是一種分散式NUMA體系結構。但是傳統的處理器和內存的主從關係發生了根本改變。由於採用了PIM技術,HTMT中的處理器由內存驅動。內存主動向處理器提供連續的工作流和數據流,處理器和內存之間的主從關係發生轉變。
  (1)HTMT的系統結構由4096個多線程的處理器SPELL構成。SPELL主要由低功耗的帶有1M緩存的超導設備構成,然後放在一個液氫冷卻的低溫保持器里。主頻能達到100GHz或更高。處理器的高速緩存CRAM可以看成本地內存,通過處理器內部超導邏輯實現的自路由的多級包交換網路--CNet與下一級的SRAM(也稱智能cache)相聯。SRAM通過光通信網路與下一級的DRAM相聯。SRAM和DRAM都採用了PIM技術,其中實現的一種邏輯是Move Engine,它允許在不同的內存層次之間自動的傳輸數據。DRAM下一級是光全息內存HRAM,作為高密度、可并行訪問的快速在線備用存儲器。
  (2)內存層次結構。通過採用層次結構,一方面保證了對內存容量和帶寬要求,另一方面通過採用滲透演算法和多線程技術有效地解決了延遲問題。
  HTMT物理內存層次結構由五部分組成:CRAM、SRAM、DRAM、HRAM、以及磁碟或磁帶。在程序執行期間,頻繁使用的數據會分佈在較快的內存單元(如SPELL內),而一些較少使用的數據會分佈在輔助內存(如HRAM)。每一級內存層次都有一個獨立的地址空間。高性能處理器SPELL

  HTMT中採用超導技術實現的處理器稱為SPELL,它的主頻能達到100GHz。
  每個SPELL有16個MSU單元,每個MSU可以執行一個線程,每一個線程中可以有多個strands。處理器內部的自路由交換網路(PNet)連接MSUs、FPUs和CRAM。CRAM

  CRAM是SPELL的低溫RAM,所有RAM單元被組織成矩陣形式。它能達到和SPELL同樣的主頻速度。
  每個SPELL由4個本地的CRAM晶元服務,容量為1M。在有4096個處理器的系統中CRAM的總容量是4GB。
  所有CRAM組成一個邏輯地址空間由所有處理器共享,形成NUMA結構。CNet

  CNet(Cryo-Network)是一個自路由、多階段包交換的低溫超導RSFQ(Rapid Single Flux Quantum)網路,用於SPELL模塊和遠端SRAM模塊之間的通信。CNet一端連接局部內存CRAM,另一端連接到SRAM的介面。
  對局部內存負載的預測表明,CNet能提供7PB/s網路帶寬,可充分滿足petaflops級別的計算。SRAM

  SRAM也稱智能cache,採用了PIM技術。SPIM(SRAM內的處理器)主頻能達到1GHz。每個SRAM晶元容量為64MB,總的容量是1TB。在SPIM上運行實時系統,以支持Parcel的傳遞。
  智能cache作為和處理器緊密相連的CRAM的備用高速緩衝,另外也作為數據頁的高速臨時緩存。SRAM有兩個介面。一個介面和CNet相連;另一介面和光通信網路相連。DRAM主存

  DRAM當作HTMT系統的主存,也採用了PIM技術。DPIM(DRAM內的處理器)主頻能達到500MHz。每個晶元的容量是512MB,總的容量能達到16TB。同SPIM一樣,DPIM上也要運行實時系統來支持Parcel的傳遞。
  DRAM主存也支持兩個介面。一個介面和光通信網路相連;另一個介面和全息存儲模塊相連。Data Vortex光通信網路

  在將來的高性能計算機系統當中,將需要幾百TBPS的數據傳輸帶寬。採用電信號的電纜在數量和能耗上受到限制,因而大多會採用光通信網路。
  HTMT中的光通信網路Data Vortex是一種細粒度的包交換光通信網路,位於SRAM和DRAM之間,總的傳輸帶寬能達到5Pbps。DataVortex採用了帶有路由拓撲的多節點層次結構。每個節點使用最小的邏輯實現路由功能。這種結構可減少多個埠轉發的時間,並且可以擴展到很大的規模。
  Data Vortex網路連接N個輸入緩衝區和N個輸出緩衝區,可以看作是同心的互聯的圓柱面集合。 光全息內存HRAM

  光全息存儲是依據全息學的原理,將信息以全息照相的方法存儲起來。全息存儲(HRAM)具有容量大,數據讀取速率高及可并行讀取等優點。
  HTMT中HRAM位於主存DRAM和輔存(磁碟、磁帶)之間。HRAM的訪問延遲比磁碟低一個數量級,比訪問主存高兩個數量級。由於每次讀取的數據量大,每個存儲模塊的帶寬能達到100Gbps,適合訪存密集型應用。
  每個HRAM模塊包含10GB的存儲,由一個PIM晶元控制並作為它的臨時緩存。總的容量能達到1PB,總的I/O帶寬能達到320TB/s。實時自適應資源管理

  在HTMT中,為了隱藏高效處理器的訪存延遲,開發了兩級多線程技術。一種是處理器之間及處理器和SPIM之間的多線程技術,但是這種機制不能有效處理通過Data Vortex網路到DRAM或者HRAM的延遲。因而提出了另一種革新的滲透方法,即把程序將用到的數據預先取到智能cache中,從而達到延遲隱藏的目的。其中提出了Parcel的概念,在後面程序執行模型中介紹。

3 HTMT -關鍵技術

簡介

  HTMT中採用了超導技術、PIM技術、光通信網路、光全息存儲等關鍵技術。光通信網路和光全息存儲技術在前面已有說明,下面主要介紹超導技術和PIM技術。超導技術

  在HTMT中,SPELL處理器、CNet網路都是採用超導RSFQ技術實現的。超導技術實現的電子設備有兩個特性,一個是主頻高,另一個是能耗低。
  採用超導技術來製作小的電子電路,主頻能達到750G左右,而製造處理器晶元能達到100G甚至更高的時鐘頻率。目前,中等大小的超導電子設備(每個片子上有幾千個門)主要是被軍方和工業應用所採用。
  能耗低也是超導邏輯的一個主要特性。包括對超導邏輯進行冷卻所需的能耗,超導邏輯實際能耗是CMOS邏輯的百分之一。
  雖然超導技術具有主頻高和能耗低兩個特性,但在高性能計算領域中並沒有被廣泛研究和採用。PIM技術

  PIM(Processor In Memory),也叫做智能RAM或IRAM,是一種很有前途的超大規模集成電路技術,它在一個單一的CMOS內存晶元上把高密度的邏輯和高密度的內存結合在一起。這種簡單的技巧(trick)對計算機的體系結構具有深遠的影響。如果邏輯單元用來構造類似CPU的設備,這些CPU將會非常接近包含指令和數據的內存陣列,會有效解決訪存延遲問題,同時也會降低能耗、提高訪存帶寬。
  第一個PIM部件是EXECUBE晶元,於1993年製造。M32R/D是第一款商用的PIM晶元,於1996年製造,具有2MB的內存和一個32bit的CPU。DIVA(Data Intensive Architecture)項目正在研究針對DRAM PIMs的地址空間映射以及動態地址翻譯問題。這種PIMs可以在內存中執行「不規則數據結構」,並且能夠對傳統的微處理器晶元在編譯器級別進行支持。
  目前比較有影響的採用PIM技術的項目有Gilgamesh,它研究支持高性能計算的基於多線程的PIM體系結構MIND(Memory, Intelligence, and Networking Device),如果MIND具有很好的性價比及高效性,將會被美國HPCS(High Productivity Computing Systems)計劃支持的Cray Cascade項目採用作為主存系統的一部分;IBM blue gene/C中也將採用PIM技術以解決訪存帶寬和延遲問題。
  可以看出,在高性能計算機領域採用PIM技術已經是一種趨勢。

4 HTMT -程序執行模型與程序設計

程序執行模型

  HTMT程序執行模型包括兩部分:滲透模型和通信機制。在滲透模型當中,數據在內存層次中自動傳輸,裝載到SPELL上運行的程序從不需要等待數據。通信機制提供對滲透模型的數據傳輸支持,由運行在DPIM、SPIM和SPELL中的實時系統實現。
   術語理解。在設計HTMT程序執行模型時,使用了多個術語。對這些術語的理解有助於對模型的充分理解。
  1). 滲透:HTMT程序執行時,要在內存層次之間以Parcel的形式移動完整的指令語義模塊(contexts)。指令語義模塊經過各個內存層次自動的向執行處理器傳播,SPELLs總是能獲得在CRAM緩衝中準備好的可執行指令語義模塊,不會有任何不期望的延遲。
  2). 指令語義模塊(contexts):一個指令語義模塊是一個內存塊,它包含程序運行需要的數據、指令和控制狀態。HTMT中每個線程和一個獨立的指令語義模塊相關。最終在CRAM中為線程分配指令語義模塊緩衝才能執行線程。
  3). 幀(frame):一個指令語義模塊通常由若干幀的集合表示。從體系結構的觀點看,一個幀是用來保存臨時數據的一些寄存器的集合。從程序員的觀點看,幀是當前過程的局部變數堆棧。
  4). 指令串(strand):一個線程最多可以支持8個指令串。一個指令串是一些指令集合,是SPELL上可以被調度執行的基本單元。
  5). 信息包(parcel):一個信息包是一個信息單位,它在內存層次之間移動。信息包可以激活自身內含有的代碼執行,或者激活已經在內存中的代碼執行。有幾種信息包類型,包括控制 信息包、數據 信息包、代碼 信息包、指令語義模塊信息包。
   實時系統,完成作業裝載、調度、在內存層次之間傳遞信息包以支持程序運行。實時系統包括運行在FEC(Front End Computer)、DPIMs、SPIMs、SPELLs上的實時程序,是實現滲透模型和通信機制的基礎。
  1). FEC核心程序,功能包括初始化SPIMs和DPIMs,為新的數據對象分配空間,通過發送控制信息包來啟動DPIMs,接收來自DPIMs的結果。
  2). DPIMs實時程序,裝載應用程序代碼和數據,向SPIMs發送控制信息包來初始化SPIMs並開始它們的工作,向SRAM裝載代碼信息包,負責和DPIMs、SPELL的其它類型的信息包通信。
  3). SPIMs實時程序,負責從DPIMs請求數據信息包,把代碼和數據信息包發送到SPELLs,並負責和SPELLs、DPIMs的其他類型的信息包通信。
  4). SPELLs實時程序,接收來自SPIMs的指令語義模塊信息包執行,當執行完向SPIMs發送控制信息包通知處理完成。
   程序模型處理流程細節
  1). DPIM傳輸數據對象到SRAM當中的指令語義緩衝。
  2). SPIM識別空閑的CRAM緩衝,初始化從SRAM到CRAM緩衝的DMA(Direct Memory Access)傳輸,把數據移動到準備好的隊列當中。
  3). 通知SPELL當前的緩衝滿,SPELL上的計算進程在一個新的指令語義模塊上執行。
  4). SPELL聲明一個CRAM緩衝已經被處理完,相應的SPIM能夠識別。
  5). SPIM啟動DMA把處理完的CRAM緩衝中的結果移到一個空閑的SRAM緩衝。
  6). 當一個DMA結束,SPIM把來自SRAM緩衝的結果移動到另一個SRAM緩衝,或者執行第7步。當一個SRAM緩衝的所有結果都被掃描完,SPIM把它標誌成空閑,使SRAM緩衝可以被重新使用。
  7). 把來自SRAM緩衝的結果移動到DRAM。DPIM能夠識別出處理完的指令語義模塊的結果已經移到DRAM,DPIM進一步處理。 程序設計

  HTMT具有很好的可編程性。具體採用以下幾種措施:
  1). 全局共享內存名空間:在HTMT程序設計中,對所有的內存統一編址,簡化了對內存的使用。
  2). 線程控制模型:這種模型能使線程自動載入到合適的處理器上執行,不用顯示指明處理器位置,避免用戶在程序設計時考慮對處理器的分配和使用。
  3). 自動延遲管理:實現了處理器自動負載均衡以及執行線程所需數據的自動滲透。 矩陣乘法舉例

  假設在運行A、B兩個80x80的矩陣乘法,結果放在矩陣C中,如下。開始,矩陣以內存塊的形式放在DPIM的內存中。Aik和Bkj表示16x16的塊大小。DPIM把這些塊當作新的指令語義模塊信息包發送到SPIM的輸入隊列。
  計算矩陣C的一個塊的程序如下:
  C[1,1] = 0;
  for (i=1; i<=n; i++) {
  P = A[1,i] * B[i,1];
  C[1,1] = C[1,1]+P;
  }
  主要計算量是間接矩陣P的計算,在SPELL中實現以充分發揮超導處理器的性能。結果矩陣C的每個塊的值在SPIM中計算,在DPIM中多個Cij被組合起來生成最後的結果矩陣C。其間,SPIMs、DPIMs和SPELLs之間根據程序執行模型交互Parcels,以協調計算。
  可見,多個PIMs和SPELLs可以同時執行不同的計算任務,實現了多個處理器之間的并行工作,有效的隱藏了延遲並能充分發揮超導處理器性能。

5 HTMT -實現與當前進展

  HTMT項目分五個階段實施,最終完成估計將耗資2億美元。由於項目採用幾項全新技術,一些技術的指標還是預期的,因而風險大,對項目的資助分階段進行。
  目前正處於第三階段,工作包括:全系統功能模擬以取得定量的測試數據,RSFQ器件的製造、PIM體系結構設計。
  計劃在第四階段用實際器件構造一個實驗原型,並在實際的負載下運行以獲得對整個系統更準確的參數。第五階段則是最終完成整個系統構造。
  根據可獲得的資料看,HTMT項目由於資金問題現在實際上處於停頓狀態。相反,美國對其他高性能計算機項目正大力資助,包括Cray的Cascade,IBM的PERCS以及Sun的Hero項目。這幾個項目屬於美國HPCS計劃,另外還有BlueGene項目,Streaming SuperComputer項目。
  下面介紹第三階段相關工作的進展情況。模擬原型實現及性能分析

  Notre Dame大學使用Java語言實現了一個模擬系統原型,實現了HTMT系統中超導處理器、各個內存層次及相關的網路。
  通過在模擬原型上執行矩陣乘法運算,並對測試數據進行分析,得到如下結論: SPIM/SPELL之間的Parcel交互負載最高,表明對於矩陣運算等計算密集型應用,寄存器負載要比內存負載高很多。
  另外ARGONNE實驗室也對HTMT系統結構進行了模擬並運行多個應用進行了性能分析。超導晶元進展

  目前已經研製出了FLUX-1超導晶元。它具有5K個門,主頻能達到20GHz,是一款8位通用的微處理器晶元。目前對該晶元正進行測試。根據FLUX-1的複雜性及主頻,可以預測超導處理器主頻能達到100G或更高。
  另外正在設計FLUX-2 MCM。它是帶有向量寄存器堆的乘法器。在這個晶元上,有兩個32位浮點乘法器。這個晶元作為多處理器晶元的演示晶元。 PIM體系結構研究

  已經提出了滿足HTMT需求的PIM體系結構並進行了軟體模擬。其他項目對PIM體系結構的研究也有了實質進展,如前面提到的Gilgamesh項目。已經成功完成了基於FPGA和SRAM實現的PIM體系結構原型。其他項目對PIM技術的研究對HTMT項目中PIM的研究具有很好的推動作用。

6 HTMT -評價與展望

  HTMT項目在設計之初結合當時的最新技術和革新的體系結構理念,有效地解決了構造一台高性能計算機系統要面臨的諸多挑戰性問題,如峰值性能、存儲容量、內存帶寬、成本、能耗、高效性、可編程性等。設想通過如下一些方法解決:
  1). 峰值性能:計算密集型應用通過超導邏輯實現,數據密集型應用通過PIM技術實現;
  2). 存儲容量:通過增大DRAM以及光全息存儲技術實現;
  3). 內存帶寬:通過PIM技術、光全息內存、光交換網路保證系統所需的帶寬;
  4). 製造成本:通過使用高吞吐率和較強能力的設備以減少部件數量來降低成本;
  5). 能耗:通過採用超導技術、PIM技術、光全息內存、光交換網路技術等低能耗技術降低能耗;
  6). 高效性:通過分散式實時任務管理策略以及在高速處理器和PIM處理器當中的多線程機制實現延遲隱藏而實現高效性;
  7). 可編程性:通過提供自適應的實時資源管理,引入了單一全局內存名空間手段,以及引入的滲透演算法來減輕程序員的負擔;
  基於HTMT的設計理念完全有可能實現一台Petaflops級別的超級計算機,但目前卻遇到了一定的困難。最直接的原因是沒有資金,另外背後的原因可能有某些創新的技術太過複雜而不易實現或太過昂貴而離實用目標很遠,或者性價比不佔優勢而遭放棄。
  從中我們可以得到正反兩方面的啟發:正的方面是HTMT體現的敢於創新的精神,敢於採用全新的技術及體系結構,不墨守常規;反的方面可以看作是走向極端,如採用的新技術在預計的時間內不可能實現。當前採用傳統商業部件構造Cluster系統來實現高性能計算確實具有很多優勢,但是如果一直採用這個路線則會走入了另一個極端。正確的做法應該是在原有技術基礎上的有限創新。
  應該承認,HTMT在新技術和體系結構模型上已經取得了一定進展。如超導晶元主頻到目前可達到20GHz;PIM早已有商用晶元,目前已經提出滿足HTMT需求的PIM體系結構;光互連網路目前已經很成熟;HRAM技術進展迅速。在體系結構模型上,超導處理器硬體可以實現細粒度多線程;在程序執行模型上提出了基於Parcel的「滲透模型」,較好地解決了處理器訪問內存的延遲問題。可見,HTMT項目在資金允許的情況下有可能實現預期目標。
上一篇[深度技術論壇]    下一篇 [結匯水單]

相關評論

同義詞:暫無同義詞