《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 業(yè)界動(dòng)態(tài) > 華中科技大學(xué)馮丹:支持近數(shù)據(jù)處理的存儲(chǔ)技術(shù)

華中科技大學(xué)馮丹:支持近數(shù)據(jù)處理的存儲(chǔ)技術(shù)

2019-09-15

640.webp (20).jpg

  馮丹表示,支持近數(shù)據(jù)處理的固態(tài)盤(pán)技術(shù)以及存算一體的憶阻器技術(shù)為解決“存儲(chǔ)墻”問(wèn)題提供了全新的路徑,并從三個(gè)方面進(jìn)行了闡述。

  以下為演講實(shí)錄:

  謝謝,我給大家分享一下我們做的一些工作,這是近數(shù)據(jù)處理存儲(chǔ)技術(shù),主要從三個(gè)方面給大家分享。

  應(yīng)該說(shuō),大數(shù)據(jù)時(shí)代第一個(gè)對(duì)存儲(chǔ)有挑戰(zhàn),第二個(gè)對(duì)數(shù)據(jù)處理也存在挑戰(zhàn),存儲(chǔ)方面據(jù)統(tǒng)計(jì)增長(zhǎng)率已經(jīng)達(dá)到了36%,2018年全球的數(shù)據(jù)總量是33ZB,預(yù)計(jì)到2025年將達(dá)到175ZB。但是大量的數(shù)據(jù)實(shí)際上除了要存之外,更多的要做處理,比如說(shuō)大數(shù)據(jù)的5V特征——Volume(體量)、Velocity(速度)、Variety(多樣性)、Veracity(準(zhǔn)確性)、Value(價(jià)值), 要求在大量的數(shù)據(jù)中間能夠找到有價(jià)值的數(shù)據(jù)或者說(shuō)發(fā)現(xiàn)有價(jià)值的數(shù)據(jù)做處理。

  處理和存儲(chǔ)之間實(shí)際上發(fā)展的是不平衡的,處理器核每?jī)赡攴槐?,?nèi)存容量每三年才翻一倍。也就是說(shuō),每個(gè)核的內(nèi)存容量每?jī)赡晔菧p少30%,它分配到的內(nèi)存帶寬也大為減少,從而導(dǎo)致處理和存儲(chǔ)之間的差距越來(lái)越大。

  而存儲(chǔ)性能的提升非常有限,從1999年到2017年訪(fǎng)問(wèn)延遲基本上沒(méi)有什么變化,盡管帶寬提升了20倍,容量提升了128倍,這樣就導(dǎo)致處理和存儲(chǔ)之間的發(fā)展非常不平衡。從性能的角度來(lái)看,據(jù)分析大約50%處理器流水線(xiàn)中的停頓是由數(shù)據(jù)訪(fǎng)問(wèn)造成的,有的是數(shù)據(jù)的沖突,有的是因?yàn)閮?nèi)存沒(méi)有命中,所以導(dǎo)致存儲(chǔ)流水停頓問(wèn)題。這就是我們所有說(shuō)的內(nèi)存強(qiáng)的問(wèn)題。還有一個(gè)功耗強(qiáng)的問(wèn)題,據(jù)統(tǒng)計(jì)移動(dòng)設(shè)備中瀏覽網(wǎng)頁(yè)41%的能量花費(fèi)在數(shù)據(jù)訪(fǎng)問(wèn)上,LOAD操作能耗約為ADD指令的115倍。因此,內(nèi)耗強(qiáng)的問(wèn)題也非常突出。

  從閃存內(nèi)部講,16個(gè)通道的閃存構(gòu)成的SSD,理論上來(lái)講內(nèi)部的數(shù)據(jù)的速率可以達(dá)到8.5GB/S,但是把它封裝成為SSD盤(pán)之后,就是SATA接口或者PCIe接口就達(dá)不到這么高的速度,就是2G/S的速度。如果是64個(gè)SSD理論上是可以達(dá)到545個(gè)GB/S的速度,但是掛載在PCIe的總線(xiàn)上,被Host來(lái)訪(fǎng)問(wèn)的話(huà)16個(gè)通道的SSD變成了16GB/S的速度。

  也就是說(shuō),設(shè)備內(nèi)部速度理論上是非常高的,但是通過(guò)層層衰減,性能非常低了,這樣就導(dǎo)致了CPU訪(fǎng)問(wèn)的時(shí)候差距非常大,怎么樣解決這個(gè)問(wèn)題呢?分析一下就是由傳統(tǒng)的馮諾依曼體系結(jié)構(gòu)限制了它。

  傳統(tǒng)的馮諾依曼體系結(jié)構(gòu)導(dǎo)致數(shù)據(jù)一定是要存儲(chǔ)里搬到計(jì)算里,然后算完之后再回去。我們反過(guò)來(lái)想一下,能不能把處理推送到存儲(chǔ)中間去,充分發(fā)揮內(nèi)部帶寬作用呢?

  這個(gè)是傳統(tǒng)的馮諾依曼體系結(jié)構(gòu)數(shù)據(jù)流向存在的問(wèn)題,從而使得過(guò)分的以計(jì)算為中心導(dǎo)致性能差、能耗低,所以新的理念我們能不能實(shí)現(xiàn)以數(shù)據(jù)為中心的體系結(jié)構(gòu),也就是說(shuō)在盡量靠近數(shù)據(jù)的地方來(lái)處理數(shù)據(jù)或者盡量減少數(shù)據(jù)的訪(fǎng)問(wèn)來(lái)完成計(jì)算,也就是所說(shuō)的將處理推送到數(shù)據(jù)中間去或者推送到存儲(chǔ)中間去。

  現(xiàn)在的一些解決方案,為了提高訪(fǎng)存的帶寬也有CPU+GPU+FPGA+TPU,來(lái)使得能夠更多的并行訪(fǎng)存。我們也做了一點(diǎn)工作,在SSD控制器里做了支持近數(shù)據(jù)處理的可重構(gòu)的存儲(chǔ)控制器。

  主要的思路基于可重構(gòu)的FPGA來(lái)實(shí)現(xiàn)硬件的加速,也就是說(shuō)把一些頻繁操作的處理推送到SSD控制器里。第二個(gè)方面圍繞RRAM做了存算融合,也就是CIM方面做了探索,我們做了優(yōu)化的工作今天跟大家分享一下。

  第一個(gè)工作支持可重構(gòu)的近數(shù)據(jù)處理的固態(tài)盤(pán),我們開(kāi)發(fā)了PCIe原形系統(tǒng),用FPGA做,像內(nèi)存條是flash的直卡或者PCM的直卡,我們用來(lái)做實(shí)驗(yàn)的。在控制器中間我們除了做傳統(tǒng)的閃存FTL這些操作之外以及閃存的控制,我們還加了可重構(gòu)的處理的模塊,很多可重構(gòu)的單元,還加上重構(gòu)配置模塊。

  可重構(gòu)的處理單元可以配置成為要加速處理的一些操作,比如說(shuō)來(lái)做數(shù)據(jù)的過(guò)濾操作,要去查詢(xún)一個(gè)數(shù)據(jù),或者操作的一些音節(jié)碼,以及加密的操作等等,可以用可重構(gòu)的單元,通過(guò)FPGA的編程之后用硬件直接實(shí)現(xiàn)加速。將處理推送到存儲(chǔ),離數(shù)據(jù)最近的地方來(lái)做,具體的來(lái)做基于近數(shù)據(jù)處理,我們實(shí)現(xiàn)AES加密的模塊,接收到的數(shù)據(jù)經(jīng)過(guò)可重構(gòu)的近數(shù)據(jù)處理模塊之后再通過(guò)flash的控制器到真正的Facebook中間去。

  具體的實(shí)現(xiàn)包括密鑰的擴(kuò)展模塊,替換模塊等等,也實(shí)現(xiàn)了做壓縮硬件實(shí)現(xiàn),實(shí)現(xiàn)數(shù)據(jù)輸出的數(shù)據(jù)緩存模塊,壓縮運(yùn)算模塊,還有哈希表的模塊,整個(gè)壓縮硬件的實(shí)現(xiàn)。我們實(shí)現(xiàn)之后發(fā)現(xiàn)效果還是不錯(cuò)的。本來(lái)規(guī)劃是1,我們最后搞了0.5,如果用軟件來(lái)加密、解密或者壓縮的,這個(gè)操作用可重構(gòu)的硬件實(shí)現(xiàn)之后的效果,我們可以看到大大地提升了性能,這是我們?cè)诳刂破骼镱^做這些操作可以提升性能。

  真正要實(shí)現(xiàn)可重構(gòu)還有一個(gè)問(wèn)題,我要頻繁的更換FPGA的配置,這個(gè)配置信息傳輸?shù)难舆t,還有配置的延遲也會(huì)影響性能,我怎么樣加速這個(gè)配置,不至于硬件是加速了,但是配置在那兒搞了半天才把它電路換過(guò)來(lái),也會(huì)影響整個(gè)性能,我們也做了相應(yīng)的工作,比如說(shuō)加了一個(gè)緩存,并且對(duì)緩存的調(diào)度算法也進(jìn)行了一定的修改,采用MLFU(配置信息緩存替換算法)進(jìn)行修改之后來(lái)使用,包括加上配置信息的面積到底有多大。

  如果面積小的模塊剔除去,面積大的盡量保留在緩存里頭這樣加快速度。這樣就使得整個(gè)性能比不加改進(jìn)要更好一些,不至于說(shuō)因?yàn)樽雠渲茫每芍貥?gòu)提高了性能,因?yàn)榕渲糜职研阅芙迪氯チ耍允沟谜麄€(gè)不至于出現(xiàn)瓶頸問(wèn)題,這是第一個(gè)工作,可重構(gòu)的近數(shù)據(jù)處理的固態(tài)盤(pán)。

  第二個(gè)工作做存算融合存儲(chǔ)器探索的研究,主編存儲(chǔ)器第一個(gè)方面可以做存儲(chǔ),通過(guò)高組、低組,以及不同的組織狀態(tài)做存儲(chǔ),同時(shí)也可以做邏輯計(jì)算,另外做模擬計(jì)算,我們也把它叫做近似的計(jì)算,主要就可以做矩陣的向量乘法。

  實(shí)際上憶阻器的發(fā)展主要從2008年開(kāi)始,正式了憶阻器之后得到了研究界廣泛的關(guān)注。這是近十年來(lái)相應(yīng)的研究,包括把它用做大容量存儲(chǔ),邏輯計(jì)算,還有近似計(jì)算,也就是做矩陣的計(jì)算,做AI的加速研究的是非常多的。

  這是做AI的加速,既可以做存儲(chǔ),又可以做計(jì)算,陣列的控制模塊通過(guò)變化來(lái)使得達(dá)到是做存儲(chǔ),還是做計(jì)算的目的。比如說(shuō)當(dāng)他做存儲(chǔ)的時(shí)候,他就排除掉一些邏輯。而當(dāng)他做計(jì)算模式的時(shí)候才發(fā)揮作用,同時(shí)也提供編程接口或者是優(yōu)化接口。

  這是在探索怎么樣基于憶阻既做存儲(chǔ),又做計(jì)算這樣的體系結(jié)構(gòu)。未來(lái)我們認(rèn)為除了專(zhuān)用的探索之外,能夠做高性能計(jì)算的加速,也可以做神經(jīng)網(wǎng)絡(luò)計(jì)算的加速,或者是做圖像處理的加速等等這些專(zhuān)用的加速之外,我們也希望探索一些通用的架構(gòu),能夠滿(mǎn)足不同的應(yīng)用需求。也就是說(shuō),通過(guò)可配置的方式能夠滿(mǎn)足只要是我希望能夠在存儲(chǔ)器里頭做計(jì)算的,做存算一體化或者融合的,都可以用這樣的架構(gòu),這是在探索方面。

  另一方面從它真正實(shí)現(xiàn)來(lái)看,研究界非常熱,但很多基于理想的假設(shè)之后做了研究。

  比如說(shuō)器件級(jí)就有這種非線(xiàn)性導(dǎo)致存儲(chǔ)可靠性降低的問(wèn)題,當(dāng)做成陣列形勢(shì)的時(shí)候就有電阻、電流,導(dǎo)致存儲(chǔ)能效下降的問(wèn)題。還有當(dāng)他做大規(guī)模計(jì)算的時(shí)候,多個(gè)陣列之間要做一些直連,會(huì)有誤差的傳遞、累計(jì),從而導(dǎo)致計(jì)算的準(zhǔn)確度下降的問(wèn)題。

  盡管好處是說(shuō)我要做計(jì)算,實(shí)際上很簡(jiǎn)單,我先寫(xiě),把電阻值子放到相應(yīng)的數(shù)字,做矩陣的成價(jià)運(yùn)算,就是加一個(gè)電壓讀過(guò)程就完了,非常快。但是真正實(shí)現(xiàn)起來(lái)就不那么簡(jiǎn)單了。要克服這樣非理想因素的影響,比如說(shuō)單元級(jí)的,非線(xiàn)性組織的變化,還有D2D和C2C變化系,是很理想的直線(xiàn)。

  還有電流、電壓的特性,盡管本身是一個(gè)組織,但實(shí)際上電壓是線(xiàn)性的特點(diǎn)。當(dāng)他作為陣列的時(shí)候,因?yàn)槭枪蚕?,就有電容的?wèn)題,還有連線(xiàn)電阻的問(wèn)題,本來(lái)是一個(gè)小的組織,但是連線(xiàn)上也有電阻,也會(huì)影響他。當(dāng)他做成下面第二個(gè)圖的結(jié)構(gòu)時(shí)候,綠色的線(xiàn)本身是希望加一個(gè)電壓電流走這個(gè)線(xiàn),結(jié)果發(fā)現(xiàn)電流會(huì)像紅色的線(xiàn)到處跑,原因是共享導(dǎo)致。

  還有操作的問(wèn)題,哪些是不能并線(xiàn)操作的,哪些是能并線(xiàn)操作的,這些都是我們?cè)诘讓右鉀Q的,我們就做了一點(diǎn)這樣的工作,盡管上層可以做的很好,可以做各種各樣的運(yùn)算,但真正要實(shí)現(xiàn)起來(lái)首先要解決底層非理想因素的影響。

  我們解決具體的對(duì)象就多機(jī)存儲(chǔ)單元,以及3D的模型,也就是說(shuō)共享的模型。在這個(gè)過(guò)程中間我們發(fā)現(xiàn)做計(jì)算首先要寫(xiě)一個(gè)值,再就是讀一次就出來(lái)了,實(shí)際上我要做大容量的存儲(chǔ)也要解決這樣的問(wèn)題,寫(xiě)的可靠問(wèn)題,以及寫(xiě)的低能耗的問(wèn)題。我們發(fā)現(xiàn)有效電壓在左邊加進(jìn)來(lái)會(huì)有一個(gè)逐漸的衰減,到右上角的時(shí)候衰減是最厲害的,也就是多單不對(duì)稱(chēng)的現(xiàn)象,所以就要做偏壓的操作對(duì)他進(jìn)行補(bǔ)償。

  我們發(fā)現(xiàn)組織變化的時(shí)候高組態(tài)變化線(xiàn)是比較大的,低組態(tài)的變化是小的。如果是傳統(tǒng)的不同高組、低組只是均勻劃分進(jìn)行采樣情況下準(zhǔn)確度會(huì)降低,所以我們就根據(jù)變化線(xiàn)高組態(tài)劃寬,低組態(tài)劃窄,也就是變化性感知狀態(tài)劃分的方式,來(lái)提高可靠性。最差的情況下變化性降低了40%,提高了可靠性。

  另外大家都知道我們要去寫(xiě)的時(shí)候都是寫(xiě)一個(gè)高組或者低組,傳統(tǒng)的方式是采用脈沖的迭代寫(xiě),寫(xiě)到中間這個(gè)態(tài)。我們提出來(lái)比例控制的狀態(tài)調(diào)整,也就是說(shuō)第一次調(diào)的時(shí)候幅度大一點(diǎn)調(diào)到附近,然后再做準(zhǔn)確的控制反饋,這樣就使得寫(xiě)入速度加快,平均的迭代次數(shù)減少31%,降低了寫(xiě)入延遲。

  另外還有并行線(xiàn)的問(wèn)題,我們也寫(xiě)出了相應(yīng)的并行調(diào)度的方法。這里有一個(gè)例子,當(dāng)前的狀態(tài)是1213,目標(biāo)狀態(tài)是3125,哪些是可以并行的?第一個(gè)和第三個(gè)都要并行做兩次操作就可以完成的,中間實(shí)際上就可以把第三位同時(shí)寫(xiě)掉了,就相應(yīng)的提出了并行的算法來(lái)提高并行性。

  當(dāng)他用做大容量存儲(chǔ)的時(shí)候,我們用內(nèi)存的對(duì)它進(jìn)行測(cè)試,平均的內(nèi)存訪(fǎng)問(wèn)延遲降低了67.6%,IPC提高了2.94倍。這個(gè)是新寫(xiě)進(jìn)去,當(dāng)做存儲(chǔ)的時(shí)候讀要準(zhǔn)確,我們發(fā)現(xiàn)這樣的問(wèn)題,這是一個(gè)陣列的示意圖,由于有電壓降的問(wèn)題,左邊還是加電壓到最右端的紅點(diǎn)的時(shí)候電壓就衰減,衰減之后導(dǎo)致理想讀的狀態(tài)應(yīng)該是右邊的綠線(xiàn),就變成橙色的線(xiàn)。也就是說(shuō),讀出來(lái)的值會(huì)出錯(cuò),測(cè)量的電流值由于電壓下降之后測(cè)量的電流肯定也是減少,減少之后如果還用理想狀態(tài)讀出來(lái)肯定是錯(cuò)的,所以我們也是做了相應(yīng)的表,就可以準(zhǔn)確來(lái)讀取出來(lái)。

  當(dāng)他做運(yùn)算的時(shí)候,我們就不利用這種查表的方式,因?yàn)槭羌右粋€(gè)電壓就有電流出來(lái)。由于有電壓降的問(wèn)題存在,就會(huì)導(dǎo)致整個(gè)電流肯定都是會(huì)減少了,我們就采用片壓,之前未先感知的互聯(lián)電壓降補(bǔ)償?shù)姆椒ǎ瑏?lái)使得每一個(gè)測(cè)量都是準(zhǔn)確的,從而提升結(jié)果的準(zhǔn)確度提升15%,這就是我們?cè)诘讓幼隽艘恍┕ぷ?,怎么樣能夠真正支持大容量存?chǔ);第二個(gè)在這種結(jié)構(gòu)怎么樣支持高速存算一體化,首先存,然后再計(jì)算。

  當(dāng)然,在體系結(jié)構(gòu)方面我們也在做一些,今天由于時(shí)間限制就不給大家分享了??偟膩?lái)說(shuō),今天給大家分享了兩個(gè)工作,第一個(gè)在SSD里頭做了近數(shù)據(jù)處理的,基于可重構(gòu)的FPGA近數(shù)據(jù)處理的硬件的加速,來(lái)減少數(shù)據(jù)的傳輸。

  第二個(gè)基于SRAM做了一體化的探索,基本上大容量的探索,首先是做大容量的存儲(chǔ),其次是能夠做存算一體化,克服非理想因素我們做了相應(yīng)的工作。未來(lái)我們也在做體系結(jié)構(gòu)設(shè)計(jì),支持神經(jīng)網(wǎng)絡(luò)、圖像處理等等這樣的體系結(jié)構(gòu)的設(shè)計(jì),下次有機(jī)會(huì)再給大家分享。


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀(guān)點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話(huà)通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話(huà):010-82306118;郵箱:aet@chinaaet.com。