各科技大廠莫不希望能以更少的成本、在更小的空間里嵌入更多運算電晶體,有廠商開始轉向開發現場可編程閘陣列(Field Programmable Gate Array;FPGA)平行架構,整合FPGA與處理器優勢打造低功耗、高效能的Saturn 1伺服器,也打造出更易于作業的Carte開發環境,可望推動未來市場主流應用。
根據The Platform報導分析,近年處理器研發遇上摩爾定律(Moore's Law)瓶頸,廠商們想破頭提升產品應用效能,業界與高效能運算市場也開始熱烈討論FPGA架構應用。業界與學界已有多年運用FPGA元件的經驗,譬如超級電腦大廠Cray在2004年以1.15億美元買下OctigaBay,利用其超微Opteron處理器與FPGA元件打造出Cray XD1超級電腦。
總部設在美國科羅拉多州的SRC Computers,根據商用CPU芯片設計高效能叢集(high performance cluster)時,發現以FPGA取代傳統特殊應用積體電路(ASIC)效能尤佳。
SRC總裁Jon Huppenthal表示,可重組態(reconfigurable)的處理器系統有兩大特點,一是優點多,二是如果沒有人懂得設計,就沒有人愿意使用。因此,欲研發整合CPU與FPGA的系統最耗時之處,在于打造易于使用的開發環境,而SRC已成功將C語言這樣的順序語言(sequential language)套入一個本質上是平行的執行環境。
Huppenthal近一步比較SRC的作法以及將OpenCL當作平臺,從CPU傳送程式碼至GPU及FPGA加速器的方式。他指出,后者的問題在于,加速器掛在PCI-Express匯流排不僅速度過慢,也無法與混合式系統中的CPU共享主存儲器,導致資料必須在處理器與加速器之間不斷來回,且必須由CPU處理一切應用與執移動作。
而SRC推出的MAP混合處理器與Carte開發環境,不論是使用C語言還是Fortran語言的程式設計師,甚至不會感覺到正處于采用FPGA的環境中。Carte在用戶端機器上運行編碼與除錯環境,程式碼執行后,會借由負責存儲器共享互連的SNAP技術,自動整合分配資料給CPU處理器與FPGA的硬體描述語言(Hardware Description Language;HDL)。
NVIDIA的Tesla GPU也采用類似的高速共享存儲器互連技術NVLink,IBM也透過其協同加速處理器介面(Coherent Accelerator Processor Interface;CAPI)將這類技術應用到Power-Tesla混合處理器上。
有了核心互連技術,客戶就能根據需求調整硬體設計。譬如,若需要50個浮點單元(FPU),便可以自行加入系統。此外,由于應用與其資料流皆以HDL方式運用,且基本上是以硬體方式運行,因此表現更佳。
此外,FPGA可以很快地改變應用屬性(application personality),使混合式系統能在短時間內處理多重工作。FPGA實現平行處理應用,具備高處理效能、低功耗特性,適合用于資料中心中的伺服器整合,也可作為無人機上面的訊號處理、控制系統等應用。
至于已采FPGA應用多年的金融服務機構、國防部門、情報單位等客戶,可透過Carte繼續于MAP混合處理器上運行Verilog與HDL語言。
SRC為了進入超大規模(hyperscale)伺服器市場,決定與惠普(HP)合作,為惠普的Moonshot伺服器系統打造MAP伺服器卡匣(cartridge)。
高運算密度的商用Moonshot伺服器系統于2013年推出,不過由于該系統采用4.3U機箱、45個運算節點,因此無法支援龐大復雜的處理器,也降低了資料中心采用的意愿。SRC使用1個英特爾(Intel)Atom處理器與2個Altera Stratix IV FPGA,打造Saturn 1伺服器節點。
Moonshot伺服器的特別之處在于,其背板采用2D環繞網狀網路(torus)以及每秒7.2TB的總和頻寬,此互連系統能將機殼內所有的運算或儲存節點相連,無需任何交換動作。而機殼內的交換器模組,讓Moonshot能和外界互連。
Saturn 1伺服器卡匣采用英特爾4核心Xeon Atom處理器,FPGA方面則是2個Altera Stratix IV GX530,其中一個FPGA負責執行SNAP互連技術及用于2D環繞網狀網路的多重虛擬乙太網路埠。MAP節點無需搭載作業系統,因為節點會直接處理應用程式碼,不過用戶若需要,可在每一個Atom處理器上啟用Linux內核(kernel)。
Saturn 1伺服器卡匣每個節點要價19,950美元,其中包括Atom與Stratix處理器的開機管理程式(boot loader)碼,以及Carte開發環境的使用權限。
據SRC表示,要1,276個傳統高階4核心Xeon W3565處理器機柜,也就是約5.1萬個伺服器節點與40.8萬個左右的處理器核心,才能等同一個搭載378個MAP混合處理器之Moonshot機柜的運算能力。與X86伺服器叢集相比,導入FPGA的應用可望達到100倍效能、1%能源消耗、1%碳足跡,并節省75%以上的成本。
最早采用Saturn 1混合伺服器的客戶,是預計2015年底發表首個產品的美國廣告新創公司Jingit。Jingit希望能提供端點銷售系統(Point of Sales;POS)服務,在人們購買物品的當下提供客制化折價券。為此,Jingit必須有強大的后端系統,根據用戶結帳物件與歷史消費紀錄,在等待信用卡認證這不到1秒的時間內計算出最適合該用戶的折價券。
x86系統架構難以應付Jingit所需的龐大資料處理量,且花費時間過長。而若將Jingit應用架設于Saturn 1節點上,處理時間則可縮短至奈秒(nanosecond)級。
FPGA應用市場才正要起步,而有了像是Moonshot伺服器與Carte開發程式環境這類新技術,未來可望在市場上見到更多產品應用。