FPGA 特有的可重編程性可提供高性能和高靈活性,同時還能加速超大規(guī)模數(shù)據(jù)中心的創(chuàng)新
概述
數(shù)據(jù)類型復(fù)雜的工作負(fù)載加速,是超大規(guī)模云、電子商務(wù)和社交網(wǎng)絡(luò)數(shù)據(jù)中心正越來越多面的難題,例如 4K 視頻和自然語言。這類數(shù)據(jù)處理往往超出了傳統(tǒng) CPU 的處理能力。號稱“超七大”數(shù)據(jù)中心公司的阿里巴巴、亞馬遜、百度、臉書 (Facebook)、谷歌、微軟和騰訊對這個問題特別敏感。在這些公司中 , 這些新應(yīng)用往往需要數(shù)千臺加速的應(yīng)用服務(wù)器來支持。
雖然 GPU 和專用集成電路 (ASIC) 等特殊用途的硬件能有效地為這些代碼加速,但快速變化的先進(jìn)算法會讓一款專用加速器剛一完成開發(fā)、測試、投產(chǎn),就很快過時。對ASIC 來說,過時最容易。因此許多超大規(guī)模數(shù)據(jù)中心公司把目光投向了現(xiàn)場可編程門陣列 (FPGA)。這是一種專用可重編程硬件 , 能通過低功耗、高度靈活的硬件平臺提供專用加速器的性能優(yōu)勢,支持更快創(chuàng)新。
?
為更好地滿足這一新興市場需求,在 FPGA 市場中占有巨大市場份額并居技術(shù)領(lǐng)先地位的賽靈思近期宣布推出可重配置加速堆棧,初步針對三大計算密集型應(yīng)用:機器學(xué)習(xí)、數(shù)據(jù)分析和流媒體視頻直播。借助這些新型解決方案,賽靈思旨在通過提供用于超大規(guī)模數(shù)據(jù)中心中部分增長速度最快的工作負(fù)載的各種庫、開發(fā)工具和參考設(shè)計,降低阻礙 FPGA 通用的編程門檻,并幫助賽靈思客戶加速產(chǎn)品上市進(jìn)程。
賽靈思的數(shù)據(jù)中心加速器戰(zhàn)略
據(jù)賽靈思介紹,賽靈思加速堆棧(圖 1)結(jié)合使用 UltraScale FPGA 和一種面向快速演進(jìn)的工作負(fù)載和算法的高靈活可重編程平臺,可提供比傳統(tǒng) CPU 高出 20 倍的加速性能。
圖 1:賽靈思加速堆棧
在體育賽事和電腦游戲活動直播不斷風(fēng)靡的推動下,視頻直播迎來大發(fā)展,并對提供這些服務(wù)的數(shù)據(jù)中心提出了巨大需求。與此類似,AI 的使用也正迎來五花八門的各種應(yīng)用,提供海量數(shù)據(jù)用于培訓(xùn)神經(jīng)網(wǎng)絡(luò),供其學(xué)習(xí)和識別數(shù)據(jù)中的模式。受訓(xùn)網(wǎng)絡(luò)隨后可用于圖像識別、自動駕駛、搜索優(yōu)化和自然語言翻譯等多種不同應(yīng)用中。在這兩大領(lǐng)域中,數(shù)據(jù)中心越來越多地使用專用加速器來實現(xiàn)對用戶查詢的低延遲響應(yīng)。今天在數(shù)據(jù)中心中,使用 FPGA 并不新鮮。它們已經(jīng)廣泛應(yīng)用于網(wǎng)絡(luò)和存儲等應(yīng)用,例如加速、智能 NIC、NFV、壓縮、安全性和閃存陣列。微軟近期宣布為加速搜索工作負(fù)載,將在其 Bing 搜索和 Azure Cloud 應(yīng)用中廣泛使用 FPGA。微軟指出,之所以部署 FPGA 這類加速器,而不采用針對特定工作負(fù)載的固定功能 ASIC 或 GPU,關(guān)鍵是因為 FPGA 具有高度的靈活性和可重編程性。
賽靈思期望借助這個新型的、用于數(shù)據(jù)中心工作負(fù)載加速的可重配置加速堆棧,加速FPGA 在數(shù)據(jù)中心中的更廣泛應(yīng)用。該產(chǎn)品專為世界最大的數(shù)據(jù)中心而設(shè)計,例如阿里巴巴、亞馬遜、百度、Facebook、谷歌、微軟和騰等“超七大”數(shù)據(jù)中心公司。賽靈思的戰(zhàn)略是既要充分利用 FPGA 的靈活性、性能和計算效率,同時又要讓該技術(shù)隨著業(yè)務(wù)需求變化易于開發(fā)、部署和演進(jìn)。
眾所周知,F(xiàn)PGA 一直存在編程難的問題,需要同時兼具軟硬件技能的緊缺人才。“加速堆棧”的推出意味著賽靈思提供的不止是 FPGA,它還提供優(yōu)化的數(shù)學(xué)函數(shù)庫與應(yīng)用函數(shù)庫、軟件框架實現(xiàn)方案、支持 OpenCL 和 C/C++ 等高級語言的工具、便于配置和管理的 Openstack 支持,以及預(yù)期的加速器板參考設(shè)計。該加速堆棧旨在實現(xiàn)加速平臺和應(yīng)用的快速開發(fā)與部署,同時還通過可重編程功能和可重配置功能不斷增強特性。
賽靈思針對超大規(guī)模數(shù)據(jù)中心領(lǐng)域發(fā)展最快的三種工作負(fù)載推出該加速堆棧戰(zhàn)略。其一是機器學(xué)習(xí),其作為底層算法和新應(yīng)用而興起,不斷幫助改善廣告宣傳、客戶互動和新的客服。其二是高清視頻流,尤其是在游戲即服務(wù)市場。在這個市場中視頻編解碼加速要求的計算性能超過了標(biāo)準(zhǔn)的 x86 CPU 所提供的性能水平。其三,超大規(guī)模應(yīng)用中廣泛使用的 SQL 查詢加速。
機器學(xué)習(xí)加速
使用神經(jīng)網(wǎng)絡(luò)分類圖像、翻譯文本和語音、識別無結(jié)構(gòu)數(shù)據(jù)中的底層模式,需要“兩階段”法。第一階段,使用海量加標(biāo)記的樣本數(shù)據(jù)和計算培訓(xùn)神經(jīng)網(wǎng)絡(luò)。一旦網(wǎng)絡(luò)培訓(xùn)完,便進(jìn)入第二個階段 ( 即推斷階段 ), 通過受訓(xùn)的神經(jīng)網(wǎng)絡(luò)處理新數(shù)據(jù)樣本或查詢,以確定其可能的級別。推斷是當(dāng)今最大規(guī)模數(shù)據(jù)中心中的一個巨大的工作負(fù)載,因為它負(fù)責(zé)實現(xiàn)廣泛的日益擴展的重要應(yīng)用,例如語言翻譯、自然語言接口、照片和視頻內(nèi)容識別,以及網(wǎng)上產(chǎn)品選擇與促銷。其中兩個最大的人工智能市場分別是無人駕駛汽車和機器人,它們即將駛上世界各地的公路或是出現(xiàn)在世界各地的工廠里。在這兩大領(lǐng)域,賽靈思已有良好的定位。公司的產(chǎn)品已應(yīng)用到 23 家汽車制造商的高級駕駛員輔助系統(tǒng)(ADAS) 中和世界各地的 85 種車型中(圖 2)。
賽靈思可重配置加速堆棧為數(shù)據(jù)中心中的推斷計算 ( 即第二階段的神經(jīng)網(wǎng)絡(luò)處理 ) 提供解決方案。運算的推斷側(cè)可能每次查詢需要近乎實時地完成數(shù)十億次計算。在后臺,社交網(wǎng)絡(luò)和電子商務(wù)網(wǎng)站在多個神經(jīng)網(wǎng)絡(luò)上正在執(zhí)行數(shù)百萬次同步查詢。其結(jié)果產(chǎn)生的綜合計算吞吐量十分巨大,對數(shù)千乃至數(shù)百萬并行處理的需求要求一款功耗不大且按需縮放的解決方案。賽靈思認(rèn)為新平臺在這個地方應(yīng)能發(fā)揮理想的作用,因為一臺服務(wù)器中能配置 24 個處理器來處理這樣的負(fù)荷,而每個處理器根據(jù)賽靈思的說法,功耗不足 50 瓦。
今天云端的絕大部分推斷計算是使用英特爾 Xeon CPU 完成的。據(jù)賽靈思計算,將賽靈思 FPGA 用于深度學(xué)習(xí) , 相比今天使用的英特爾 Xeon V4 (Broadwell) CPU,計算效率高出 10 倍以上。據(jù)賽靈思提供的數(shù)據(jù),一臺配備 16 個賽靈思加速器的服務(wù)器 , 其性能就可超越整個機架的標(biāo)準(zhǔn)英特爾 Xeon 服務(wù)器(圖 3)。
圖 3:使用賽靈思 FPGA 的單個服務(wù)器與整個機架的 CPU 性能對比
實現(xiàn)這些性能結(jié)果的關(guān)鍵賽靈思差異化技術(shù)是對降精度算術(shù)運算的支持,即對 16 位浮點和 8 位整數(shù)數(shù)學(xué)的支持。許多神經(jīng)網(wǎng)絡(luò)在培訓(xùn)完成后,即便使用較低精度運算 , 也能得到準(zhǔn)確結(jié)果,因此在相同功耗下 , 相比 CPU 能將性能有效提升 2 倍或 4 倍,因為CPU 在本機用 32 位數(shù)值完成這些計算。據(jù)賽靈思稱,理論上這些較低精度 ALU(算術(shù)邏輯單元)能讓賽靈思 FPGA 的計算效率相比不具備此功能的 FPGA 要高出 2-6 倍。
該賽靈思機器學(xué)習(xí)堆棧包含用于卷積網(wǎng)絡(luò)(常用于圖像分類)的常見 Caffe 深度學(xué)習(xí)框架的優(yōu)化版本。針對那些需要構(gòu)建自己的機器學(xué)習(xí)應(yīng)用的用戶,該堆棧還提供了XDNN(賽靈思 DNN 原語庫)和 GEMM(矩陣乘法通用矩陣)。據(jù)賽靈思稱,移植和優(yōu)化谷歌 TensorFlow 等更多深度學(xué)習(xí)框架的工作正在如火如荼進(jìn)行中。賽靈思還提供 SDAccel 設(shè)計環(huán)境、Vivado 設(shè)計套件、IP 模塊和參考 PCI 加速器板設(shè)計,以簡化初始評估和開發(fā)流程。通過提供這些預(yù)先優(yōu)化的工具和庫,賽靈思期望讓更多能從加速中獲益的工作負(fù)載被采用。
視頻轉(zhuǎn)碼加速
賽靈思在眾多網(wǎng)絡(luò)和視頻廣播功能加速市場上已經(jīng)建立了良好的地位,憑借豐富的經(jīng)驗 , 全新的視頻轉(zhuǎn)碼加速堆棧也就水到渠成了。由于眾多消費者轉(zhuǎn)向 OTT(over-the-top)服務(wù),尤其是在觀看現(xiàn)場體育賽事和游戲串流時,對更高效平臺的需求已有顯著增長。
今天大多數(shù)數(shù)據(jù)中心的視頻流使用基于軟件的轉(zhuǎn)碼解決方案 , 運行在本機的英特爾Xeon 服務(wù)器上。隨著這些應(yīng)用遷移到更高分辨率的 4K 視頻平臺和 H.265 編碼算法上,對加速解決方案的需求也日漸迫切,因為 CPU 解決方案難以提供以 4K 分辨率進(jìn)行實況直播所要求的幀速率。
據(jù)賽靈思提供的數(shù)據(jù),目前用于高清質(zhì)量視頻的 FPGA 轉(zhuǎn)碼器能提供 60fps 的實時性能,計算效率提升 40 倍 , 而且在 1920x1080 分辨率下編碼質(zhì)量比 Xeon E5 CPU 高出 90%。憑借新一代 16nm UltraScale+ FPGA,結(jié)合對廣播質(zhì)量級編碼器的優(yōu)化,賽靈思稱用戶應(yīng)能夠在 4K 超高清分辨率下得到類似的效果,實現(xiàn)云服務(wù)提供商和觀眾可能需要的體驗質(zhì)量。根據(jù)賽靈思提供的數(shù)據(jù),從兩種方案的相對成本來看,賽靈思 FPGA 每服務(wù)器機架的吞吐量有望達(dá)到 CPU 的 20 倍,單位成本轉(zhuǎn)碼吞吐量大約是 CPU 的 12倍。該加速堆棧支持的視頻庫由賽靈思合作伙伴提供,該合作伙伴也為廣播商提供加速應(yīng)用。
數(shù)據(jù)分析加速
近來 FPGA 一直在超大規(guī)模數(shù)據(jù)中心中方興未艾,越來越多地被用來加速大數(shù)據(jù)分析。這是一個非常重要的領(lǐng)域,因為 SQL 數(shù)據(jù)查詢在整個超大規(guī)模基礎(chǔ)設(shè)施上都有使用。賽靈思為這個市場也開發(fā)了一個堆棧,正取得理想的初期成效。賽靈思提供的 SQL 數(shù)據(jù)移動器庫可用于將數(shù)據(jù)卸載到 FPGA 加速器。該應(yīng)用運用 FPGA 從 SQL 或 NoSQL數(shù)據(jù)庫的適當(dāng)行和列構(gòu)建數(shù)據(jù)模塊,然后加速客戶具體分析與查詢。此外,賽靈思已經(jīng)為 Postgres 開源數(shù)據(jù)庫創(chuàng)建了 TPC Query 6 內(nèi)核加速示例。據(jù)賽靈思稱,其加速幅度是用于這些內(nèi)核的 Xeon EP CPU 的 15 倍。在近期的熱門芯片大會 (Hot Chips) 上,百度演示了一個項目,介紹了他們?nèi)绾卧谫愳`思 FPGA 上實現(xiàn) 25 倍加速結(jié)果(圖 4)。百度提到該解決方案的性能受制于到 FPGA 的內(nèi)存帶寬,這是賽靈思準(zhǔn)備進(jìn)一步解決的問題。賽靈思已在 3D 器件中添加了他們近期推出的用于集成高帶寬內(nèi)存(HBM2) 和FPGA 的解決方案。
圖 4:用于 SQL 查詢的 FPGA 加速
硬件可重配置的價值
雖然關(guān)于 FPGA 的討論重點一般聚焦于它們的性能、低功耗以及其頗有難度的編程模式,但隨著時間的推移,F(xiàn)PGA 所特有的可重配置和可重編程特性,或許是快速發(fā)展的技術(shù)領(lǐng)域中 FPGA 所獨具的最大優(yōu)勢。GPU(尤其是 ASIC)加速器針對并行數(shù)據(jù)處理提供一組固定的功能單元。這種初始設(shè)計體現(xiàn)了開發(fā)團隊在開始新型芯片開發(fā)工作時對底層計算和數(shù)據(jù)要求的理解。如果研發(fā)人員此后想要嘗試新技術(shù)或發(fā)現(xiàn)新算法,而且新技術(shù)或新算法要求不同的功能集或使用不同的數(shù)據(jù)類型,使用 FPGA 進(jìn)行開發(fā)的團隊則能同時滿足硬件特性和軟件要求。如果是使用構(gòu)建 ASIC 的方法,不僅耗時長達(dá)數(shù)年之久,而且成本可能達(dá)數(shù)千萬美元。如果底層技術(shù)和算法迅速發(fā)展演進(jìn),就如人工智能和機器學(xué)習(xí)這種情況,如此巨大的投入,最終結(jié)果可能是在供貨之前就已經(jīng)過時。FPGA 憑借其獨特的可重編程性和可重配置性,能避免這一窘境。
在數(shù)據(jù)中心應(yīng)用加速中利用硬件可重編程性可帶來兩重好處:高靈活性和加速產(chǎn)品上市進(jìn)程。通過可重編程、可重配置的硬件,F(xiàn)PGA 能讓全球領(lǐng)先的云服務(wù)供應(yīng)商迅速解決今天的難題,適應(yīng)技術(shù)和業(yè)務(wù)需求的變化。而且由于 FPGA 是通過標(biāo)準(zhǔn)接口連接到CPU,設(shè)計團隊能夠自由地選擇與 FPGA 配對的合適 CPU 架構(gòu),包括英特爾或 AMD提供的 x86、ARM SoC 和 IBM OpenPOWER。通過同時實現(xiàn)硬件和較高層軟件的重編程,這種實現(xiàn)方案隨著時間的推移能夠持續(xù)帶來明顯的性能和總擁有成本優(yōu)勢,保護(hù)原始投資。
與構(gòu)建 ASIC 相比,F(xiàn)PGA 在加速產(chǎn)品上市進(jìn)程方面具有顯著的優(yōu)勢。通過根據(jù)平臺及應(yīng)用需求而精調(diào)和優(yōu)化的軟件庫,開發(fā)人員能夠迅速開展創(chuàng)新。這種方法得到的平臺能迅速適應(yīng)未來的變化和特性增強,不必像創(chuàng)建 ASIC 那樣需要為期數(shù)月的開發(fā)流程。對為了推動更多云應(yīng)用和云服務(wù)創(chuàng)新而需要每周更新大量算法的云環(huán)境來說,這一功能尤為適用。
可重編程性在機器學(xué)習(xí)領(lǐng)域的優(yōu)勢的例子就是近期興起的較低精度整數(shù)(8 位用于推斷)和浮點(16 位用于培訓(xùn))算術(shù)。只要且只有底層硬件能在經(jīng)優(yōu)化的算術(shù)單元或邏輯上原生地執(zhí)行這些計算,這種方法就能使深度學(xué)習(xí)算法的性能提升兩倍甚至四倍。通過結(jié)合使用 FPGA 與賽靈思最新可重配置加速堆棧,項目團隊能在硬件中更快地實現(xiàn)自己的最新創(chuàng)新,從而潛在地加速產(chǎn)品上市進(jìn)程,同時重復(fù)使用他們現(xiàn)有的硬件并延長其使用壽命。
結(jié)論
根據(jù)近期百度和微軟等公司發(fā)布的訊息,由于綜合性能、功耗和可重編程性三方面優(yōu)勢,基于 FPGA 的加速應(yīng)用最終得到大量采用。憑借新的可重編程加速堆棧,賽靈思已在減少 FPGA 的編程障礙方面取得進(jìn)展,將進(jìn)一步推動超大規(guī)模數(shù)據(jù)中心三大最熱門市場:機器學(xué)習(xí)、高清視頻轉(zhuǎn)碼直播和 SQL 查詢加速對 FPGA 的采用。該加速堆棧包括一整套邏輯、庫、軟件框架、參考設(shè)計和工具,旨在幫助開發(fā)人員更快地抓住加速機遇和縮短產(chǎn)品上市時間。
在 GPU、ASIC 和 FPGA 這三種當(dāng)今市場上可供使用的加速技術(shù)中,唯有 FPGA 具有硬件可編程性優(yōu)勢。而且賽靈思即將推出的新平臺以正在經(jīng)歷快速創(chuàng)新與變革的領(lǐng)域為重點,在這些領(lǐng)域中通過硬件重配置,使硬件能夠跟上軟件的發(fā)展步伐,從而提供更高的靈活性并加速產(chǎn)品上市進(jìn)程。這就是說,對浮點密集型編碼且有明顯的并行化處理可能的應(yīng)用來說,GPU 或許是最佳解決方案。對有數(shù)百萬加速單元用于特定代碼的超大規(guī)模環(huán)境來說,投資開發(fā) ASIC 可能更合算,因為這樣有望能實現(xiàn)更低的單位成本和更高的性能。但對日新月異的環(huán)境和種類繁多的目標(biāo)應(yīng)用來說,F(xiàn)PGA 能為數(shù)據(jù)中心加速提供有吸引力的解決方案。
通過為早期試用者和創(chuàng)新者提供可靠的可重配置加速技術(shù)以及以“超七大”數(shù)據(jù)中心為重點,賽靈思有力地證明 FPGA 能躋身為超大規(guī)模數(shù)據(jù)中心環(huán)境中的主要競爭者。
評論
查看更多