這種壓力來(lái)自?xún)蓚(gè)方面。一個(gè)是匯聚到云端的數據量越來(lái)越大——據IDC的統計,2016年全球數據存量為16ZB,預計到2020年將超過(guò)40ZB,而2025年則會(huì )激增至160ZB。另外一個(gè),與指數級增長(cháng)的數據量相伴隨的,則是對這些數據計算和處理需要的高速增長(cháng),特別是隨著(zhù)人工智能(AI)的興起,對云端計算資源的消費量大大增加。數據量和數據處理要求兩個(gè)因素疊加,使得我們對云端算力需求的增速超出想象。

在過(guò)去相當長(cháng)的一段時(shí)間,這個(gè)世界上算力提升的動(dòng)力主要來(lái)自于摩爾定律,每18-24個(gè)月提升一倍的集成電路性能,奠定了當今這個(gè)互聯(lián)世界的基石。而時(shí)至今日,受制于半導體工藝的極限,摩爾定律定義的速度已經(jīng)減緩,由其帶來(lái)的紅利正在消失。因此在面對云計算越來(lái)越大的“胃口”時(shí),在摩爾定律之外,人們需要尋找另一個(gè)能讓算力加速的支點(diǎn),這個(gè)支點(diǎn)就是新的計算架構。
FPGA的勝出
一個(gè)理想的高性能云計算加速架構,概括起來(lái)需要有以下幾個(gè)特性:第一是高吞吐能力,以應對海量數據處理的需要;第二是低延時(shí),能夠對實(shí)時(shí)聯(lián)網(wǎng)設備進(jìn)行響應;第三是高性能功耗比,為更高密度的云計算創(chuàng )造可能;最后是靈活性,能夠跟上不斷演化的算法和應用的腳步。

目前可用于云計算加速的架構無(wú)非是以下幾種:CPU、GPU、FPGA和AICS。如果按照上述的“任職條件”去仔細篩選,人們發(fā)現與其他幾種結構相比,FPGA就是那個(gè)要找的Mr. Right!
- 在性能方面:由于FPGA擺脫了馮·諾依曼結構的限制,可以針對特定應用算法定制硬件架構,具備ASIC高性能的特質(zhì),可支持更高的數據吞吐。
- 在延遲性方面:FPGA不但可以實(shí)現數據并行,還可以實(shí)現流水線(xiàn)并行,可達到微秒級的延時(shí),這也是其與同樣高算力的GPU相比最明顯的一個(gè)競爭優(yōu)勢。
- 在可擴展性方面:基于FPGA的可編程性和豐富的IO管腳,其可以在數據中心里面扮演多面手,除了計算,也可支持和適應存儲、網(wǎng)絡(luò )等方面算法的演進(jìn)發(fā)展要求。
- 在功耗方面:更先進(jìn)的半導體工藝,加之優(yōu)化的算法,令FPGA可在特定應用中實(shí)現比CPU、GPU更佳的性能功耗比。
- 在靈活性方面:這自然是FPGA與ASIC相比最引以為豪的強項,而且FPGA適于與CPU等計算架構結合形成CPU+FPGA異構計算平臺,讓最合適的架構去做其最擅長(cháng)計算加速,以實(shí)現系統最優(yōu)。


圖1,不同計算架構的性能比較(資料來(lái)源:華為云)
FPGA上云之路
正是由于FPGA上述的這些優(yōu)勢,讓人們將它視為實(shí)現云計算加速的重要技術(shù)路徑,FPGA的上“云”之旅也由此開(kāi)啟。從FPGA在云計算中的實(shí)際“戰果”來(lái)看,它確實(shí)沒(méi)有讓人們失望!
比如,2014年微軟在一篇論文中,分享了微軟Catapult項目團隊通過(guò)在數據中心1632臺服務(wù)器中部署FPGA,對必應(Bing)搜索引擎的文件排名運算進(jìn)行硬件加速,獲得了高達95%的吞吐量提升。這樣的事實(shí),也讓其他云計算平臺部署FPGA的信心大增。

