0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

為什么FPGA成為數(shù)據(jù)中心尖端技術

FPGA設計論壇 ? 來源:FPGA設計論壇 ? 作者:FPGA設計論壇 ? 2022-03-25 09:45 ? 次閱讀

我們知道,FPGA的頻率一般只有幾百MHz,而CPU的頻率卻高達數(shù)GHz。那么,有不少網(wǎng)友心中就有一個疑問:“為什么FPGA主頻比CPU慢,但卻可以用來幫CPU做加速?”。

今天,EDN就和大家系統(tǒng)性地討論下這個問題。

將FPGA主頻與CPU相比不妥實

在開始之前,首先要明確一點,將FPGA的主頻與CPU比較,實際是風馬牛不相及的問題。FPGA和CPU是兩種完全不同的器件,前者是專用,是硬件編程,而后者是通用,是軟件編程。

為什么FPGA成為數(shù)據(jù)中心尖端技術

不同體系結構性能和靈活性的比較。(圖片來源:《如何評價微軟在數(shù)據(jù)中心使用 FPGA 代替?zhèn)鹘y(tǒng) CPU 的做法?》)

表面上看,F(xiàn)PGA的時鐘頻率要低;對于通用計算任務,F(xiàn)PGA設計貌似不如CPU設計。但是實際上,單個FPGA的并行度卻比CPU要高得多。FPGA的行為是確定性的,用作硬件加速器沒有時間片、線程或資源沖突的問題。它始終以完全相同的速度執(zhí)行一件事。因此,如果需要低延遲,那么FPGA就可能是最佳選擇。

為什么FPGA成為數(shù)據(jù)中心尖端技術

計算密集型任務,CPU、GPU、FPGA、ASIC 的數(shù)量級比較(以16位整數(shù)乘法為例,數(shù)字僅為數(shù)量級的估計)(圖片來源:《如何評價微軟在數(shù)據(jù)中心使用 FPGA 代替?zhèn)鹘y(tǒng) CPU 的做法?》)

FPGA并行計算機制

如知乎網(wǎng)友young cc所言,雖然CPU主頻很高,但其是通用處理器,做某個特定運算(如信號處理,圖像處理)可能需要很多個時鐘周期。而FPGA可以通過編程重組電路,直接生成專用電路。加上電路并行性,可能做這個特定運算只需要一個時鐘周期。

舉例來說,CPU主頻為3GHz,F(xiàn)PGA主頻為200MHz。若做某個特定運算,CPU需要30個時鐘周期,而FPGA只需一個,那么耗時情況是:

CPU:30/3GHz =10ns;

FPGA:1/200MHz =5ns。

可以看到,F(xiàn)PGA做這個特定運算速度比CPU塊,能幫助加速。

另外,CPU的主頻是加過流水線之后的。比如是15級流水線,則第一條指令執(zhí)行了15個時鐘周期后才能出結果。

但是,使用FPGA也不一定總能做加速。

例如,知乎網(wǎng)友Evan172就表示,使用FPGA做加速,只是在某些強計算和數(shù)據(jù)處理的方面,因為其硬件電路并行運行和有很多DSP硬核資源供調用的特點,可以工作得更出色。

FPGA本身也只是輔助角色,起控制的還是CPU本身,所以FPGA并不能代替CPU,只是在完成一件大任務的過程中將某部分任務分解給FPGA可以更好地一起完成任務。在這過程中也會有額外的開銷產(chǎn)生,在某些場合,可能用了FPGA而效果更差也是有的。

另外,通常說的使用FPGA加速比CPU和GPU省電,是指在完成同樣的任務下,F(xiàn)PGA耗費的電力比起CPU和GPU更少一些。這是相對而言的,并不是說FPGA本身就一定省電。

一個有趣的例子:數(shù)組加法計算

知乎用戶doing舉了一個很有趣的例子。他指出,假設用FPGA完整實現(xiàn)了CPU,然后再跑軟件的話,的確比CPU慢。問題是FPGA不會那么干,它會直指問題本質,解決問題。

例如,有兩個數(shù)組,其中有256個32位數(shù)。現(xiàn)在要把它們對應相加變成一個數(shù)組,用CPU寫最快大概是這個樣子:

r[0] = a[0] + b[0];

r[1] = a[1] + b[1];

r[255] = a[255] + b[255];

當然也可能會這么寫(在分支預測準確,指令緩存不大的情況下可能更快):

for (int i = 0; i < 255; i++)

r[i] = a[i] + b[i];

對FPGA來說,也可以用上面相同的寫法,不同在于:

CPU是一個一個加法計算,而FPGA排好邏輯電路,在一個時鐘周期內計算完畢。就算CPU主頻比FPGA快100倍也趕不上啊。話說后來CPU大量的增加SIMD指令,就有點這個意思,不過這相當于提供庫函數(shù),沒那么靈活。

