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