騰訊是國內較早嘗試FPGA計算加速的互聯(lián)網(wǎng)公司,在他們的JPEG至WebP網(wǎng)絡(luò )圖片的轉碼嘗試中,FPGA處理延時(shí)相比CPU降低20倍,處理性能則是CPU的6倍,而FPGA單位成本僅為通用CPU的1/3。由此,騰訊也成為了FPGA云計算加速最積極的擁躉之一。
近年來(lái)隨著(zhù)AI應用的興起,越來(lái)越多的公司開(kāi)始嘗試將FPGA應用在云端深度學(xué)習算法加速中,且頗有斬獲。如百度從2013年就開(kāi)始嘗試將FPGA應用在DNN,RNN,CNN,LSTM等深度學(xué)習模型中,目前百度已經(jīng)開(kāi)放了基于FPGA的深度卷積神經(jīng)網(wǎng)絡(luò )加速服務(wù),單卡提供3Tops的定點(diǎn)計算能力,支持典型深度卷積網(wǎng)絡(luò )算子,為VggNet、GoogLeNet、ResNet等提供高效加速。可見(jiàn),今天AI已經(jīng)成為加速FPGA在云計算中部署的重要推手。

圖2,FPGA在網(wǎng)絡(luò )圖片轉碼加速應用中,與CPU相比優(yōu)勢明顯(圖片來(lái)源:騰訊云)
FPGA云服務(wù)
隨著(zhù)FPGA在云計算中越來(lái)越受寵,一種基于FPGA的新型的云服務(wù)也應運而生,這就是FPGA云服務(wù)。它已經(jīng)成為亞馬遜、百度云、騰訊云、華為云等云計算頭部玩家的一致選擇。
FPGA云服務(wù)器就是在云計算環(huán)境中配備FPGA的計算實(shí)例,用戶(hù)可以通過(guò)購買(mǎi)FPGA實(shí)例,快速讓自己特定的應用實(shí)現FPGA硬件加速。可以說(shuō),云計算廠(chǎng)商在引入FPGA之初,可能是為了滿(mǎn)足自己一個(gè)或幾個(gè)特定云計算加速所需,而在廣泛部署之后會(huì )發(fā)現,完全可以將FPGA計算資源“打包”起來(lái),作為一種可以變現的云服務(wù),銷(xiāo)售給云計算用戶(hù)。

而對于云計算用戶(hù)來(lái)說(shuō),就像當初購買(mǎi)云服務(wù)器而無(wú)需自己運維一個(gè)復雜的IT計算系統一樣,現在當需要在某個(gè)應用算法中采用FPGA進(jìn)行加速時(shí),也不需要去構架和開(kāi)發(fā)自己的FPGA硬件系統,而通過(guò)購買(mǎi)云計算廠(chǎng)商的FPGA云服務(wù)即可實(shí)現!
FPGA云服務(wù)的出現不僅讓云計算廠(chǎng)商可變現的服務(wù)組合更為豐富,往深一層去想,此舉也會(huì )對未來(lái)FPGA的應用開(kāi)發(fā)生態(tài)產(chǎn)生深刻影響,進(jìn)一步降低FPGA用戶(hù)的門(mén)檻,讓FPGA加速服務(wù)觸手可及。實(shí)際上,已經(jīng)有“不差錢(qián)”的云服務(wù)廠(chǎng)商在沿著(zhù)這個(gè)方向去發(fā)力。
綜上所述,從當初在一眾計算架構比拼中脫穎而出,到在實(shí)戰中證明自己的實(shí)力,再到今天成為新興云服務(wù)的核心,FPGA在云計算中的存在感越來(lái)越強,而這一切僅僅是個(gè)開(kāi)始。未來(lái)你還有什么奇思妙想需要“加速”,盡可以來(lái)一試。

圖3,為了因應云計算所需,安富利開(kāi)發(fā)的基于Xilinx FPGA的加速解決方案(圖片來(lái)源:安富利)