FPGA的并行是真并行,CPU完全沒得比。CPU如果想并行最多也就是讓多個核并行,但是對于大部分算法實現(xiàn)來說,如上例,多個核之間的同步調度開銷遠遠大于計算開銷,就算多個核之間的調用開銷可以做的很小,一般CPU也就那幾個核,而FPGA只要門足夠,想并行幾路就可以并行幾路。

所以在做可并行的計算密集型任務時,比如信號處理,網(wǎng)絡傳輸?shù)鹊菷PGA可以幫上忙;但是如果做常見的以串行為主的任務,F(xiàn)PGA的確遠遠比不上CPU。如果要類比的話,有點像似GPU和CPU之間的關系。

“當年寫Verilog的時候,我就想如果CPU里面自帶一塊FPGA,應用程序程序可以在初始化期間直接燒一段代碼下去,那豈不是很爽。后來,有了能寫shader的3D顯卡...”

為什么FPGA成為數(shù)據(jù)中心尖端技術?

最后再討論一個話題,就是為什么FPGA一直是數(shù)據(jù)中心領域最尖端的技術?

有人可能認為,再大的問題(算力)都可以通過堆CPU核心來解決。那么,假設有一臺強大的48核服務器,即使使用非常高端的FPGA,也很難達到相同的吞吐量。而且,F(xiàn)PGA硬件設計還需要由強大的團隊來完成,非常燒錢。

這時,如果把機會成本和能源效率兩者考慮進去,好處就開始顯現(xiàn)出來了。

首先來看能源效率。假設這臺48核服務器的功耗為400W并且發(fā)熱嚴重,那么就會對數(shù)據(jù)中心運營不利——能耗和散熱是數(shù)據(jù)中心運營的兩項最大支出。而將FPGA連接起來只執(zhí)行一項任務,就可以實現(xiàn)很高的能效而開銷極低。通過正確的設計,可以在實現(xiàn)低功耗的同時獲得高吞吐量。

其次,機會成本(這個問題不太明顯)。系統(tǒng)中的CPU內核數(shù)量就那么多。購買新的內核并且安裝需要花很長時間,而且最好是將通用CPU內核保留用于通用任務(例如虛擬機訂閱)。每個CPU核賣不出去就會燒錢。

當有任務大量占用CPU時間(例如AI推理)時,F(xiàn)PGA就成為了不錯的選擇。

一個有關微軟Project Catapult項目當中FPGA的趣事

當年,微軟必應團隊在其Project Catapult項目中發(fā)現(xiàn),在啟用FPGA時,CPU的總體利用率實際上略有上升。所有的人都感到困惑,因為從直覺來看FPGA應該要減少CPU負載。但是后來他們發(fā)現(xiàn),數(shù)據(jù)中心的業(yè)務流量達到了原來的2倍!由于效率提高,流量實現(xiàn)了兩倍的負載均衡。由此可見FPGA的強大之處。

總結

維基百科的相關詞條提到兩點:FPGA的優(yōu)勢在于其并行特性,有時對于某些應用而言可以使速度明顯變快;可以使用FPGA來對算法中的某些部分加速,也可以在FPGA和通用處理器之間共享部分計算。

綜上,F(xiàn)PGA有兩個優(yōu)點:FPGA并行度遠超CPU;CPU是通用電路,F(xiàn)PGA是定制電路。但是也有兩個缺點:開發(fā)周期長;并不是所有東西都適合FPGA。

原文標題:為什么FPGA主頻比CPU慢,但卻可以用來幫CPU加速?

文章出處:【微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1630

    文章

    21769

    瀏覽量

    604656
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10889

    瀏覽量

    212389
  • 頻率
    +關注

    關注

    4

    文章

    1517

    瀏覽量

    59295

原文標題:為什么FPGA主頻比CPU慢,但卻可以用來幫CPU加速?

