數據正在成為人類社會進步新的驅動力。有專家預測,未來5年中國大數據產業規模年均增長率將超過50%,到2020年中國的數據總量將占全球數據總量比例的20%,成為世界第一數據資源大國和全球數據中心。不過在垂涎于這個大數據盛宴的同時,我們也面臨著一個“成長中的煩惱”:我們是否有足夠的能力去處理和“消化”這些海量的數據?雖然近年來數據中心的數量也在快速增加,但是面對數據處理任務指數級的增長,還是需要從更底層的核心硬件架構上尋求解決方案。
通用CPU是傳統數據中心的核心,不過由于它是基于指令譯碼執行、共享內存的經典的馮·諾依曼結構, 注定了其可以完成復雜性的數據處理工作,但是處理大量并行的、重復性的數據并非其強項。“多核”CPU是一個應對之策,但仍然無法擺脫架構的限制,加之摩爾定律日益逼近天花板,依托制程工藝的進步帶來性能上的提升,這條路也越來越不好走。因此異構處理器的概念被提出來,簡單地說,就是將CPU不擅長的工作卸載到其他更適合的器件中去處理,不同架構的數據處理器件協同工作,各司其職,提升效率。在異構數據處理中,究竟誰適合與CPU“相加”,業界有不同的思路,通常吞吐率、延遲、功耗和靈活性會被作為評估的基本標準。
在異構處理器中,“CPU+GPU”是一個重要選項。GPU采用SIMD(單指令流多數據流)的方式讓多個執行單元以同樣的步調處理不同的數據,大大提升了并行數據處理的能力,在計算密集型任務中可堪重用。不過GPU有一個“硬傷”,就是在延遲比較高。這是因為GPU雖可實現數據并行但是其流水線深度受限,每個計算單元處理不同的數據包時,需要按照統一的步調做相同的事,這就使得輸入輸出的延遲增加,通常GPU的延遲會達到毫秒級。
要想克服上述問題,就需要今天的主角“FPGA”出場了。FPGA是一種可編程邏輯器件,可以根據需要通過軟件編程去定義器件的硬件功能,非常靈活。這也就意味著基于FPGA的數據處理架構,每個邏輯單元的功能都是定義好的,無需指令就可完成工作,也不需要復雜的共用內存的調度和裁判,擺脫了馮·諾依曼架構的牽絆。在延時方面,FPGA的優勢尤為明顯,其不但可以實現數據并行,還可以實現流水線并行,流水線的不同級處理不同的數據包,這就使得不同數據的處理無需等待更為便捷,其延時只有微秒級。從數據吞吐能力上看,新一代FPGA的數據處理加速能力理論上已經可以與GPU比肩。同時拜不斷進步的半導體工藝所賜,FPGA器件的功率也控制得很好。所以CPU+FPGA這種異構處理器組合被越來越多的人所看好。
還有一種技術選擇我們不得不提一下,那就是ASIC。單從性能上講,為特定網絡數據加速目的而制造的專用ASIC芯片無疑在吞吐量、延遲、功耗方面都是最具競爭力的,但是有兩個因素使其被數據中心用戶拒之門外:一是ASIC的研發和流片成本越來越高,除非有足夠的規模,否則經濟性上沒有優勢;二是一旦數據處理任務需求發生變化,功能固化的ASIC就“廢”了,而如果使用FPGA則無需擔心這個問題,只要重新編程重新定義器件的功能即可,這對用戶的投資是很有效地保障。這就是FPGA在靈活性上的優勢。
表1,幾種數據處理架構在計算密集型任務中的性能比較
可以說,在異構處理架構中,雖然每種技術都各有千秋,但是FPGA各方面的表現最為均衡,可以令用戶獲得的效益最大化。由此也就不難理解一年前Intel為什么樂于花費巨資收購全球排名第二的FPGA廠商Altera,此舉也無疑為FPGA未來在數據中心中的地位做了背書。同時,在FPGA行業頭把交椅上的Xilinx近年來的表現也更加活躍和搶眼,橫向合作上與AMD、ARM、華為、IBM、Mellanox、高通等共推開放式的數據加速架構,打造生態鏈;縱向上接連綁定亞馬遜、百度等互聯網巨頭,讓FPGA在人工智能、視頻處理、 自然語言處理、金融分析、網絡安全等未來核心數據應用處理領域,坐實其核心的位置。顯而易見,大數據之“火”,已經點著了FPGA,誰能抓住機會,誰就能在大數據的熱潮中火一把。
圖1,Xilinx的FPGA被用于百度數據中心,未來會對百度的無人駕駛汽車提供支撐
圖2,騰訊推出的FPGA云服務器,可為用戶提供FPGA云租用服務
-
FPGA
+關注
關注
1629文章
21729瀏覽量
603010 -
大數據
+關注
關注
64文章
8882瀏覽量
137403
發布評論請先 登錄
相關推薦
評論