當前位置:
首頁 > 最新 > 從晶元到系統:FPGA加速卡的發展歷程與展望

從晶元到系統:FPGA加速卡的發展歷程與展望

轉載自老石談芯

一個重要的趨勢

作為加速雲數據中心的重要組件,FPGA已經開始了它在數據中心領域的廣泛使用。除了像微軟、亞馬遜這樣的大型雲服務提供商之外,FPGA也逐漸開始進入其他類型和規模的數據中心,並在大數據處理、AI、網路功能加速等領域扮演者重要的角色。

(圖片來自英特爾)

在這些基於大數據浪潮的全新應用中,FPGA廠商也在不斷的探索和嘗試新的FPGA推廣方法。他們的最終目的非常簡單,就是讓更多的用戶使用自己的FPGA產品。但在這個過程中,我們可以發現一個重要的發展趨勢,那就是FPGA廠商正在逐漸的從單純的晶元提供商,轉變為系統級解決方案提供商

回首過去,在傳統的FPGA業務模型里,FPGA廠商通常只負責賣給客戶兩樣東西:一個是FPGA晶元,另外一個是FPGA的開發工具。兩件東西一旦售出,客戶開發何種應用就與廠商無關。雖然廠商也會提供詳盡的技術支持,但主要的開發過程往往還是由客戶完成。

如今,FPGA廠商更傾向於提供給客戶一個完整的系統級解決方案。兩大FPGA廠商英特爾和賽靈思目前紛紛推出的各類FPGA加速卡,就是這個趨勢的典型代表。

總體而言,FPGA廠商在硬體層面已經不單單提供晶元級的產品,而是進一步提供板卡級的產品組合。與開發板不同,FPGA加速卡是針對特定領域和應用的專業板卡,通常以PCIe擴展卡的方式進行部署。板卡上設計有豐富的高速I/O介面與存儲資源,但往往不會配備太多開發板上常見的調試功能與資源,例如通用I/O等。

在軟體層面,FPGA廠商除了提供傳統的開發套件之外,現在還會提供與FPGA加速卡配套的驅動、各類軟體庫、編程介面(API),甚至還有下文會提到的完整的軟體開發棧以及軟硬體參考設計。

通過提供這些完整的開發環境,大大簡化了FPGA的開發難度,使得軟體開發人員也能在短時間內完成演算法模型的FPGA實現。FPGA廠商的主要目的,是在不斷提供原廠軟硬體解決方案的同時,也在不斷吸收第三方的IP與應用,從而構建一個完整的FPGA生態系統

同時我們也注意到,除了FPGA原廠的加速卡方案之外,很多第三方廠家,比如華為、浪潮和Mellanox等,也相繼推出了各自的FPGA加速卡產品。這些第三方加速卡雖然採用的都是英特爾或賽靈思的FPGA晶元,但都針對各自的細分領域做了優化設計,以適應目標應用的需要。

在下文中,我將詳細介紹一下當前在市場上主要的FPGA加速卡產品,以及各個廠商基於加速卡的FPGA生態系統布局。

英特爾的FPGA加速卡布局

早在2017年10月,英特爾就官宣了旗下的首款FPGA加速卡產品,名為「Programmable Acceleration Card」,簡稱PAC。同時發布的,還有與之配套的軟硬體開發框架與加速棧系統。這不僅是英特爾FPGA的首款通用FPGA加速卡產品,也是當時市場上的首款面向大數據、AI、高新能計算等新興領域的數據中心FPGA加速卡,因此PAC的意義非同小可。

(圖片來自英特爾)

在硬體規格方面,PAC使用了英特爾的Arria10 GX FPGA,它基於英特爾的20納米工藝製造,擁有115萬個可編程邏輯單元,是當時性能和容量最強大的英特爾FPGA。PAC集成了8GB的DDR4內存和128MB快閃記憶體,有一個QSFP 介面,能滿足最高40Gbps的網路連接帶寬,同時有PCIe Gen3 x8介面與主機CPU互聯。

(圖片來自英特爾)

值得注意的是,PAC的板級功耗約為45W~60W,因此得以採用了被動散熱設計,從而將板卡的尺寸控制在了半高半長,方便在各類伺服器的部署。