文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    數(shù)據(jù)中心子系統(tǒng)的組成

    本帖最后由 bestups365 于 2011-11-11 10:21 編輯 數(shù)據(jù)中心的主要組成部分共有如下11個。(1)物理結構數(shù)據(jù)中心的物理結構就是能夠安裝數(shù)據(jù)中心并保護其免受環(huán)境條件
    發(fā)表于 11-11 10:16

    易飛揚寄望2018年通過數(shù)據(jù)中心市場增長考驗

    。數(shù)據(jù)中心的爆發(fā)性需求并不對每一個光器件公司受益。相反,這一市場充滿了結構性變數(shù)和長期耐力的考驗。因為技術擴散,過去的時間在中國開一家傳統(tǒng)技術的光器件公司已經(jīng)非常容易。基于供應鏈和行業(yè)分工,開一家光器件
    發(fā)表于 01-03 09:36

    走向綠色數(shù)據(jù)中心的7種手段

    熱量指南。其中許多重點是優(yōu)化內部設備以實現(xiàn)最佳資源利用,包括降低冷卻功耗?! ?.使用通道遏制:這是一種防止數(shù)據(jù)中心供應側冷空氣與排氣側熱風混合的技術。它涉及使用物理障礙并顯著提高冷卻效率?! ?.
    發(fā)表于 08-16 15:35

    2019北京國際數(shù)據(jù)中心技術設備展覽會

    數(shù)據(jù)中心展,據(jù)中心技術展,據(jù)中心設備展,北京數(shù)據(jù)中心展,北京據(jù)中心
    發(fā)表于 09-06 17:09

    2019北京數(shù)據(jù)中心展覽會

    2019北京國際數(shù)據(jù)中心技術設備展覽會2019 The 8th China (Shanghai) International Energy Saving Technology
    發(fā)表于 09-25 11:26

    數(shù)據(jù)中心市場的十大趨勢

    毫不夸張地說,技術是以光速發(fā)展的。要跟上云數(shù)據(jù)中心市場的步伐,把握這些變化十分重要。下面是需要了解的十大趨勢。1.按需訪問云數(shù)據(jù)中心主要用于存儲信息并提供災難恢復功能。但是,隨著移動應用和物聯(lián)網(wǎng)
    發(fā)表于 12-31 22:23

    技術引導數(shù)據(jù)中心向板上光通信聚攏

    傳輸(2-10km)——這一結論目前還來自于我的技術猜思——我希望這一溯因思維的結論是正確的。我們把數(shù)據(jù)中心內的連接稱為互連,我們把數(shù)據(jù)中心外的連接成為傳輸。
    發(fā)表于 10-26 16:47

    2020第十二屆北京國際數(shù)據(jù)中心技術設備展覽會

    2020第十二屆北京國際數(shù)據(jù)中心技術設備展覽會2020 the 12th beijing international data center technology equipment
    發(fā)表于 01-03 10:28

    未來數(shù)據(jù)中心與光模塊發(fā)展假設

    數(shù)據(jù)中心網(wǎng)絡成本的比重也在逐步提升,已達到6-7成左右,光模塊的升級勢必要跟隨數(shù)據(jù)中心的發(fā)展共同演進。數(shù)據(jù)中心未來發(fā)展的四個假設高性能計算自從高性能計算(HPC)成為開放云服務以來,人
    發(fā)表于 08-07 10:27

    數(shù)據(jù)中心太耗電怎么辦

    ??????摘要:其實對于節(jié)能,傳統(tǒng)技術也是做了“十二分”的努力。但是在技術不斷演進的情況下,傳統(tǒng)節(jié)能技術還是存在問題,如何破?本文分享自華為云社區(qū)《數(shù)據(jù)中心節(jié)能?來試試華為NAIE
    發(fā)表于 06-30 06:27

    數(shù)據(jù)中心是什么

    、結構的世界進入到不確定和非結構的世界中,它將和交通、網(wǎng)絡通訊一樣逐漸成為現(xiàn)代社會基礎設施的一部分,進而對很多產(chǎn)業(yè)都產(chǎn)生了積極影響。不過數(shù)據(jù)中心的發(fā)展不能僅憑經(jīng)驗,還要真正的結合實踐,促使數(shù)據(jù)中心發(fā)揮
    發(fā)表于 07-12 07:10

    如何去提高數(shù)據(jù)中心的運營效率呢

    現(xiàn)如今,盡管IT業(yè)界的各種新興技術可能正發(fā)生著各種突飛猛進的快速變化,但每家數(shù)據(jù)中心仍然需要依賴電力資源的消耗來維持其運行能力。故而,數(shù)據(jù)中心運營商們仍然需要通過更新電源使用、冷卻和電氣設計方案,來
    發(fā)表于 09-09 06:14

    什么是數(shù)據(jù)中心

    數(shù)據(jù)中心是企業(yè)用來容納其關鍵業(yè)務應用程序和信息的物理設施。隨著它們的發(fā)展,重要的是要長期考慮如何保持它們的可靠性和安全性。什么是數(shù)據(jù)中心?數(shù)據(jù)中心通常被稱為單個事物,但實際上它們由許多技...
    發(fā)表于 09-15 06:46

    東芝展示企業(yè)級存儲產(chǎn)品與解決方案,推動數(shù)據(jù)中心產(chǎn)業(yè)的發(fā)展

    2020年9月15-16日,由開放數(shù)據(jù)中心委員會(ODCC)主辦的“開放數(shù)據(jù)中心峰會”在北京國際會議中心拉下帷幕。大會旨在圍繞數(shù)據(jù)中心尖端熱點技術
    的頭像 發(fā)表于 09-17 15:29 ?3211次閱讀

    數(shù)據(jù)中心為什么要部署FPGA

    FPGA 芯片在數(shù)據(jù)中心領域主要用于硬件加速,在云服務器廠商中已有廣泛部署。數(shù)據(jù)中心使用 FPGA 芯片代替?zhèn)鹘y(tǒng)的 CPU 方案后,處理其自定義算法時可實現(xiàn)顯著的加速效果。因此近年來,
    發(fā)表于 11-16 09:55 ?895次閱讀
    <b class='flag-5'>數(shù)據(jù)中心</b>為什么要部署<b class='flag-5'>FPGA</b>?