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