將計算過程移步至內(nèi)存里,這家公司有什么“騷操作”?
關(guān)于這個計算世界的一個關(guān)鍵的未來要素是移動數(shù)據(jù)。移動數(shù)據(jù)需要功率,以至于從內(nèi)存中調(diào)用數(shù)據(jù)要比實(shí)際對其進(jìn)行“計算”消耗更多的功率。這就是我們有緩存的原因,但即使有緩存,也需要對CPU進(jìn)行廣泛的管理。對于簡單的操作,如位轉(zhuǎn)移或和操作,目標(biāo)是將計算能力轉(zhuǎn)移到主DRAM本身,這樣它就不必來回穿梭。今年在Hot Chips, UPMEM是第一批展示新技術(shù)的公司之一。
對于任何已經(jīng)完成任何形式的通用計算的人來說,通過算法推送一堆輸入來獲得結(jié)果,對于編寫代碼的人來說,通常有兩個高級的心理階段需要克服:首先是讓它工作,其次是優(yōu)化它。算法需要產(chǎn)生正確的結(jié)果,越快越好 - 慢速正確的結(jié)果通常是無用的,而快速的錯誤的結(jié)果也是無用的。如果能夠以更低的功率完成,那么也會減少開銷。
In-Memory Processing或“Processing In-Memory”背后的想法是,當(dāng)內(nèi)存仍在DRAM中時,應(yīng)該完成一些簡單的整數(shù)或浮點(diǎn)運(yùn)算 - 無需將其推送到CPU操作,然后將其發(fā)回。如果數(shù)據(jù)可以保留在那里并進(jìn)行更新,則可以節(jié)省時間和功耗,而不會影響結(jié)果?;蛘撸绻Y(jié)果被發(fā)送回主存儲器并且最終的XOR應(yīng)用于存儲器中的數(shù)據(jù),則可以減少CPU上的計算。這可以釋放主CPU核心來執(zhí)行其他與計算相關(guān)的事情,或者如果它是一個限制因素,則會減少有效內(nèi)存帶寬。
UPMEM所做的是在DRAM工藝節(jié)點(diǎn)上開發(fā)內(nèi)置于DRAM芯片本身的數(shù)據(jù)處理單元(DPU)。每個DPU可以訪問64 MB的DRAM,并且相當(dāng)于該內(nèi)存的1 GB / s帶寬。DPU構(gòu)建在一個干凈的32位ISA上,具有大量優(yōu)化功能,例如0循環(huán)條件jmps,組合SHIFT + X指令(如SHIFT + ADD或SHIFT + SUB),基本邏輯指令,SHIFT和rotate指令。編程模型使得基于c語言的庫能夠處理所有常見問題,UPMEM預(yù)計大多數(shù)應(yīng)用程序需要幾百行代碼,少數(shù)人組成的團(tuán)隊(duì)只需2-4周就可以更新軟件。
UPMEM所報的大數(shù)字包括更好的TCO、更好的ROI,以及潛在的100億美元目標(biāo)市場。我們會在適當(dāng)?shù)臅r候討論這些。
(小編個人更喜歡PIM-DIMM這個名字)
UPMEM提出的是一種類似于DDR4 RDIMM的標(biāo)準(zhǔn)產(chǎn)品,每個64MB的內(nèi)存都可以訪問它的一個DPU。DPU內(nèi)置于DRAM本身,使用內(nèi)存制造節(jié)點(diǎn)。例如,UPMEM正在宣傳它正在制作一個4 Gb DDR4-2400芯片,用于嵌入8個DPU 512 MB的模塊, DPU以500 MHz運(yùn)行。UPMEM計劃將這4個Gb芯片中的16個放入單個DDR4 RDIMM模塊中,提供8 GB模塊,內(nèi)置128個DPU。
目標(biāo)是最終生產(chǎn)128 GB模塊,總共2048個DPU。在DPU與其64 MB內(nèi)存之間的有效1 GB / s帶寬下,這意味著DPU與內(nèi)存之間的有效帶寬為2 TB / s。由于DPU的工作方式,這是必需的,這將在下面解釋。
處理器和技術(shù)已獲得專利,但UPMEM表示,他們正在與內(nèi)存供應(yīng)商合作開發(fā)20nm級工藝。添加DPU內(nèi)核可以增加非常小的裸片面積,并且可以在2-3個金屬層內(nèi)啟用,因?yàn)檫壿嫷拿芏刃∮谇把剡壿媽?shí)現(xiàn)的密度。與領(lǐng)先的CPU實(shí)現(xiàn)相比,我們的想法是實(shí)現(xiàn)10倍的總能效和可擴(kuò)展性。
目前,UPMEM為客戶提供軟件模擬和硬件FPGA驗(yàn)證模擬器 - 實(shí)際上,感興趣的各方可以在AWS f1.16x大型實(shí)例上模擬UPMEM平臺。實(shí)際的PIM-DRAM模塊樣品將在第三季度向高端客戶發(fā)貨,隨著更多公司對此感興趣并加入,我們計劃在明年繼續(xù)推廣。UPMEM引用性能示例表示,他們已經(jīng)看到基因組模式匹配的速度提高了22x-25x,數(shù)據(jù)庫索引搜索的吞吐量提高了18倍,延遲為原來的1/100,索引搜索應(yīng)用程序的TCO提高了14倍。
在成本方面,UPMEM沒有說明計劃以多少價格出售其技術(shù),但與其他解決方案相比,UPMEM有望成為一個邊際成本。在一次演示中,該公司表示,他們的解決方案可以用一個400美元的增強(qiáng)內(nèi)存解決方案替代一個潛在的40000美元的服務(wù)器,并指出使用PIM在軟件許可、數(shù)據(jù)中心空間和功耗/效率方面產(chǎn)生了連鎖反應(yīng)。
UPMEM提供了一些關(guān)于電力消耗的數(shù)據(jù)。在這張幻燈片中,該公司比較了兩臺服務(wù)器,一臺帶有pimm - dram,另一臺沒有。在這種情況下,“DRAM到處理器的64位操作數(shù)”召回需要在常規(guī)服務(wù)器上運(yùn)行3000個pJ,將數(shù)據(jù)從DRAM中取出,并傳遞到緩存中,而在PIM-DRAM上,只需將數(shù)據(jù)移動到DPU上,同樣的操作只需要150個pJ的能量。DPU上的操作本身實(shí)際上需要2倍的功率(20 pJ與10 pJ相比),但是總的功率效率增益是170 pJ vs 3010 pJ,或者略低于20x。
這張幻燈片指出的一件可能令人困惑的事情是服務(wù)器的功耗——常規(guī)服務(wù)器列出的功耗只有300W,但是PIM解決方案的功耗高達(dá)700W。這是因?yàn)樵赨PMEM的解決方案下,每個DRAM模塊的功耗將會增加。
UPMEM提出的第一個產(chǎn)品模塊是前面提到的8 GB DDR4-2400模塊,其中128個DPU各自覆蓋64 MB內(nèi)存并以500 MHz運(yùn)行。對于單個4 Gb裸片(其中16個在8 GB模塊中,18個用于RDIMM ECC),我們?nèi)匀惶幱? cm2的常規(guī)裸片尺寸,但每個芯片所需的功率約為1.2瓦。
如果我們研究所有16/18芯片,我們可以看到每個8GB的模塊將是19.2-21.6瓦。對于DRAM來說,這是一個很大的功耗,而且實(shí)際上超過了DDR4插槽的額定范圍。從這個角度來看,Intel的512GB Optane模塊有一個18w的運(yùn)行模式,服務(wù)器可以冷卻到18w,但是也可以低到12w。UPMEM并沒有說明它是否能夠通過降低DPU頻率來降低每個模塊的功率。
UPMEM的目標(biāo)是用PIM-DRAM模塊替換服務(wù)器中的DRAM模塊。該公司表示,DDR4接口并不適合這類事情,但他們已經(jīng)解決了這個問題。在一份簡報中,該公司指出,目前至少需要為一個操作系統(tǒng)安裝非PIM-DRAM。