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