IntelFPGA技術大會分享

甘澤發表於2016-09-29

9月8日,Intel FPGA技術大會(IFTD)在杭州舉辦,我和鵬起共同參加了這次技術大會。會上Intel對FPGA未來發展的技術路線和應用場景進行了介紹,並且給我們帶來了應用在未來FPGA上的一些新技術。本文著重介紹未來的FPGA和基於FPGA的硬體平臺會具有哪些新的功能和特點,以及這些功能和特點對我們網際網路企業和雲端計算的價值。

什麼是FPGA

首先向大家介紹一些什麼是FPGA。FPGA(Field-Programmable Gate Array)是現場可程式設計門陣列的英文縮寫。簡單來說,FPGA就像是一塊空白的數位電路,開發者可以通過編寫硬體程式碼的方式來設計一個數位電路,程式碼編寫完成後,類似軟體程式碼中的編譯過程,FPGA的綜合器會對程式碼進行綜合、佈局佈線,之後會生成一個二進位制檔案,將這個二進位制檔案燒寫到FPGA後,原本空白的FPGA就變成了開發者設計的電路,這就是“現場”和“可程式設計”的含義。同時,FPGA可以反覆擦寫,通過燒寫不同的二進位制檔案來實現不同的功能。

因此,FPGA是介於專用積體電路(ASIC)和處理器之間的一種硬體。長期以來,FPGA廣泛應用於訊號處理、ASIC驗證等領域。由於FPGA具有高度可定製的特點,因此在FPGA上做計算具有“天然”的並行性,同時,FPGA還具有低功耗的特點。近年來,隨著深度學習等計算密集型業務的發展,FPGA平行計算的特性和低功耗的特點受到了網際網路企業的關注,越來越多的人在研究如何在資料中心中發揮FPGA的優勢。

Xilinx和Altera是世界上最大的兩家FPGA廠商,兩家廠商共同佔據了FPGA市場將近90%的市場份額。在2015年,Intel以167億美元,11%的溢價完成了對Altera的併購,併購後的Altera成為Intel可程式設計技術事業部。此次併購足以見得Intel非常看重FPGA在其生態體系中的作用,可以從中看到Intel攜手FPGA進軍資料中心的決心。下圖為一Altera的FPGA晶片。

fpga

在這樣的背景下,Intel在本次FPGA技術大會上給大家了新一代FPGA產品的特性和FPGA未來發展的藍圖。

FPGA的優勢與不足

在介紹新一代FPGA之前,我們先回顧一下傳統FPGA在資料中心和網際網路的業務場景下都有哪些優勢與不足。

優勢

低功耗與效能價格比

低功耗是FPGA最引人注目的優勢。FPGA計算的絕對效能並不如GPU,但是企業級GPU的功率通常高達數百瓦,而FPGA的功率可以低至20w以下。低功耗帶來的直接收益是省電,而在資料中心中,低功耗的意義不僅僅是省電。一臺伺服器在機房中消耗的成本里,機櫃成本佔有相當大的比例。通常來說,一整個機櫃的成本是固定的,並且具有一個功率上限,因此,機櫃中放的機器越多,單個機器平攤下來的機櫃成本就越低。由於GPU的功耗很高,一個機櫃僅僅能夠承受寥寥數臺GPU機器的功耗,導致GPU機器的單機成本很高。而FPGA機器功耗低,機櫃密度可以做大,從而減低FPGA機器的單機成本,因此,雖然FPGA計算的絕對效能不如GPU,但FPGA在效能價格比方面具有潛在的優勢。對於雲端計算來說,FPGA能夠很好地滿足這對價格和成本更加敏感的使用者需求。

計算並行性與流水線

FPGA設計可以做到全定製,設計者可以精確控制FPGA內部所有的邏輯單元、暫存器和數字運算單元在任何一個時鐘週期的行為。因此,FPGA上所有的運算單元都可以同時工作,在計算時具有天然的並行性。除此之外,開發者還可以精確地控制流水線,最大程度地對計算單元加以利用。FPGA在計算方面具有的並行性,使其適用於以深度學習為代表的各種平行計算的業務場景。

可重置與彈性

FPGA內部的邏輯可擦寫,可以通過燒寫不同的二進位制檔案來使FPGA實現不同的功能。相比於ASIC加速方案,FPGA可重置的特性顯然使其更加靈活。更加重要的是,可重置的特性使得FPGA支援的服務具有彈性,比如當某個業務的高峰期到來時,FPGA可以重新整理成支援該業務的加速核,當高峰期過去後,FPGA再重新整理成其他功能,支援其他業務。彈性是雲端計算至關重要的特性,相信FPGA的彈性對於服務雲端的業務具有很大的潛力。

不足

浮點計算

多數的計算場景中資料型別都是浮點型,比如深度學習、地球物理、流體力學甚至基因計算、高頻交易等。而傳統的FPGA中並沒固化在FPGA內部的浮點運算單元。傳統FPGA中的運算單元都是定點的,如果需要浮點運算,必須利用定點的計算單元和邏輯資源去構建“軟”的浮點運算器,用這種方法在FPGA做浮點運算不僅僅無法獲得良好的計算效能,還會佔用大量的資源。

儲存與頻寬

FPGA片內有儲存資源,在FPGA內部,資料可以非常靈活地在計算單元和儲存單元之間轉移。但是FPGA片上的儲存資源極為有限,典型的大小為50Mbit左右。有限的容量遠遠無法滿足資料龐大的計算密集型業務。通常只能通過外掛DDR來彌補儲存資源的不足,但外掛DDR後,訪存的頻寬往往會成為計算的瓶頸。

時脈頻率

