很長一段時間以來,中央處理器(CPU)和圖形處理單元(GPU)一直“統治”著數據中心。然而,近幾年,數據處理單元(DPU)越來越多地出現在大家面前,并號稱性能更強大、更專用、更異構,能夠處理CPU做不好,GPU做不了的任務,那事實究竟如何,一起看下去吧。
CPU
CPU—— Central Processing Unit, 中央處理器,CPU之于計算機、服務器,也就相當于大腦對于人類的作用。
計算、控制、存儲是CPU“大腦”布局謀略、發號施令、控制行動的主要表現形式。
CPU 是對計算機的所有硬件資源(如存儲器、輸入輸出單元) 進行控制調配、執行通用運算的核心硬件單元,是計算機的運算和控制核心。
CPU主要包括了運算器(ALU, Arithmetic and Logic Unit)、控制單元(CU, Control Unit)、寄存器(Register)、高速緩存器(Cache)和它們之間通訊的數據、控制及狀態的總線。
總的來說也就是計算單元、控制單元和存儲單元。
| CPU微架構示意圖,來源:網絡
#
控制單元
控制單元是整個CPU的指揮控制中心,由指令寄存器IR(Instruction Register)、指令譯碼器ID(Instruction Decoder)和操作控制器OC(Operation Controller)等構成,主要是對指令譯碼,并且發出為完成每條指令所要執行的各個操作的控制信號。
#
計算單元
計算單元在CPU中很重要,主要負責算術和邏輯運算。相對控制單元而言,運算器接受控制單元的命令而進行動作,即運算單元所進行的全部操作都是由控制單元發出的控制信號來指揮的。
#
存儲單元
存儲單元包括CPU片內緩存和寄存器組,是CPU中暫時存放數據的地方,里面保存著那些等待處理的數據,或已經處理過的數據,CPU訪問寄存器所用的時間要比訪問內存的時間短。采用寄存器可以減少CPU訪問內存的次數,從而提高了CPU的工作速度。但因為受到芯片面積和集成度所限,寄存器組的容量不可能很大。
相對于控制單元和存儲單元,CPU的計算單元在整個結構中占比較少,故而相對于大規模并行計算能力,CPU更擅長于邏輯控制、串行運算。
下圖展示了一個基礎的CPU架構。以個人電腦的CPU為例,CPU 往往與內存 (RAM)、硬盤驅動器和 NIC(網絡接口控制器)相連,如果你想要打游戲或者處理圖像/視頻,那就需要添加GPU;如果想要更快地訪問內存,那可以選擇添加 SSD。
| CPU架構,來源:StatusNeo
普通個人電腦中的 CPU往往在4到8核,頻率在2到3GHz。數據中心的 CPU 往往有更多的核心和更高的時鐘速度。CPU 的核心較少但功能強大,而GPU可以有很多核心,但在時鐘速度方面的能力更弱。
GPU
GPU——Graphics Processing Unit,圖形處理器,跟它的名字一樣,GPU最初是用在個人電腦、游戲機和一些移動設備上運行繪圖運算工作的微處理器。
理解 GPU 和 CPU 之間區別的一種簡單方式是比較它們如何處理任務。
CPU 由專為順序串行處理而優化的幾個核心組成,而 GPU 則擁有一個由數以千計的更小、更高效的核心組成的大規模并行計算架構。
GPU的構成相對簡單,有數量眾多的計算單元和超長的流水線,特別適合處理大量的類型統一的數據。
| GPU微架構示意圖,來源:網絡
當涉及算術運算和邏輯運算等常規計算時,通常是CPU更快,但是當涉及到大型矩陣乘法和并行算法時,GPU 排在第一位。GPU 擁有數千個內核并行進行運算,這些內核的時鐘速度較低或內核較弱,但在并行計算中效率很高,并且每個核心都有自己的 ALU。
不過GPU不能單獨工作,需要CPU的協同處理。
GPU的工作大部分計算量龐大,但沒什么技術含量,而且要重復很多很多次。當CPU需要大量的處理類型統一的數據時,就可以調用GPU進行并行計算。
盡管GPU叫圖形處理器,但它并不是只能處理圖像。
GPU雖然是為了圖像處理而生,但在結構上并沒有專門為圖像服務的部件,只對CPU的結構進行了優化與調整。
GPU基于大吞吐量設計,擁有更多的ALU,適合對密集數據進行并行處理,擅長大規模并發計算,因此GPU也被應用于深度學習、神經網絡和人工智能等需要大規模并發計算場景。
GPU可以被認為是一種較通用的芯片。
| GPU架構,來源:StatusNeo
FPGA
FPGA——Field Programmable Gate Array,現場可編程門陣列,本質上它是一種硬件,可以根據用戶的需要進行多次編程。
簡單地說,FPGA可以用來實現任何邏輯功能。與GPU或 ASIC(Application Specific Integrated Circuit,專用集成電路)不同,FPGA 芯片內部的電路不是硬蝕刻的——它可以根據需要重新編程。這種能力使 FPGA 成為 ASIC 的絕佳替代品,不過ASIC 通常需要較長的開發時間和大量的設計和制造投資。
| FPGA架構,來源:網絡
與 GPU 相比,FPGA 可以在需要低延遲的深度學習應用中提供卓越的性能。可以對 FPGA 進行微調,以平衡功率效率和性能要求。當應用程序需要低延遲和小批量時,FPGA 可以提供優于 GPU 的性能優勢。
DPU
DPU—— Data Processing Unit ,數據處理單元,DPU是面向數據中心的專用處理器。
在計算架構中,CPU 具有多重職責,例如運行應用程序、執行計算,同時它還扮演著數據流量控制器的角色,在 GPU、存儲、FPGA和其他設備之間移動數據,因此 CPU 更加以計算為中心。
隨著數據中心建設、網絡帶寬和數據量急劇增長,由于CPU性能增長速度放緩,為了尋求效率更高的計算芯片,DPU由此產生。
DPU解決的是大流量網絡數據包處理占用CPU問題。
有人說,DPU正在取代CPU,建立以數據為中心的計算架構。
| DPU架構,來源:StatusNeo
CPU用于通用計算,GPU用于加速計算,而DPU則進行數據處理。
DPU和CPU最大的區別是,CPU擅長一般的計算任務,而DPU更擅長基礎層應用任務,比如網絡協議處理、交換路由計算、加密解密、數據壓縮等等。
簡單來說,CPU做不好,GPU做不了的那些任務,交給DPU就完事兒了。
DPU并非單一芯片,而是一塊SoC(System On Chip,片上系統)芯片,一個DPU一般包含一個CPU、NIC和可編程數據加速引擎。這使得 DPU 具有CPU的通用性和可編程性,同時專門針對網絡數據包、存儲請求或分析請求進行高效處理。
一個高性能、軟件可編程的多核 CPU,通常基于廣泛使用的 Arm 架構,與其他 SoC 組件緊密耦合。
一種高性能網絡接口,能夠解析、處理數據,并有效地將數據傳輸到GPU和CPU。
一組豐富的靈活、可編程的加速引擎,可以卸載和提高人工智能和機器學習、零信任安全、網絡和存儲等應用程序的性能。
DPU 可以是基于 ASIC 的、基于FPGA 的或基于SoC 的。由于以數據為中心的計算的使用增加,DPU 越來越多地用于數據中心、大數據、安全和人工智能/機器學習/深度學習等場景。
如果說CPU是計算生態的底座、主力芯片的基石,GPU是從圖形處理到數據處理芯片的蛻變,那么DPU則是因數據中心而生的芯片。
DPU能夠助力數據中心更高效的應對多元化的算力需求。
未來DPU也將與 CPU 、 GPU 形成新的“鐵三角”,徹底顛覆數據中心的運算模式。
審核編輯:劉清
-
gpu
+關注
關注
28文章
4740瀏覽量
128949 -
DPU
+關注
關注
0文章
358瀏覽量
24181 -
硬盤驅動器
+關注
關注
0文章
34瀏覽量
10490 -
中央處理器
+關注
關注
1文章
124瀏覽量
16523 -
NIC
+關注
關注
0文章
23瀏覽量
12425
原文標題:有了CPU、GPU,為啥還需要DPU?
文章出處:【微信號:SDNLAB,微信公眾號:SDNLAB】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論