PAC的主要應用場景是加速數據中心的各類應用,作為英特爾的原廠產品,PAC在數據中心裡有著得天獨厚的優勢。它天生可以作為英特爾Xeon處理器的硬體加速單元,用於卸載和加速原本在CPU上實現的各類應用,從而構成英特爾CPU FPGA的高性能數據處理組合。

作為生態系統構建的重要組成部分,英特爾還發布了面向Xeon和FPGA的加速堆棧(Acceleration Stack),見下圖。這個加速堆棧本質上是一個軟體開發框架,包含了FPGA板卡的驅動、API、介面管理、軟體庫與開發工具等,從而為CPU與FPGA的聯合開發提供了通用的編程介面,簡化了開發流程,縮短了開發時間。

(圖片來自英特爾)

為了向軟體開發者進一步抽象底層的FPGA硬體資源,英特爾開源了名為「開放可編程加速引擎(Open Programmable Acceleration Engine - OPAE)」的技術。OPAE是一個層次化模型,提供了一系列標準的軟體介面,以及常見硬體功能的FPGA實現,比如各類寄存器與內存分配邏輯等等。同時,也提供了很多操作系統內核空間的FPGA支持,使得開發者可以專註於用戶空間的應用開發。

(圖片來自英特爾)

PAC發布一年後,英特爾在2018年10月發布了另一款基於Statix10 SX FPGA的加速卡。相比前一代產品,這款加速卡在硬體性能上有了質的飛越。Stratix10作為英特爾的高端FPGA系列,基於英特爾的14納米工藝製造,並採用了3D系統級封裝技術,有著更高的集成度。在這款PAC採用的Stratix10 FPGA上,有280萬可編程邏輯單元,244Mb片上內存以及高達26Gbps的串列收發器。

(圖片來自英特爾)

板上資源方面,這款PAC包含32GB DDR4內存、兩個最高支持100Gbps網路帶寬的QSFP28介面,以及PCIe Gen3 x16介面。由於這個板卡面向更高性能的數據中心應用,因此在功耗和尺寸方面都有所增加,其中板級功耗約為225W,尺寸為全高、3/4長的雙槽設計。

(圖片來自英特爾)

在2019年MWC大會的第一天,英特爾又推出了一款針對5G應用的FPGA加速卡PAC N3000,見下圖。這款加速卡可以實現高達100Gbps的網路流量的加速處理,同時支持9GB DDR4和144MB QDR IV板上內存。

(圖片來自英特爾)

對於英特爾的FPGA加速卡產品而言,它們最大的優勢之一就是英特爾在數據中心處理器領域的核心支配地位。由於英特爾Xeon處理器佔據了數據中心市場的x86處理器的絕大部分市場份額,因此無論何家的FPGA加速卡都必須針對Xeon處理器做大量的兼容性設計和優化,而英特爾FPGA在這方面有著先天的血統優勢。這也使得英特爾成為目前唯一一個能夠提供全棧式數據中心解決方案的公司。

此外,英特爾與各大伺服器製造商保持著良好的合作關係,因此包括戴爾、HPE、富士通等伺服器製造商會很自然的在自家的伺服器產品中加入並銷售基於英特爾FPGA的加速卡。然而,這對於其他FPGA廠商而言就沒有那麼水到渠成,他們往往很難說服伺服器廠商或者客戶在已經內置了FPGA的伺服器中,再花費額外的成本,並冒著兼容性的風險去添加其他的FPGA加速器。

賽靈思的FPGA加速卡布局

賽靈思的FPGA加速卡產品起步相對較晚。在2018年10月,賽靈思才正式發布了旗下首款面向數據中心應用加速的FPGA加速卡產品,名為Alveo。首批推出的Alveo U200和U250板卡均基於賽靈思的16納米UltraScale FPGA器件,分別擁有89.2萬和134.1萬個可編程邏輯單元。在FPGA器件方面,這兩款Alveo卡與英特爾的PAC相比,可以說在伯仲之間。

這兩款板卡主要針對的都是大型數據中心應用,因此板上集成了64GB DDR4內存,以及兩個QSFP28網路介面和一個PCIe Gen3介面。與PAC相比,這兩款板卡的板級資源要豐富的多。然而,這也導致Alveo板卡的外形尺寸和功耗都比較大。當採用主動散熱時,板卡尺寸為全高全長,標準功耗為100瓦~110瓦,功耗峰值可達225W,遠超過PAC的45W~60W。

(圖片來自賽靈思)

