中文字幕日韩一区二区不卡,亚洲av永久无码精品天堂动漫,亚洲av无码国产精品麻豆天美,最新版天堂中文在线,中文字幕视频在线看

a&s專業(yè)的自動化&安全生態(tài)服務平臺
公眾號
安全自動化

安全自動化

安防知識網(wǎng)

安防知識網(wǎng)

手機站
手機站

手機站

大安防供需平臺
大安防供需平臺

大安防供需平臺

資訊頻道橫幅A1
首頁 > 資訊 > 正文

在數(shù)據(jù)中心部署FPGA和CPU協(xié)同工作成為趨勢

未來 FPGA 在云計算平臺中應充當怎樣的角色?僅僅是像 GPU 一樣的計算加速卡嗎?本文主要評價了微軟的FPGA布局和FPGA的研究前景!
資訊頻道文章B
  FPGA正在逐漸改變?nèi)虻男酒袌觯④浽跀?shù)據(jù)中心選擇部署FPGA這種全新的古老計算機芯片,那么FPGA之間及其與CPU 之間是如何通信的,未來 FPGA 在云計算平臺中應充當怎樣的角色?僅僅是像 GPU 一樣的計算加速卡嗎?本文主要評價了微軟的FPGA布局和FPGA的研究前景!

  

