說起 FPGA,很多人可能都不熟悉,它的英文全稱為 Field Programmable Gate Array,即現(xiàn)場可編程門陣列,也被稱為可編程集成電路。隨著大數(shù)據(jù)以及 AI 的發(fā)展,越來越多的數(shù)據(jù)中心引入 FPGA 作為 CPU 的加速器以提高數(shù)據(jù)處理速度,提升服務(wù)器性能,因此降低 FPGA 的能耗也成為數(shù)據(jù)中心里新的挑戰(zhàn)。本文介紹了其中一種降低 FPGA 能耗的方法——基于自測量的 FPGA 動態(tài)電壓調(diào)節(jié)解決方案。本文根據(jù)嘉賓的直播分享整理而成。
動態(tài)電壓調(diào)節(jié)(DVS)作為常見的數(shù)字芯片節(jié)能技術(shù),已經(jīng)大量應(yīng)用于 CPU 或 GPU 等芯片中。由于 FPGA 獨特的可編程硬件結(jié)構(gòu),它們的片上電路隨應(yīng)用的改變而改變,這為 FPGA 的動態(tài)電壓調(diào)節(jié)帶來了極大的困難。來自多倫多大學(xué)電子系的在讀博士生趙舒澤為此提出了一種新的改進方案,有效地降低了芯片能耗并提升了性能。
趙舒澤,浙江大學(xué)電氣工程學(xué)院電力電子方向?qū)W士,多倫多大學(xué)電子系碩士,多倫多大學(xué)電子系博士在讀。研究方向為 LED 光通信,諧振變流器,變流器的數(shù)字控制,以及電力電子在數(shù)據(jù)中心的應(yīng)用。
分享提綱:
-
FPGA的簡介,F(xiàn)PGA的片上結(jié)構(gòu)
-
FPGA的能耗
-
基于自測量的FPGA動態(tài)電壓調(diào)節(jié)(DVS)
分享內(nèi)容:
大家好,我是趙舒澤,今天分享的內(nèi)容是硬件方面我們的一些研究成果。接下來首先為大家簡單介紹一下數(shù)據(jù)中心的結(jié)構(gòu)以及能耗的問題,然后是關(guān)于 FPGA 的簡介以及 FPGA 在能耗上的挑戰(zhàn)。最后為大家介紹的是我們團隊的研究成果,即如何在 FPGA 上實現(xiàn)動態(tài)電壓的調(diào)節(jié)。
數(shù)據(jù)中心的能耗
近十幾年,隨著信息技術(shù)的發(fā)展,尤其是最近非常火的大數(shù)據(jù)、云計算、人工智能等這些方向的進展,數(shù)據(jù)中心作為這些實現(xiàn)這些應(yīng)用背后的大腦,無疑也是經(jīng)歷了高速發(fā)展。隨著數(shù)據(jù)中心的集成度,計算能力的提高,數(shù)據(jù)中心的能耗也一直是一個非常棘手的問題。
以美國為例,2013 年數(shù)據(jù)中心的總能耗估計是 91 太瓦時(TWh),相當(dāng)于一個中等國家(例如菲律賓)全國的總用電量。要解決能耗問題,首先要看一下一個數(shù)據(jù)中心有哪些用電負載。
可以大致總結(jié)為四類:IT 負載,包括服務(wù)器,存儲設(shè)備,網(wǎng)絡(luò)設(shè)備,交換機等;電能傳輸與轉(zhuǎn)化,包括變壓器,電纜,電源,UPS,配電單元等帶來的損耗;冷卻系統(tǒng),包括空調(diào),水冷系統(tǒng),風(fēng)扇等。其他,包括照明,辦公室用電等。
數(shù)據(jù)中心的結(jié)構(gòu)
「ATS 自動轉(zhuǎn)化開關(guān)」的目的是:在電網(wǎng)出現(xiàn)問題時,可以自動轉(zhuǎn)換到柴油發(fā)電機組,這樣可以保證負載端不會出現(xiàn)斷電的情況。
「中心 UPS」有兩方面的作用。一方面可以保證輸送高質(zhì)量的電能給IT負載,另一方面,在出現(xiàn)斷電的情況下,柴油發(fā)電機還需要一定的啟動時間,這段空檔由 UPS 來暫時供電,保證負載不會出現(xiàn)斷電的情況。
數(shù)據(jù)中心的能耗結(jié)構(gòu)
每個數(shù)據(jù)中心的能耗其實很不同,這個圖只是一個平均值。IT 負載其實只占到 36% 的能耗,電能傳輸與轉(zhuǎn)化大概占 11%。其他有一半能耗都是被冷卻系統(tǒng)用掉的。也就是說為了冷卻 IT 負載和電能傳輸與轉(zhuǎn)化所產(chǎn)生的熱能,需要消耗等量甚至更多的能量來冷卻數(shù)據(jù)中心,以保證正常工作。
如何降低IT負載中FPGA的能耗
FPGA 的中文名稱為現(xiàn)場可編程邏輯門陣列。FPGA 在過去大量應(yīng)用在消費電子產(chǎn)品,無線基站,軍事,醫(yī)療等高端應(yīng)用場合里,隨著大數(shù)據(jù),人工智能的快速發(fā)展,我們對服務(wù)器的響應(yīng)速度的要求不斷提高,CPU 已經(jīng)被證明不太適合進行大量浮點運算,而 FPGA 的片上電路是可編程的,開發(fā)時間比較短,可以靈活的部署并且可以實現(xiàn)大規(guī)模的并行計算。由于這些原因,它開始被大量部署在數(shù)據(jù)中心里作為 CPU 的加速器,幫助數(shù)據(jù)處理以及計算,包括幫助網(wǎng)絡(luò)通信等等。
FPGA的優(yōu)勢和劣勢
對于 CPU/MCU 這樣基于指令集的芯片來說,F(xiàn)PGA 有更大的靈活性,另外由于它是可編程的,可用最簡單的硬件架構(gòu)來實現(xiàn)所需要的邏輯功能,因此更節(jié)省能源。
缺點是,在和特種芯片 ASIC 相比,速度較慢,能耗更高。ASIC 芯片內(nèi)部架構(gòu)雖較為簡單,不可以硬件編程,只能用來專門處理某一種功能,靈活性最差,但是在執(zhí)行某一種任務(wù)上的效率最高。
FPGA 芯片內(nèi)部架構(gòu)稍微復(fù)雜一些,可以硬件編程,因而可以通過硬件編程語言來改變內(nèi)部芯片的邏輯結(jié)構(gòu),從而能夠在提供一定靈活性的同時,還能夠保證較高的處理效率,算是在靈活性和性能上取了個折中。
FPGA的片上結(jié)構(gòu)
FPGA的發(fā)展
數(shù)字IC的功耗
動態(tài)電壓調(diào)節(jié)
FPGA的關(guān)鍵路徑
每個應(yīng)用都有獨特的關(guān)鍵路徑
FPGA的應(yīng)用流程
FPGA的的動態(tài)電壓調(diào)節(jié)
我們的思路是: FPGA 有不確定的片上結(jié)構(gòu),但是可以重復(fù)燒制。我們利用這個特點,把每一次的關(guān)鍵路徑都提前提取出來,把這些關(guān)鍵路徑單獨燒制在 FPGA 上,先測量這些關(guān)鍵路徑的延遲有多少,測完后把這些數(shù)據(jù)放在片外的存儲器里。之后再將FPGA燒入用戶的應(yīng)用,動態(tài)電壓調(diào)節(jié)的控制模塊會從剛測到的數(shù)據(jù)中找到當(dāng)前溫度和頻率下最低的供電電壓是多少,然后電源按照這個電壓來給 FPGA 來供電。
改進后的應(yīng)用流程
完整的流程圖解讀請看視頻回放。
實驗裝置
實驗結(jié)論