FPGA的另一個弱勢是時脈頻率過低。無論是CPU還是GPU,主頻的頻率動輒在2到3GHz甚至更高,而FPGA工作的典型頻率在200-400MHz之間,由此可見,較低的時脈頻率成為制約FPGA效能的因素之一。

新一代FPGA特性

在此次大會中,Intel為我們帶來了新一代FPGA的介紹,可以看出,為了使FPGA更具有競爭力,Intel對FPGA的不足之處進行了針對性的改進。10系列的FPGA是Altera最新一代的FPGA,其中Arria系列是Altera的中端系列,更注重價效比,Stratix系列是Altera高階定位的FPGA,具有更好的效能。Arria10系列的產品已經量產並且上市,Stratix10系列計劃在明年上市。

浮點DSP硬核

為了解決FPGA浮點運算的問題,Altera在其Arria10系列的產品中推出了業界第一款帶浮點硬核的FPGA。相比於用邏輯資源和整形運算單元組合成的浮點運算軟核,固化在FPGA內的硬核經過優化與定製,具有更強的效能。以Arria10GX1150這款FPGA為例,其內部具有1500個以上的浮點硬核,同系列FPGA最高浮點效能可以達到1.5TFLOPS。在Stratix10系列的FPGA中,DSP數量最多可達5000個以上。

fp_dsp

HyperFlex架構大幅度提高時脈頻率

在傳統的FPGA中,時脈頻率受限於關鍵路徑,有限的資源導致的佈線擁塞會使得訊號在關鍵路徑上的時延增加,從而降低了時脈頻率。通過時序重排的方法理論上可以一定程度上解決時序問題,但是使用這種方法需要依賴額外的暫存器,但暫存器的數量是有限的且位置固定,這使得時序重排的方法只能發揮有限的作用。Stratix10 FPGA採用HyperFlex架構,在這種架構中,FPGA內部增加了大量的可旁路暫存器,在這些旁路暫存器的幫助下,時序重排方法可以最大程度地發揮作用,較少訊號在關鍵路徑上的延時,從而提高FPGA的時脈頻率。在Stratix10的時脈頻率相較於傳統的FPGA可以提高2倍以上。結合5000+的浮點DSP,Stratix10的單精度浮點效能可達10TFLOPS。

hyperflex

系統級封裝技術(SiP)

由於FPGA片上儲存資源很少,通常需要通過外掛DDR的方法解決儲存資源不足的問題,在這種情況下,訪問頻寬往往成為瓶頸。Stratix10採用SiP技術,將HBM(High Bandwidth Memory)和FPGA封裝到一起,在這種結構中,儲存資源從片外到了封裝內,從板內互聯變成封裝內互聯,大幅度提高了FPGA訪存的頻寬,和傳統的外掛DDR相比,Stratix10的訪存頻寬可以提高10倍。

SiP

工藝

Intel併購Altera後,Stratix10系列的FPGA將使用Intel 14nm的工藝。在14nm工藝中FPGA資源的密度更高,單位面積上整合的資源會更多。同時,作為IC界的老大,Intel的半導體工藝非常成熟,成熟的工藝也使得流片的良率提高,降低FPGA的成本。同時,Stratix10可以支援更低的供電電壓,在Intel的工藝中FPGA的半導體引數也可以進一步調優,更低的電壓和更優的引數會使Stratix10的功耗進一步降低。低成本和低功耗進一步增強了FPGA在計算的效能價格比方面的優勢。

智慧FPGA

除了上述的特性之外,Altera還對未來FPGA的規劃了智慧特性。比如,傳統的FPGA在下載和除錯時依賴很多現場操作。而未來的FPGA會具有遠端控制和除錯的功能,便於對FPGA進行遠端原理,增強了FPGA的可運維性。同時,FPGA將來還可以支援資源監控的功能,比如監控DDR頻寬,cache miss等。

從此次Intel介紹的FPGA未來的技術路線上可以看出,Intel攜手Altera投入了大量的資源,非常有針對性地對FPGA當前的弱點進行了彌補。Stratix10系列的FPGA非常值得我們期待。

CPU+FPGA平臺

Intel併購Altera後,另一大亮點是Intel將推出CPU+FPGA架構的硬體平臺,本次大會Intel也為我們帶來了該平臺的最新介紹。該平臺預計於2017年量產,屆時,一片Skylake架構的Xeon CPU和一片Stratix10的FPGA將“合二為一”,在流片時就將兩者整合在一起,徹底打破兩者之間的界限,使FPGA獲得高頻寬、低延遲的資料通路,這使得FPGA能夠更緊密地為CPU提供加速功能。在這種形態中,FPGA加速核不再作為外部裝置,而是本身就成為了CPU的一部分,更夠更友好地被CPU開發者利用,甚至在未來,CPU地開發者都不必“感知”到FPGA的存在就可以充分利用FPGA來加速自己的業務。

SDP

然而,CPU+FPGA的平臺對我們阿里雲技術創新團隊來說已經不陌生,我們團隊早在一年多以前就多Intel的CPU+FPGA平臺展開了預研。目前已經做了RSA加解密和深度學習方面的加速研究。具體情況歡迎大家諮詢阿里雲HPC團隊的以亭、鵬起和甘澤。

總結

由於FPGA在功耗、效能價格比方面具有的競爭力,進軍資料中心成為FPGA發展方向之一,Intel在併購Altera後,也對FPGA投入了大量的資源。Intel在本次Intel FPGA技術大會上為我們介紹了新一代FPGA的強大功能和潛在的應用場景,相信FPGA在未來應用值得我們期待。我們技術創新團隊已經對FPGA做了很多研究工作,在未來我們會投入更多的資源,更加深入地對FPGA的應用和優化展開研究。

注:CPU+FPGA平臺的圖片來自網際網路


相關文章