一、為什么使用 FPGA?

  眾所周知,通用處理器(CPU)的摩爾定律已入暮年,而機器學習和 Web 服務的規(guī)模卻在指數(shù)級增長。人們使用定制硬件來加速常見的計算任務,然而日新月異的行業(yè)又要求這些定制的硬件可被重新編程來執(zhí)行新類型的計算任務。FPGA (Field Programmable Gate Array) 正是一種硬件可重構(gòu)的體系結(jié)構(gòu),常年來被用作專用芯片(ASIC)的小批量替代品,然而近年來在微軟、百度等公司的數(shù)據(jù)中心大規(guī)模部署,以同時提供強大的計算能力和足夠的靈活性。

  

 

  不同體系結(jié)構(gòu)性能和靈活性的比較

  FPGA 為什么快?「都是同行襯托得好」。CPU、GPU 都屬于馮·諾依曼結(jié)構(gòu),指令譯碼執(zhí)行、共享內(nèi)存。FPGA 之所以比 CPU 甚至 GPU 能效高,本質(zhì)上是無指令、無需共享內(nèi)存的體系結(jié)構(gòu)帶來的福利。

  馮氏結(jié)構(gòu)中,由于執(zhí)行單元(如 CPU 核)可能執(zhí)行任意指令,就需要有指令存儲器、譯碼器、各種指令的運算器、分支跳轉(zhuǎn)處理邏輯。由于指令流的控制邏輯復雜,不可能有太多條獨立的指令流,因此 GPU 使用 SIMD(單指令流多數(shù)據(jù)流)來讓多個執(zhí)行單元以同樣的步調(diào)處理不同的數(shù)據(jù),CPU 也支持 SIMD 指令。而 FPGA 每個邏輯單元的功能在重編程(燒寫)時就已經(jīng)確定,不需要指令。

  馮氏結(jié)構(gòu)中使用內(nèi)存有兩種作用。一是保存狀態(tài),二是在執(zhí)行單元間通信。由于內(nèi)存是共享的,就需要做訪問仲裁;為了利用訪問局部性,每個執(zhí)行單元有一個私有的緩存,這就要維持執(zhí)行部件間緩存的一致性。對于保存狀態(tài)的需求,F(xiàn)PGA中的寄存器和片上內(nèi)存(BRAM)是屬于各自的控制邏輯的,無需不必要的仲裁和緩存。對于通信的需求,F(xiàn)PGA每個邏輯單元與周圍邏輯單元的連接在重編程(燒寫)時就已經(jīng)確定,并不需要通過共享內(nèi)存來通信。

  說了這么多三千英尺高度的話,F(xiàn)PGA 實際的表現(xiàn)如何呢?我們分別來看計算密集型任務和通信密集型任務。

  計算密集型任務的例子包括矩陣運算、圖像處理、機器學習、壓縮、非對稱加密、必應搜索的排序等。這類任務一般是 CPU 把任務卸載(offload)給 FPGA 去執(zhí)行。對這類任務,目前我們正在用的 Altera(似乎應該叫 Intel 了,我還是習慣叫 Altera……)Stratix V FPGA 的整數(shù)乘法運算性能與 20 核的 CPU 基本相當,浮點乘法運算性能與 8 核的 CPU 基本相當,而比 GPU 低一個數(shù)量級。我們即將用上的下一代 FPGA,Stratix 10,將配備更多的乘法器和硬件浮點運算部件,從而理論上可達到與現(xiàn)在的頂級 GPU 計算卡旗鼓相當?shù)挠嬎隳芰Α?/p>

  

 

  FPGA 的整數(shù)乘法運算能力(估計)

  

 

  FPGA 的浮點乘法運算能力(估計)

  在數(shù)據(jù)中心,F(xiàn)PGA 相比 GPU 的核心優(yōu)勢在于延遲。像必應搜索排序這樣的任務,要盡可能快地返回搜索結(jié)果,就需要盡可能降低每一步的延遲。如果使用 GPU 來加速,要想充分利用 GPU 的計算能力,batch size 就不能太小,延遲將高達毫秒量級。使用 FPGA 來加速的話,只需要微秒級的 PCIe 延遲(我們現(xiàn)在的 FPGA 是作為一塊 PCIe 加速卡)。未來 Intel 推出通過 QPI 連接的 Xeon + FPGA 之后,CPU 和 FPGA 之間的延遲更可以降到 100 納秒以下,跟訪問主存沒什么區(qū)別了。

  FPGA 為什么比 GPU 的延遲低這么多?這本質(zhì)上是體系結(jié)構(gòu)的區(qū)別。FPGA 同時擁有流水線并行和數(shù)據(jù)并行,而 GPU 幾乎只有數(shù)據(jù)并行(流水線深度受限)。例如處理一個數(shù)據(jù)包有 10 個步驟,F(xiàn)PGA 可以搭建一個 10 級流水線,流水線的不同級在處理不同的數(shù)據(jù)包,每個數(shù)據(jù)包流經(jīng) 10 級之后處理完成。每處理完成一個數(shù)據(jù)包,就能馬上輸出。而 GPU 的數(shù)據(jù)并行方法是做 10 個計算單元,每個計算單元也在處理不同的數(shù)據(jù)包,然而所有的計算單元必須按照統(tǒng)一的步調(diào),做相同的事情(SIMD,Single Instruction Multiple Data)。這就要求 10 個數(shù)據(jù)包必須一起輸入、一起輸出,輸入輸出的延遲增加了。當任務是逐個而非成批到達的時候,流水線并行比數(shù)據(jù)并行可實現(xiàn)更低的延遲。因此對流式計算的任務,F(xiàn)PGA 比 GPU 天生有延遲方面的優(yōu)勢。

  

 

  計算密集型任務,CPU、GPU、FPGA、ASIC 的數(shù)量級比較(以 16 位整數(shù)乘法為例)

  ASIC 專用芯片在吞吐量、延遲和功耗三方面都無可指摘,但微軟并沒有采用,我認為出于兩個原因:

  1.數(shù)據(jù)中心的計算任務是靈活多變的,而 ASIC 研發(fā)成本高、周期長。好不容易大規(guī)模部署了一批某種神經(jīng)網(wǎng)絡的加速卡,結(jié)果另一種神經(jīng)網(wǎng)絡更火了,錢就白費了。FPGA 只需要幾百毫秒就可以更新邏輯功能。FPGA 的靈活性可以保護投資,事實上,微軟現(xiàn)在的 FPGA 玩法與最初的設想大不相同。

  2.數(shù)據(jù)中心是租給不同的租戶使用的,如果有的機器上有神經(jīng)網(wǎng)絡加速卡,有的機器上有必應搜索加速卡,有的機器上有網(wǎng)絡虛擬化加速卡,任務的調(diào)度和服務器的運維會很麻煩。使用 FPGA 可以保持數(shù)據(jù)中心的同構(gòu)性。

  接下來看通信密集型任務。相比計算密集型任務,通信密集型任務對每個輸入數(shù)據(jù)的處理不甚復雜,基本上簡單算算就輸出了,這時通信往往會成為瓶頸。對稱加密、防火墻、網(wǎng)絡虛擬化都是通信密集型的例子。

  

 

  通信密集型任務,CPU、GPU、FPGA、ASIC 的數(shù)量級比較(以 64 字節(jié)網(wǎng)絡數(shù)據(jù)包處理為例)

  對通信密集型任務,F(xiàn)PGA 相比 CPU、GPU 的優(yōu)勢就更大了。從吞吐量上講,F(xiàn)PGA 上的收發(fā)器可以直接接上 40 Gbps 甚至 100 Gbps 的網(wǎng)線,以線速處理任意大小的數(shù)據(jù)包;而 CPU 需要從網(wǎng)卡把數(shù)據(jù)包收上來才能處理,很多網(wǎng)卡是不能線速處理 64 字節(jié)的小數(shù)據(jù)包的。盡管可以通過插多塊網(wǎng)卡來達到高性能,但 CPU 和主板支持的 PCIe 插槽數(shù)量往往有限,而且網(wǎng)卡、交換機本身也價格不菲。

  從延遲上講,網(wǎng)卡把數(shù)據(jù)包收到 CPU,CPU 再發(fā)給網(wǎng)卡,即使使用 DPDK 這樣高性能的數(shù)據(jù)包處理框架,延遲也有 4~5 微秒。更嚴重的問題是,通用 CPU 的延遲不夠穩(wěn)定。例如當負載較高時,轉(zhuǎn)發(fā)延遲可能升到幾十微秒甚至更高(如下圖所示);現(xiàn)代操作系統(tǒng)中的時鐘中斷和任務調(diào)度也增加了延遲的不確定性。

  

 

  ClickNP(FPGA)與 Dell S6000 交換機(商用交換機芯片)、Click+DPDK(CPU)和 Linux(CPU)的轉(zhuǎn)發(fā)延遲比較,error bar 表示 5% 和 95%。來源:[5]

  雖然 GPU 也可以高性能處理數(shù)據(jù)包,但 GPU 是沒有網(wǎng)口的,意味著需要首先把數(shù)據(jù)包由網(wǎng)卡收上來,再讓 GPU 去做處理。這樣吞吐量受到 CPU 和/或網(wǎng)卡的限制。GPU 本身的延遲就更不必說了。

  那么為什么不把這些網(wǎng)絡功能做進網(wǎng)卡,或者使用可編程交換機呢?ASIC 的靈活性仍然是硬傷。盡管目前有越來越強大的可編程交換機芯片,比如支持 P4 語言的 Tofino,ASIC 仍然不能做復雜的有狀態(tài)處理,比如某種自定義的加密算法。

  綜上,在數(shù)據(jù)中心里 FPGA 的主要優(yōu)勢是穩(wěn)定又極低的延遲,適用于流式的計算密集型任務和通信密集型任務。

  

