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