最近阿里的云數(shù)據(jù)庫拼命在說計(jì)算和存儲(chǔ)分離架構(gòu)設(shè)計(jì)的優(yōu)勢,然而,在底層硬件設(shè)計(jì)創(chuàng)新中,存儲(chǔ)和計(jì)算正在拼命想膩歪在一起,在存和算的概念中,究竟能組的CP有多少種,什么才是真正的存算一體呢?
先來說一下存儲(chǔ)和計(jì)算。
在馮諾依曼體系中,計(jì)算和存儲(chǔ)是分開的,想要輸出結(jié)果,就要完成三步走——存儲(chǔ),計(jì)算,以及兩者之間通信,也就是數(shù)據(jù)搬運(yùn)。
存儲(chǔ)分為三個(gè)層級,高性能小容量的SRAM,大容量低性能的SSD,以及處于兩者之間的DRAM內(nèi)存。
第一個(gè)是CPU/GPU/SOC里的緩存(SRAM),它連接計(jì)算模塊,它的讀寫速度最快,能自動(dòng)執(zhí)行存儲(chǔ)操作,非??焖俚刈黾臃ㄓ?jì)算,SRAM的容量越大自然計(jì)算能力也越強(qiáng)。
但是,SRAM容量通常非常有限,因?yàn)橐坏┟娣e做的越大,成本會(huì)越高,速度也越慢,散熱設(shè)計(jì)要求也越高,經(jīng)過各種極致的創(chuàng)新過后,如今最新的一些高端CPU的L3 Cache最大可以做到200多兆,L1和L2 Cache還是很小。
于是,只能退而求其次,讓更多數(shù)據(jù)被轉(zhuǎn)存到距離計(jì)算模塊較遠(yuǎn)的內(nèi)存上,也就是DRAM之類的內(nèi)存里。
從內(nèi)存(DRAM)里讀取數(shù)據(jù),相比緩存速度慢了百倍到千倍,這還可以接受,比較嚴(yán)重的問題是,當(dāng)面積大了之后,功耗也會(huì)提高。
于是,提升單位面積下的內(nèi)存存儲(chǔ)密度就顯得越發(fā)重要了,發(fā)展的實(shí)踐證明,現(xiàn)在DRAM內(nèi)存在提升到單條16G之后也越發(fā)吃力,再繼續(xù)提升的話,一方面制作成本會(huì)更高,另一方面,遭遇數(shù)據(jù)泄露或破壞的風(fēng)險(xiǎn)也在增加。
看來內(nèi)存也就能做到這里了,接下來怎么辦呢?接下來就得看容量更大的存儲(chǔ)器(SSD)了,它的容量大,但性能更低,存儲(chǔ)(SSD)速度又比內(nèi)存慢了10倍以上。CPU要讀數(shù)據(jù),一路從存儲(chǔ)器走過來,花上的時(shí)間可能萬倍于從SRAM找數(shù)據(jù)。
有統(tǒng)計(jì)表明,做加法和乘法的運(yùn)算器所消耗的功耗其實(shí)很低,大部分功耗都花在了存儲(chǔ)本身的讀取,思考這一問題能做什么有意思的事情呢?比如我們可以思考,如何集成存算功能,提升帶寬和密度,進(jìn)一步打破存儲(chǔ)瓶頸。
業(yè)內(nèi)有這幾種技術(shù)方向:
第一種,近內(nèi)存計(jì)算(NMC)。“捆綁”緩存+內(nèi)存,通常會(huì)選用3D封裝,利用TSV(硅通孔技術(shù))實(shí)現(xiàn)垂直通信,但成本高,不同型號的芯片帶還要匹配大小,進(jìn)行預(yù)設(shè)計(jì)和流片。在以上工作的基礎(chǔ)之上,還要考慮通用性問題,它適用于AI,機(jī)器學(xué)習(xí)和數(shù)據(jù)中心等規(guī)模型應(yīng)用需求。
另一種是2.5D封裝,主流技術(shù)是HBM(高帶寬內(nèi)存),與平面板級連線不同,加入了interposer這種特殊有機(jī)材料(線寬,節(jié)點(diǎn)間距優(yōu)于電路板)作為中間轉(zhuǎn)接層,它像一個(gè)有底座的硅芯片,和堆樂高同理,CPU周邊相當(dāng)于增加了很多“凹槽”,連接多個(gè)HBM2(DRAM芯片)堆棧(可以采用更便宜的90-130納米芯片制程工藝),實(shí)現(xiàn)高密度和高帶寬。
第二種,存儲(chǔ)級內(nèi)存(SCM)。常見的是由英特爾和美光推出的3D Xpoint,基于相變存儲(chǔ)技術(shù),速度介于SSD和內(nèi)存之間,目前可以和DRAM配合使用,適用于規(guī)模型應(yīng)用場景。
第三種,近存儲(chǔ)計(jì)算(NSC)。它是為了解決存儲(chǔ)器距離計(jì)算模塊太遠(yuǎn),讀取最花時(shí)間的問題。
SSD主要由閃存顆粒組成,需要控制器對其進(jìn)行平均擦寫管理,實(shí)現(xiàn)擦寫均衡,于是有企業(yè)將控制器加上計(jì)算功能,或者讓擁有計(jì)算模塊的FPGA來處理數(shù)據(jù)并且充當(dāng)閃存控制器,總之,就是不通過CPU進(jìn)行讀取計(jì)算,而是直連存儲(chǔ)器和計(jì)算,以此提升計(jì)算效率。
第四種,存內(nèi)計(jì)算(IMC)。它利用存儲(chǔ)器的單元模擬特性做計(jì)算,這是真正的在存儲(chǔ)器內(nèi)進(jìn)行的計(jì)算。
CPU是通過10做二進(jìn)制邏輯計(jì)算,而存內(nèi)計(jì)算則是利用存儲(chǔ)器內(nèi)電阻特性進(jìn)行計(jì)算,不只是用來區(qū)分電阻高低,而是通過電阻值來區(qū)分多種狀態(tài),電壓和電阻都是變量,利用歐姆定律,電壓除以電阻進(jìn)行計(jì)算,輸出的結(jié)果就是電流,僅僅用一個(gè)晶體管就可以完成一次乘法計(jì)算過程。
存內(nèi)計(jì)算(IMC)帶來的改變和突破非常巨大,如果存內(nèi)計(jì)算(IMC)流行起來,那么以后理論上就能以存儲(chǔ)容量來作為計(jì)算能力的度量單位了。
如此具有突破性的技術(shù)都有誰在研究呢?國外有許多公司在研究,在國內(nèi),也有包括知存科技,恒爍半導(dǎo)體,杭州閃億,新憶,后摩智能等企業(yè),目前有部分企業(yè)的產(chǎn)品已經(jīng)進(jìn)入了實(shí)踐應(yīng)用階段。
內(nèi)存的高密度發(fā)展道路已經(jīng)走不通了,而近內(nèi)存計(jì)算是一種可行解。
三星,SK海力士主導(dǎo)的HBM存儲(chǔ)技術(shù)正在持續(xù)升級,未來隨著DRAM與存儲(chǔ)器之間的價(jià)格和速度差距不斷縮小,圍繞DRAM和SRAM的近內(nèi)存計(jì)算更符合主流應(yīng)用需求,而2.5D NAND是處于過渡期的最優(yōu)選。
IMC實(shí)際上是計(jì)算型存儲(chǔ)的典型標(biāo)準(zhǔn),是未來趨勢,但目前還要面臨可靠性和密度問題,需要更多的技術(shù)驗(yàn)證和行業(yè)應(yīng)用實(shí)踐應(yīng)用,但它所描繪的前景則非常誘人,是一種有望顛覆馮諾依曼架構(gòu)系統(tǒng)的特殊存在。
2021年7月29日-30日,2021全球閃存峰會(huì)將在杭州召開,屆時(shí)我們設(shè)置了存算一體化技術(shù)論壇,特邀知存科技創(chuàng)始人兼CEO王紹迪作為論壇出品人,論壇將圍繞存儲(chǔ)為中心計(jì)算的技術(shù)演進(jìn)方向以及適用的應(yīng)用實(shí)踐展開分享,敬請期待!