背景
數(shù)據(jù)中心采用FPGA做加速器已經(jīng)成為主流,像MS的Catapult,Amazon基于Xilinx FPGA的AWS F1,Intel的Altera,Baidu公司等。數(shù)據(jù)中心具有大規(guī)模并行數(shù)據(jù)處理,高數(shù)據(jù)吞吐量,低延時(shí),能效高等特點(diǎn)。但是存在兩個(gè)問題,第一個(gè)是軟件的問題,軟件移植和保證一定加速的工作負(fù)荷;第二個(gè)是硬件的問題,配備眾核處理器,25-100G的網(wǎng)絡(luò)接口卡,一些DRAM/HBM通道,容易時(shí)序收斂等。
現(xiàn)介紹一種GRVI Phalanx FPGA加速器結(jié)構(gòu)。其中,GRVI是一種基于FPGA的有效的RISC-V運(yùn)算單元,即RISC-V RV321軟處理器核;Phalanx是一種并行FPGA加速器框架,由PE集群,SRAM,加速器,DRAM,I/O控制器等組成,減少在開發(fā)和管理FPGA加速器時(shí)所需付出的消耗和努力;還需要Hoplite NoC,它是一種基于FPGA優(yōu)化的定向2D環(huán)形片上網(wǎng)絡(luò)系統(tǒng),用到的技術(shù)還有局部內(nèi)存共享和全局信息流通等。
圖.1 GRVI運(yùn)行單元
先看一下GRVI Phalanx的1680個(gè)核的運(yùn)算單元,運(yùn)算單元是基于32位的RISCV微處理器架構(gòu),在一個(gè)多核心的芯片中,去掉了每一個(gè)核心中的不必要的資源,目的是減小每一個(gè)單元的芯片面積。因此,每一個(gè)GRVI處理單元都是三級(jí)流水的,采用用戶模式下的RV321核心,減掉了部分不必要的位和其他模塊,具體結(jié)構(gòu)如圖.1所示。每個(gè)GRVI運(yùn)行單元需要320個(gè)LUT,而且能夠跑在375MHz的頻率下,看到博主Jan Gray所設(shè)計(jì)的眾核處理器芯片(詳情見“GRVI Phalanx: A Massively Parallel RISC-V FPGA Accelerator Framework: A 1680-core, 26 MB SRAM Parallel Processor Overlay on Xilinx UltraScale+ VU9P”),其特點(diǎn)是每一個(gè)GRVI運(yùn)行單元都是手動(dòng)排布的,將單個(gè)處理器單元在Xilinx FPGA的UltraScale+的架構(gòu)下重復(fù)1680次,并將生成的文件下載到板卡Xilinx VCU118 Eval Kit上的Virtex UltraScale+VU9P FPGA芯片中。
將一大堆的處理器核心一股腦的扔進(jìn)Xilinx 的Virtex UltraScale+ VU9P FPGA芯片中聽起來很有趣,但是如果不給每一個(gè)核心都匹配一些內(nèi)存的話,也不能給這么多核心的處理器核心委以重任。因此,每一個(gè)在集群中的GRVI處理器單元都會(huì)配備8個(gè)RISCV處理器核心和32到128 Kbyte的RAM,以及另外的一些加速器。整個(gè)加速芯片的功耗為31-40W,單個(gè)核心的功耗為24mW,最大的吞吐量是0.4TIPS,內(nèi)存帶寬能夠達(dá)到2.5TB/s。同一個(gè)芯片中的核心集群之間都會(huì)相互連接,芯片和外部的I/O端口的通信是通過HOPLITE路由連接到一個(gè)NOC(片上網(wǎng)絡(luò))來實(shí)現(xiàn)的,NOC節(jié)點(diǎn)之間的數(shù)據(jù)通信速度可達(dá)100Gbps,HOPLITE路由是一個(gè)經(jīng)過FPGA優(yōu)化的定向路由,是專門為2D環(huán)形網(wǎng)絡(luò)所設(shè)計(jì)的,如圖2所示。
圖.2 一個(gè)400MHz的4*6*256 Hoplite NoC,100 Gb/s links
GRVI Phalanx集群單元如圖3所示,軟件部分需要有多線程的C++的編譯器,信息傳遞的執(zhí)行時(shí)間在RISC-V的RV321MA GCC編譯器中分層排布,為的是在將來的計(jì)劃中支持像OpenCL,P4和其他的一些編程工具。
圖.3 GRVI Phalanx集群
還有其他的案例,擁有80個(gè)核心的GRVI Phalanx被實(shí)例化到可編程的Zynq Z-7020 SOC中,此案例是在Digilent PYNQ-Z1開發(fā)板中作為教學(xué)所用的一種。
更令人驚喜的是,硬件開發(fā)云端的出現(xiàn),讓硬件設(shè)計(jì)人員不用買昂貴的開發(fā)板也可以進(jìn)行開發(fā)工作,只需要?jiǎng)觿?dòng)自己觸手可及的鼠標(biāo)和鍵盤,通過亞馬遜的平臺(tái):Amazon AWS EC2 F1.2XL and F1.16XL instances,找到相關(guān)的Verilog芯片開發(fā)代碼就可以進(jìn)行自己的創(chuàng)作了。
總結(jié)
數(shù)據(jù)中心的加速器要從軟件和硬件上同時(shí)進(jìn)行,軟件是要有加速算法,需要考慮算法的可移植性和穩(wěn)定性;硬件方面可以使用文中分析的多核處理器的解決方案,當(dāng)然要考慮軟件移植性、編譯工具的易用性、硬件本身的設(shè)計(jì)困難和硬件的性能、功耗、易維護(hù)性等方面。Xilinx的FPGA在數(shù)據(jù)中心的并行運(yùn)算中扮演著一個(gè)重要的角色。
-
FPGA
+關(guān)注
關(guān)注
1629文章
21729瀏覽量
602986 -
Xilinx
+關(guān)注
關(guān)注
71文章
2167瀏覽量
121302
原文標(biāo)題:驚呆! 數(shù)據(jù)中心加速神器---1680核處理器+FPGA !
文章出處:【微信號(hào):FPGA-EETrend,微信公眾號(hào):FPGA開發(fā)圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論