在生態系統建設方面, Alveo加速卡將主要基於賽靈思的SDAccel軟體進行開發。SDAccel是一個集成的開發環境,它的主要結構層次如下圖所示。

SDAccel最主要的特點之一是包含針對諸如C/C 和OpenCL等高層次語言的FPGA編譯器、軟體庫和API等基礎架構,以期幫助軟體開發者更快的對FPGA硬體進行開發。這一點,與英特爾的面向Xeon和FPGA的加速堆棧有異曲同工之妙。這也印證了當前FPGA軟體系統發展的趨勢,就是需要不斷降低FPGA開發的門檻,通過盡量多的提供高層次語言的支持,以提高FPGA的開發效率,縮短產品面世時間

(圖片來自賽靈思)

第三方的FPGA加速卡

除了英特爾和賽靈思推出的原廠FPGA加速卡之外,很多第三方廠商也在近年相繼推出了基於FPGA的硬體加速卡產品。其中比較典型的有我國浪潮、華為等公司推出的加速卡,以及國外Mellanox公司推出的基於FPGA的智能網卡產品。

浪潮的F10A FPGA加速卡是目前在售的一款FPGA加速卡產品,見下圖。它採用了英特爾Arria10 FPGA,最多包含115萬個片上可編程邏輯單元。加速卡上提供了兩個SFP 10Gbps乙太網埠,PCIe Gen3x8介面,以及最高32GB板載DDR內存。

(圖片來自浪潮)

在2018年10月底的賽靈思開發者大會上,浪潮和華為都發布了自己的新FPGA加速卡產品,分別叫做浪潮F37X和華為FX系列,如下圖所示。

(圖片來自浪潮)

(圖片來自華為)

這兩款加速卡都採用了賽靈思的16納米UltraScale FPGA器件。相比賽靈思的原廠Alveo加速卡,這兩款加速卡產品的主要特點是功耗得到了進一步削減,這可能得益於FPGA晶元規格的提升。例如,浪潮的F37X加速卡的典型功耗只有75瓦左右,而華為的FX系列的中端加速卡的典型功耗最大為75瓦,高端卡為200瓦。

在其他技術規格方面,浪潮F37X加速卡使用的FPGA集成了8GB的HBM2片上高速緩存,相比DDR而言,能大幅提高存儲帶寬和訪存效率。相比Alveo,新推出的這兩類第三方加速卡都有著更高的片上邏輯單元數量,足以應對各種新興的數據中心計算與應用場景,比如機器學習、視頻編解碼、NFV、圖像與語音識別等等。

老石在之前的文章《Mellanox為何讓多家巨頭公司趨之若鶩》中介紹過,Mellanox是一家總部位於以色列的著名的網路設備供應商,旗下產品包括網路控制晶元、網卡、線纜、交換機、軟體等等,可以說幾乎涵蓋了數據中心網路產品的各大門類。Mellanox的基於FPGA的智能網卡產品名為Innova-2 Flex,見下圖。

(圖片來自Mellanox)

這款智能網卡上包括兩個主要晶元,一個是Mellanox的ConnectX-5乙太網控制器,另一個是Xilinx的Kintex UntraScale FPGA。板上包含兩個25G乙太網埠,都與ConnectX-5相連,然後再通過PCIe Switch連接Host和FPGA。ConnectX-5本身就可以實現不少硬體加速功能,比如常見的虛擬交換、SRIOV、QoS與流量控制等。因此FPGA在這個卡上更像是一個「輔助」的加速單元,主要的設計目的是用來實現和加速各種CPU上不支持、或性能較低的定製化需求。

結語

在今天,FPGA廠商已經從單純提供FPGA晶元和底層開發工具,逐漸轉變成提供基於FPGA加速卡和完整軟體開發環境的全棧式解決方案。同時,第三方FPGA加速卡的出現,也極大的豐富了FPGA加速卡產品的可選擇性,以針對不同應用場景下的用戶需求。

這些轉變背後的主要動力,就是當前FPGA在諸多領域的廣泛而深入的使用。只要FPGA還能不斷推動AI和大數據時代的發展,這個趨勢就會繼續前行。

END


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 TechSugar 的精彩文章:

華芯通關閉啟示,不只外部原因那麼簡單
艾邁斯半導體:三類感測器發力六大市場

TAG:TechSugar |