CPU不堪重負,FPGA來助陣!
本刊記者薛士然
據分析師預測,到2020年互聯網數據量會大得驚人:平均每位互聯網用戶的數據流量達1.5 GB/天,自動駕駛汽車產生數據達4 TB/天,聯網飛機的數據達5 TB/天,智能工廠產生的數據達1 PB/天,云視頻提供商每天的數據流量高達750 PB/天……如此龐大的數據量,必然會給數據中心帶來巨大的壓力,加之數據分析、機器學習等應用,更會讓CPU不堪重負,這種情況下該怎么辦?
近日,英特爾公司可編程解決方案事業部副總裁兼客戶體驗事業部總經理Rina Raman告訴了大家一個解決方案,那就是借助FPGA!
2015年6月,英特爾高價收購了當時的第二大FPGA公司Altera,開始涉足FPGA領域。FPGA是在PAL、GAL、CPLD等可編程器件的基礎上進一步發展來的,主要包括以下幾部分:可編程輸入/輸出單元、基本可編程邏輯單元、完整的時鐘管理、嵌入塊式RAM、豐富的布線資源、內嵌的底層功能單元和內嵌專用硬件模塊。
FPGA具有靜態可重復編程和動態在系統重構的特性,使得硬件的功能可以像軟件一樣通過編程來修改,FPGA能完成任何數字器件的功能,甚至是高性能CPU都可以用FPGA來實現(要知道,所有ASIC的設計都是通過FPGA來實現物理驗證的)。FPGA如同一張白紙:加電時,FPGA芯片將EPROM中數據讀入片內編程RAM中,配置完成后進入工作狀態;掉電后,FPGA恢復成白片,內部邏輯關系消失。因此,FPGA能夠反復使用,其優勢就是可以用硬件電路實現并行處理。
一個ASIC SoC的設計周期是14到24個月,而一個FPGA是半成品,因而設計時間要縮短一半。如果將x86處理器和FPGA結合起來創造新型異構處理器,還可以繼續實現摩爾定律,而且這樣的處理器既擁有x86的高性能,又通過FPGA實現了靈活性,堪稱是一種完美的方案。
Rina介紹,隨著物聯網時代的到來,需要對網絡進行根本性的轉型,如此眾多的設備涌入網絡,就需要將網絡功能進行虛擬化,很多功能需要從專用硬件轉到數據中心軟件中來運行,這種情況下采用FPGA是一個非常不錯的解決方案,而且隨著數據量的增長、計算環境的改變以及對功耗的要求越來越苛刻,要對計算進行加速,CPU+FPGA的異構架構確實是目前來看最好的方式。CPU是核心引擎,作為專用加速器,FPGA在靈活加速中使用,因為如此大量的數據需要處理,負載一定是動態變化的,FPGA是軟件定義的硬件,能夠應對不斷出現的變化,充分發揮硬件的性能。
Rina還舉例詳細介紹了異構計算中FPGA的作用,FPGA配合英特爾的至強處理器在計算處理中可以采用兩種方式:旁路加速和內建加速。在數據庫加速應用中,swarm64采用了英特爾的FPGA方案,使用內建加速方式,在數據處理之前先進行壓縮,結果實時數據分析速度快了5倍,傳統數據倉儲速度快了2倍,存儲數據壓縮速度快了3倍。在基因測序應用中,Broad Institute使用了英特爾的FPGA后取得了突破性的進步,采用Pair-HMM算法后,基因測序速度提高了50倍,改變了此行業的現狀。
以上應用案例足以顯示FPGA在計算加速中的優勢,也讓我們更加理解了英特爾斥巨資收購Altera的初衷。目前,英特爾的FPGA產品狀況如下:用于高端的Stratix 10已有樣片,用于中端的Arria 10已經全面投產,還有已經大量出貨的Cyclone 10和正在發運中的Max 10,廣泛的產品線完全能夠滿足多種應用需求。Rina還透漏,英特爾正在研發下一代產品,也是Altera并入英特爾后的第一代新產品,內部代號為Falcon Mesa,計劃采用英特爾10 nm工藝制程,會采用新的接口規范。
據Rina介紹,其實英特爾一直在研究如何更好地將CPU與FPGA融合,研究緊密耦合的英特爾架構處理器是未來考慮的一個方向。因為目前CPU和FPGA各自有自己的開發工具,英特爾希望將兩者的開發工具、結構框架、軟件環境加以整合,這樣就更方便了工程師實現開發應用。將FPGA與CPU融合,如此大膽的想法,目前也只有英特爾可以想!