參與評論
回復:
0/300
文明上網(wǎng)理性發(fā)言,評論區(qū)僅供其表達個人看法,并不表明a&s觀點。
0
關于我們

a&s傳媒是全球知名展覽公司法蘭克福展覽集團旗下的專業(yè)媒體平臺,自1994年品牌成立以來,一直專注于安全&自動化產(chǎn)業(yè)前沿產(chǎn)品、技術及市場趨勢的專業(yè)媒體傳播和品牌服務。從安全管理到產(chǎn)業(yè)數(shù)字化,a&s傳媒擁有首屈一指的國際行業(yè)展覽會資源以及豐富的媒體經(jīng)驗,提供媒體、活動、展會等整合營銷服務。

免責聲明:本站所使用的字體和圖片文字等素材部分來源于互聯(lián)網(wǎng)共享平臺。如使用任何字體和圖片文字有冒犯其版權所有方的,皆為無意。如您是字體廠商、圖片文字廠商等版權方,且不允許本站使用您的字體和圖片文字等素材,請聯(lián)系我們,本站核實后將立即刪除!任何版權方從未通知聯(lián)系本站管理者停止使用,并索要賠償或上訴法院的,均視為新型網(wǎng)絡碰瓷及敲詐勒索,將不予任何的法律和經(jīng)濟賠償!敬請諒解!
? 2024 - 2030 Messe Frankfurt (Shenzhen) Co., Ltd, All rights reserved.
法蘭克福展覽(深圳)有限公司版權所有 粵ICP備12072668號 粵公網(wǎng)安備 44030402000264號
用戶
反饋