8月8日,英特爾在美國總部召開了名為“以數(shù)據(jù)為中心(Data-Centric)”的創(chuàng)新峰會。在會上,以英特爾執(zhí)行副總裁、數(shù)據(jù)中心集團總經(jīng)理Navin Shenoy為首的各產(chǎn)品線主要負責人介紹了英特爾在大數(shù)據(jù)時代的發(fā)展愿景和布局,對“以數(shù)據(jù)為中心的計算(Data-Centric Computing)”的潛在市場進行了分析,并且公布了若干英特爾相關軟硬件產(chǎn)品的發(fā)展路線圖。
本次峰會披露了很多關于FPGA的重大動態(tài),其中包括正式宣布了基于英特爾FPGA的智能網(wǎng)卡產(chǎn)品線,以及其第一款代號為“Cascade Glacier(冰川瀑布)”的量產(chǎn)版智能網(wǎng)卡。作為這款產(chǎn)品的FPGA研發(fā)團隊的主要成員之一,筆者從立項之初就參與了它的各項研發(fā)工作,并負責了多個軟硬件模塊和系統(tǒng)的設計與驗證任務。因此對于這款產(chǎn)品的正式對外發(fā)布,我倍感欣喜,并希望通過本文進一步梳理和分析峰會的技術細節(jié),以及從以下幾個方面探討FPGA在大數(shù)據(jù)時代的各種機遇和挑戰(zhàn):
1.英特爾“泛數(shù)據(jù)中心”業(yè)務及其潛在市場
2.基于FPGA的智能網(wǎng)卡產(chǎn)品線的正式發(fā)布
3.英特爾人工智能計算加速器產(chǎn)品系列的相關布局
4.FPGA開發(fā)的痛點與潛在方案
英特爾“泛數(shù)據(jù)中心”業(yè)務
近年來,英特爾一直積極的尋求業(yè)務轉型,即從一家以個人計算機和CPU為主的企業(yè),轉向以數(shù)據(jù)為中心并圍繞其發(fā)展全棧式解決方案的公司。為了實現(xiàn)這一目標,這幾年英特爾先后收購了FPGA大廠Altera(167.5億美金),自動駕駛大廠Mobileye(153億美金),人工智能芯片初創(chuàng)公司Nervana、機器視覺公司Movidus等眾多公司擴展其產(chǎn)品線,并同時招攬了兩位芯片設計大神Jim Keller和 Raja Koduri分別擔任半導體工程總負責人和芯片總架構師,負責統(tǒng)領英特爾各類芯片(特別是高端數(shù)據(jù)中心芯片)的整體架構和路線圖規(guī)劃。另外,英特爾旗下的風投部門僅在2017年就投資了包括地平線在內(nèi)的十余家AI初創(chuàng)企業(yè),各領域總投資額超過五億美元。
推動這場變革的主要力量,就是目前方興未艾的大數(shù)據(jù)浪潮。目前,全世界現(xiàn)有的超過90%的數(shù)據(jù)都是在過去的兩年內(nèi)產(chǎn)生的。隨著人工智能、自動駕駛、5G、云計算等各種技術的不斷發(fā)展,各類數(shù)據(jù)將會基于源源不斷的產(chǎn)生,預計到2025年時,數(shù)據(jù)總量將比現(xiàn)在增長10倍。由于上述技術的發(fā)展都基于對大數(shù)據(jù)的研究和分析,因此有人形象的將數(shù)據(jù)比作未來人工智能時代的石油。
隨著數(shù)據(jù)量的增長和技術的發(fā)展,對數(shù)據(jù)進行處理的能力也有了長足的進步。特別是隨著摩爾定律的延續(xù),從2012年至2017年,處理數(shù)據(jù)所需的計算和存儲成本分別下降了56%和77%;同時,處理數(shù)據(jù)的性能相較2006年則提升了41倍,如圖1所示。然而即便如此,現(xiàn)如今只有不到1%的數(shù)據(jù)被有效的進行了處理、分析和利用。由此可見,如何高效的以數(shù)據(jù)為中心進行現(xiàn)有系統(tǒng)的優(yōu)化設計、升級和創(chuàng)新,擁有著巨大的市場潛力和前景。
圖1:摩爾定律的延續(xù)帶來的數(shù)據(jù)處理性能的增長
在本次峰會上,英特爾對其2022年的大數(shù)據(jù)相關的潛在市場規(guī)模(Total Addressable Market – TAM)做了自己的預測,如下圖所示:
圖2:2022年英特爾大數(shù)據(jù)相關的潛在市場規(guī)模
英特爾的各類以數(shù)據(jù)為中心的業(yè)務部門主要包括四個子業(yè)務群:第一,傳統(tǒng)的數(shù)據(jù)中心業(yè)務,包括Xeon處理器、網(wǎng)絡、連接等;第二,非易失性存儲業(yè)務;第三,物聯(lián)網(wǎng)和自動駕駛業(yè)務,包括各類人工智能相關的業(yè)務部門;第四,F(xiàn)PGA業(yè)務。我在本文中將將其統(tǒng)一稱作“泛數(shù)據(jù)中心”集團。至2022年,泛數(shù)據(jù)中心集團的潛在市場規(guī)模將超過2000億美元,并由此成為英特爾歷史上最大的市場機遇。其中,各個子業(yè)務群的市場規(guī)模分別為,傳統(tǒng)數(shù)據(jù)中心業(yè)務超過900億美元、非易失性存儲業(yè)務750億美元,物聯(lián)網(wǎng)和自動駕駛業(yè)務330億美元,F(xiàn)PGA相關的業(yè)務也超過80億美元。
為此,英特爾提出了“全棧式”的數(shù)據(jù)中心系統(tǒng)解決方案路線圖,并由此打造以數(shù)據(jù)為中心的基礎架構,如下圖所示。
圖3:英特爾全棧式數(shù)據(jù)中心解決方案
可以看到,這個路線圖主要由“三駕馬車”進行驅動,分別是傳輸、存儲和計算。值得注意的是,圖中在傳輸和計算的部分都明確標出了FPGA的存在。下文將進一步分析FPGA在這兩個領域中所面臨的主要機遇和挑戰(zhàn)。
使用FPGA智能網(wǎng)
卡加速數(shù)據(jù)中心網(wǎng)絡
(1)數(shù)據(jù)中心網(wǎng)絡市場高速增長
在2022年,F(xiàn)PGA的數(shù)據(jù)中心相關業(yè)務的潛在市場規(guī)模將達到80億美元,較現(xiàn)在增長將超過30億美元。就英特爾FPGA業(yè)務部(原Altera)而言,其數(shù)據(jù)中心相關業(yè)務的年同比增長率在今年一季度達到了140%,與高端FPGA器件相關的增幅達50%,而整體業(yè)務也有超過兩位數(shù)的增長,見下圖所示。
圖4:英特爾可編程業(yè)務部年增長率
FPGA的一個最主要的應用領域就是對各類網(wǎng)絡數(shù)據(jù)進行并行化處理。這里的網(wǎng)絡,既包括傳統(tǒng)的有線通信網(wǎng)絡,也包括正在興起的5G無線網(wǎng)絡,以及在數(shù)據(jù)中心里的各類網(wǎng)絡連接。
(2)FPGA智能網(wǎng)卡產(chǎn)品線發(fā)布
前文中提到,作為本次峰會的一大亮點,英特爾發(fā)布了全新的基于FPGA的智能網(wǎng)卡產(chǎn)品線,以及其中的首款量產(chǎn)級產(chǎn)品,代號為“Cascade Glacier(冰川瀑布)”。由此進一步擴充了英特爾的以太網(wǎng)硬件產(chǎn)品線,形成了傳統(tǒng)網(wǎng)卡(ASIC)+智能網(wǎng)卡(FPGA)+網(wǎng)絡功能加速卡(FPGA)的完整產(chǎn)品組合,如下圖所示。
圖5:英特爾數(shù)據(jù)中心以太網(wǎng)硬件產(chǎn)品線
這類智能網(wǎng)卡的產(chǎn)生背景是為了應對數(shù)據(jù)中心網(wǎng)絡流量的爆炸性增長。從下圖可以看到,全球數(shù)據(jù)中心的網(wǎng)絡流量將從2016年的6.8Z字節(jié)(1ZB等于10的12次方GB)暴增至2021年的20.6Z字節(jié),年復合增長率約為25%。同時值得注意的是,這其中大部分的網(wǎng)絡流量都是在數(shù)據(jù)中心內(nèi)部的,因此如何優(yōu)化處理這類網(wǎng)絡流量就成了亟需解決的課題。另外,在目前的通信及云服務提供商的數(shù)據(jù)中心里,部分CPU核心被用來實現(xiàn)必須的存儲和網(wǎng)絡功能,如針對虛擬化交換的OVS(Open Virtual Switch),以及針對I/O虛擬化的Virtio等等,這樣使得寶貴的CPU資源被非用戶任務占用,造成可用CPU資源的壓縮和緊張。為解決這些問題,Cascade Glacier智能網(wǎng)卡由此產(chǎn)生。
圖6:全球數(shù)據(jù)中心網(wǎng)絡流量增長率
如圖7所示,Cascade Glacier基于英特爾Arria10系列FPGA,能為云數(shù)據(jù)中心的網(wǎng)絡流量提供2x25GbE的數(shù)據(jù)處理加速。
圖7a:FPGA智能網(wǎng)卡Cascade Glacier
與傳統(tǒng)網(wǎng)卡以及現(xiàn)有的其他智能網(wǎng)卡相比,它提供了業(yè)界唯一的對Virtio協(xié)議的硬件支持和加速,使得云數(shù)據(jù)中心里的虛擬機可以進行無縫的動態(tài)遷移,而不需要安裝額外的驅動,極大的擴展了數(shù)據(jù)中心的部署靈活性。另外,它將原本在CPU上實現(xiàn)的OVS功能完全卸載到FPGA上實現(xiàn),釋放了寶貴的CPU資源。另外,它還提供了FPGA靈活的可編程以及低功耗的特點,方便在數(shù)據(jù)中心中大規(guī)模部署,以及對常用網(wǎng)絡功能進行定制化加速。作為英特爾獨立開發(fā)的量產(chǎn)級智能網(wǎng)卡產(chǎn)品,Cascade Glacier會與英特爾”泛數(shù)據(jù)中心“架構中的其他組成部分,如Xeon CPU、存儲器、AI協(xié)處理器和加速器等,進行軟硬件深度整合,從而提供完整的端到端的系統(tǒng)解決方案。目前,Cascade Glacier已經(jīng)進入了最后的批量裝配階段,并預計將于2019年一季度正式出貨。
圖7b:使用智能網(wǎng)卡進行CPU功能卸載
Cascade Glacier可以算是英特爾針對云數(shù)據(jù)中心而設計開發(fā)的第一代基于FPGA的智能網(wǎng)卡量產(chǎn)產(chǎn)品,很好的解決了行業(yè)痛點,因此已經(jīng)吸引了很多大型云服務提供商的關注。相信在不久的將來,會有更多關于這款產(chǎn)品的詳細信息和部署情況被正式公布,屆時我會更深入的介紹關于Cascade Glacier的更多性能特點。
(3)針對網(wǎng)絡功能虛擬化和加速的FPGA智能網(wǎng)卡
我曾經(jīng)在之前的博文《白皮書技術解析 - 為下一代電信基礎設施尋找有效的虛擬網(wǎng)絡體系架構》中詳細分析了FPGA是如何應用在網(wǎng)絡功能虛擬化(Network Function Virtualization – NFV)這一新興場景,并幫助中國電信實現(xiàn)電信網(wǎng)絡的轉型升級的。
圖8:網(wǎng)絡功能虛擬化與FPGA
通過NFV技術,電信數(shù)據(jù)中心網(wǎng)絡可以實現(xiàn)轉發(fā)面與控制面解耦分離,從而只需使用標準的服務器、存儲和網(wǎng)絡硬件設備,并借由FPGA的硬件加速,就能完成各類核心網(wǎng)絡功能,而無需再購買配置各類專用的網(wǎng)絡設備。NFV是目前電信網(wǎng)絡發(fā)展的大趨勢,并非由英特爾提出。但可以發(fā)現(xiàn),其核心思想與上文提到的英特爾“泛數(shù)據(jù)中心”的三駕馬車不謀而合。英特爾也是目前唯一一家可以提供結合了傳輸、存儲和計算的全棧式半導體解決方案的公司。
在2017年的甲骨文開發(fā)者大會上,英特爾公布了一款正在開發(fā)中的智能網(wǎng)卡原型機,如下圖所示,并對使用這款智能網(wǎng)卡進行網(wǎng)絡數(shù)據(jù)加解密的性能進行了現(xiàn)場展示。這款智能網(wǎng)卡基于英特爾Arria10系列FPGA,并包含一枚英特爾XL710以太網(wǎng)控制器,因此可以同時實現(xiàn)高速網(wǎng)絡數(shù)據(jù)處理以及靈活的基于FPGA的定制計算需求。作為這款板卡最早期的FPGA開發(fā)者之一,我認為這款產(chǎn)品及其后續(xù)的升級版本將會在數(shù)據(jù)中心的網(wǎng)絡功能加速領域有著廣闊的前景。
圖9:針對NFV與網(wǎng)絡功能加速的FPGA智能網(wǎng)卡
人工智能計算加速器
產(chǎn)品系列的相關布局
在本次峰會上,英特爾宣布了Xeon處理器的詳細路線圖,即基于英特爾14nm工藝的Cascade Lake(2018年底出貨),基于14nm工藝的Cooper Lake(2019年出貨),以及基于10nm工藝的Ice Lake(2020年出貨)。這三款Xeon處理器都在內(nèi)部集成了對深度學習加速器的原生支持,從而更好的針對人工智能應用進行計算和加速。除此之外,英特爾還展示了“泛數(shù)據(jù)中心”業(yè)務群中針對人工智能應用的全棧芯片產(chǎn)品組合。
圖10:英特爾人工智能芯片產(chǎn)品組合
在人工智能的計算和加速領域,F(xiàn)PGA也被廣泛用作硬件加速模塊來使用,并被部署于數(shù)據(jù)中心本身以及很多邊緣計算的場合。
首先,在數(shù)據(jù)中心領域,最有名的例子就是微軟在其數(shù)據(jù)中心對FPGA使用進行的一系列針對人工智能計算的開創(chuàng)性的探索。例如,微軟在它最新公布的“腦波項目(Project Brainwave)”中,使用了英特爾FPGA,構建了實時深度學習平臺。它利用了FPGA的低延時、高并行、低功耗的特點,實現(xiàn)了對Bing搜索服務、微軟Azure云平臺等多項業(yè)務的跨越式加速。關于微軟的FPGA項目已有很多文章進行介紹,本文不再展開。
其次,英特爾于2017年發(fā)布了用于Xeon服務器的新一代標準化的“可編程加速卡(Programmable Acceleration Cards – PACs)”,以及配套的加速棧開發(fā)軟件和用戶接口,如下圖所示,并已經(jīng)得到了包括戴爾、富士通、浪潮等服務器大廠的采用和配套支持。這款加速卡可以使用戶在多個領域進行定制計算加速,包括人工智能、大數(shù)據(jù)、高性能計算等。
圖11:英特爾基于FPGA的可編程加速卡
第三,F(xiàn)PGA的應用也逐步擴展到網(wǎng)絡邊緣和端點,例如智能安防、視頻采集和處理、自動駕駛和機器人等等,直接在數(shù)據(jù)來源進行計算加速,并進行人工智能模型的推斷和處理。
圖12:FPGA在邊緣網(wǎng)絡計算中的應用場景
邊緣計算+人工智能通常是國內(nèi)外初創(chuàng)企業(yè)切入市場的主要領域。這一方面是由于數(shù)據(jù)中心市場太過龐大,因此被巨頭牢牢把持難以進入,另一方面也是由于在這個領域更容易通過創(chuàng)新的算法和方案獲得一席之地。我國的兩個主要代表企業(yè)就是地平線和深鑒科技。其中,前者已獲得英特爾領投的A+輪近一億美元投資,并通過此次投資將FPGA 事業(yè)部負責人Dan McNamara安排加入了地平線的董事會;而后者已在A+輪融資后被另一個FPGA大廠Xilinx全資收購。由此,可以十分清晰的看到FPGA公司對邊緣計算和人工智能領域的積極布局。
FPGA開發(fā)的
痛點與潛在方案
至此可以看到,英特爾已經(jīng)在泛數(shù)據(jù)中心領域開展了全面的布局和規(guī)劃。其中,F(xiàn)PGA在驅動大數(shù)據(jù)傳輸和計算這兩個關鍵領域均扮演著重要角色,并且覆蓋了從云端到網(wǎng)絡邊緣的各個部分。然而,盡管FPGA被某些國內(nèi)媒體熱捧為“萬能芯片”,真正的實現(xiàn)對FPGA的廣泛使用還是存在很多難點亟待克服。
第一,學界和業(yè)界仍然沒有開創(chuàng)性的方法簡化FPGA的開發(fā),這可以說是現(xiàn)階段制約FPGA廣泛使用的最大障礙。和CPU或GPU成熟的編程模型和豐富的工具鏈相比,高性能的FPGA設計仍然大部分依靠硬件工程師編寫RTL模型實現(xiàn)。RTL語言的抽象度很低,往往是對硬件電路進行直接描述,這樣一方面需要工程師擁有很高的硬件專業(yè)知識,另一方面在開發(fā)復雜的算法時會有更久的迭代周期。因此,F(xiàn)PGA標榜的可編程能力與其復雜的編程模型之間,形成了鮮明的矛盾。
近五到十年來,高層次綜合(High Level Synthesis - HLS)一直是FPGA學術界研究的熱點,其重點就是希望設計更加高層次的編程模型和工具,利用現(xiàn)有的編程語言比如C、C++等,對FPGA進行設計開發(fā)。在這期間有趣的成果層出不窮,其中有代表性的HLS初創(chuàng)公司有多倫多大學Jason Anderson教授及其學生創(chuàng)辦的LegUp Computing,以及UCLA叢京生教授創(chuàng)辦的Falcon Computing等。
在工業(yè)界,兩大FPGA公司都選擇支持基于OpenCL的FPGA高層次開發(fā),并分別發(fā)布了自己的API和SDK等開發(fā)工具。這在一定程度上降低了FPGA的開發(fā)難度,使得C語言程序員可以嘗試在FPGA平臺上進行算法開發(fā),特別是針對人工智能的相關應用。盡管如此,程序員仍然需要懂得基本的FPGA體系結構和設計約束,這樣才能寫出更加高效的OpenCL模型。另外,基于OpenCL的FPGA設計移植性不是很好,且嚴重基于廠商提供的開發(fā)工具和底層模塊的性能,調(diào)試起來也不甚便利。
在數(shù)據(jù)中心網(wǎng)絡應用領域,兩大FPGA公司也開始支持名為P4的網(wǎng)絡編程語言。P4語言大約于2014年由斯坦福大學的Nick McKeown教授提出,主要用來描述網(wǎng)絡交換、路由選擇和數(shù)據(jù)包處理規(guī)則,非常適合數(shù)據(jù)中心里高速網(wǎng)絡通信的應用場景。關于P4的具體內(nèi)容在本文中不再展開,其內(nèi)容值得再寫一篇文章詳細探討。其實相比全通用的HLS設計而言,類似于P4的針對某類特定應用的HLS工具或許有更大和更快的發(fā)展前景。
類似的還有英特爾最新發(fā)布的OpenVINO(Open Visual Inference & Neural Network Optimization - 開放的視覺推理和神經(jīng)網(wǎng)絡優(yōu)化)開發(fā)套件。顧名思義,OpenVINO專為計算機視覺和深度學習在邊緣計算的應用場景進行優(yōu)化,其最大特點是支持英特爾的全棧視覺加速方案,包括CPU、GPU、FPGA以及Movidius VPU等,并支持多種深度學習框架。其中,在FPGA上使用OpenVINO進行開發(fā),可以取得高達19倍的性能提升,如下圖所示。
圖13:使用OpenVINO實現(xiàn)深度學習的性能提升
第二,F(xiàn)PGA并非適用于各種應用場景。特別是對于一些邊緣計算和嵌入式應用,它們對價格、功耗、性能以及可靠性的統(tǒng)籌要求很高,其中往往價格會是主要的考慮因素。這樣基于FPGA的方案相比于GPU、SoC或者ASIC的方案并沒有很大的優(yōu)勢,這是由于FPGA并非針對某一特殊應用場景而設計優(yōu)化。
為了解決這個問題,英特爾近日收購了“結構化ASIC”設計公司eASIC,并計劃將其整合到公司的FPGA事業(yè)部中。結構化ASIC設計可以看成是FPGA與ASIC的折中,如下圖所示。它通過犧牲FPGA的可編程性換取低功耗、低成本和高性能,同時通過犧牲ASIC的優(yōu)化設計和布局換取更快的設計流片時間。因此對于很多對成本和功耗敏感的應用場景,這種結構化ASIC的設計方法有著很強的競爭力。
圖14:FPGA與結構化ASIC設計比較
結語
本文總結了在英特爾“以數(shù)據(jù)為中心(Data-Centric)”的創(chuàng)新峰會上發(fā)布的和FPGA相關的主要技術內(nèi)容,并由此延伸探討了FPGA在人工智能和大數(shù)據(jù)時代的機遇和挑戰(zhàn)??梢哉f,如今FPGA在泛數(shù)據(jù)中心應用領域再次煥發(fā)新生,各種全新機遇接踵而至。同時我們看到,機遇往往伴隨著挑戰(zhàn),只有勇于應對挑戰(zhàn),才能在新的時代不斷前進。
作者簡介:
石侃博士,于倫敦帝國理工大學電子系取得博士學位,后加入英特爾公司可編程解決方案事業(yè)部任高級FPGA研發(fā)工程師至今。石侃在半導體行業(yè)有多年的學術研究和工業(yè)界開發(fā)經(jīng)驗,尤其深耕于FPGA、高性能與可重構計算、計算機網(wǎng)絡和虛擬化等領域。他曾在多個學術界頂級會議和期刊如DAC、FCCM、TVLSI等發(fā)表過論文。在工業(yè)界,他主要從事使用FPGA進行數(shù)據(jù)中心網(wǎng)絡加速器、網(wǎng)絡功能虛擬化、高速有線網(wǎng)絡通信等相關技術的研發(fā)和創(chuàng)新工作。