圖:MemVerge公司CEO、聯(lián)合創(chuàng)始人范承工
以下內(nèi)容根據(jù)速記整理, 未經(jīng)本人審定。
范承工:謝謝謝長生老師。聽謝老師的報告,學(xué)習(xí)到了很多,又讓我回憶到研究生時候的生活。華中科技大學(xué)存儲方面的研究特別強,我們公司也有謝老師、吳非老師的學(xué)生在參與新的工作。今天把我們公司做的事,我們在基于持久性內(nèi)存或者非易失性內(nèi)存開發(fā)新的系統(tǒng)跟大家分享一下。
什么是非易失性內(nèi)存呢?待會兒會做一個詳細的介紹。
我們都知道,在數(shù)據(jù)時代,數(shù)據(jù)的量和數(shù)據(jù)的速度越來越高,這對于我們做基礎(chǔ)架構(gòu)、基礎(chǔ)系統(tǒng)的公司來說,要幫助客戶解決的主要是兩個痛點、兩個非常根本的痛點,一個是作為存儲來說I/O速度太慢,因為這個量可以靠堆積器來解決,100臺機器不夠堆1000臺機器,1000臺機器不夠堆1萬臺機器。但是從速度來說,無論是IOPS每秒鐘IO的數(shù)量,還是latency,完成讀、寫需要多少毫秒、微妙,甚至納秒,在過去幾年中很難進行提升,因為受到物理介質(zhì)的影響。
因此,越來越多的軟件用越來越多的內(nèi)存來完成存儲工作,無論是大數(shù)據(jù)分析的軟件,或者是機器學(xué)習(xí)AI的軟件,都是越來越以DRAM為核心的軟件系統(tǒng)。
在這個時候就給DRAM加了很大的壓力,但它也有它的特色,它的速度非???,速度比起閃存大約要快1000倍,但是密度要低很多,所以量要小很多,價格要貴不少,同時是一個易失性的。所謂易失性就是你斷了電數(shù)據(jù)就不存在了,這時候無法用它做長久保存的工作。
對于普通的用戶來說是介于兩塊石頭中間,一塊是存儲不夠快,另外一個是內(nèi)存不夠大,怎么辦呢?大家一直在尋找解決方案,能不能給客戶帶來更大的內(nèi)存或者更快的存儲,或者把兩者同時提供給客戶。
這個問題一直在困惑著大家。
一個非常重要的轉(zhuǎn)折點——存儲級內(nèi)存(SCM)在今年正式商用化誕生了,這個概念大家說了很久,過去20年在不同的大學(xué)不同的研究機構(gòu)進行研發(fā),但是真的要大規(guī)模商用真的非常困難。
今年的第二季度英特爾作為第一家廠商把第一個商用的、作為普通服務(wù)器就可以插的、而且是非易失性的持久性內(nèi)存問世了,這個內(nèi)存的名字叫做傲騰持久性內(nèi)存,其實是兩年前就發(fā)布了介于同樣介質(zhì)的SSD的產(chǎn)品,今年剛剛推出內(nèi)存型的產(chǎn)品。
基于的技術(shù)是3DXpoint,這個技術(shù)是SCM的一種,與其競爭的可能還有其他的技術(shù),但這個技術(shù)是率先能夠問世。它的特點是速度接近于DRAM的速度,DRAM的延遲是20-50納秒。平時的NVF SSD基本上在快的Flash也是在10到幾十微妙的級別,所以兩者之間差了1000倍。這種技術(shù)大約是100-250納秒的延遲,它比DRAM慢一些,大約慢五倍左右,但是比NVflash快100倍,作為持久性的存儲第一次進入了納秒的時代。
同時,它的密度比DRAM要高,目前密度比DRAM高十倍,因為現(xiàn)在3D只有兩層,隨著層數(shù)的上升它的密度會比DRAM高出更多。因為密度高,所以價格會比DRAM低,但第一代出來的價格還是相對比較貴的,大約是DRAM一半左右。隨著密度的上升,相信它和DRAM價格之間的差異也會越來越大,它最主要的差別是持久性的和非易失性的。速度接近于DRAM,但數(shù)據(jù)寫進去關(guān)機再重開機,數(shù)據(jù)還會在那兒,而且寫的次數(shù)要高不少,能夠有10的6次方到10的8次方的重寫。
這是非常有特色的介質(zhì),它第一次融合了內(nèi)存和存儲,這兩個不同概念的特征在一個物理介質(zhì)上得到了體現(xiàn)。對于計算機專業(yè)寫應(yīng)用程序的人來說,過去內(nèi)存當(dāng)內(nèi)存用,存儲當(dāng)存儲用,現(xiàn)在第一次提供了一個可能性,這兩個不同的概念有可能融合成一個。這是一個非常革命性的、跨時代的技術(shù)。
任何一個新的技術(shù)被大眾所采用有不少的障礙,這個技術(shù)現(xiàn)在大家預(yù)估到2023年會成為36億美元的硬件市場,我們也知道,除了英特爾之外還有一些其他的內(nèi)存廠商也在研發(fā)這個技術(shù),預(yù)計在2022年會有4-5家主流的內(nèi)存廠商會有競爭的技術(shù)問世。相信在那時候開始逐漸成為一個主流市場。
隨著應(yīng)用的采用,預(yù)估是2025年大約能產(chǎn)生百億美元的市場。
百億美元是什么概念呢?現(xiàn)在的內(nèi)存市場大約是1000億美元,我們預(yù)計在2025年大約至少能夠占領(lǐng)現(xiàn)有內(nèi)存市場的10%,或者說10%的應(yīng)用能夠把這個內(nèi)存當(dāng)新內(nèi)存而取代,這樣子就能產(chǎn)生百億。
我覺得這還是非常保守的預(yù)估,上升空間還有可能遠遠不止于此。
達到這個目標(biāo)最主要的關(guān)鍵因素是軟件如何把這個硬件使用起來,怎么樣建立一個很好的軟件生態(tài),能夠把透明的,甚至對現(xiàn)有的無需改動,就可以把新的介質(zhì)特點使用出來,這個工作也是我們公司現(xiàn)在專注做的工作。
MemVerge大約兩年多前開始的,現(xiàn)在還很小,大概就30來號人,在美國的灣區(qū)是我們的總部,但是在上海、北京也有一個非常核心的研發(fā)團隊。
我們的技術(shù)其實主要是有三個組成部分:
第一個SCM的內(nèi)存虛擬化。如果你是傲騰SCM的硬件,如果沒有我們的軟件,有幾種使用它的方法。第一種是叫做AppDirect直接使用它的方法,有一個新的API。
這個新的API把硬件所有好的功能都向軟件展示,它又可以做字節(jié)程度的訪問,同時又可以把它所有的優(yōu)點用出來。
但這個缺點是必須要修改已有的APP,如果寫一個新的軟件沒問題,但如果已經(jīng)有一個軟件無法直接在上面跑出來,需要把軟件的邏輯重新寫。過去是內(nèi)存當(dāng)內(nèi)存用,存儲當(dāng)存儲用,現(xiàn)在比如你要寫一個數(shù)據(jù)庫,可以直接放在這種內(nèi)存里面,不需要存到存儲,因為這個內(nèi)存是可以持久保存的。但這樣需要重新設(shè)計數(shù)據(jù)庫。
當(dāng)然,我覺得這也是一個很大的機會,但是現(xiàn)有的數(shù)據(jù)庫不是很容易把這個介質(zhì)使用上去。
第二個用它來做內(nèi)存,這時候就是一個易失性的內(nèi)存,好處是不需要改APP,內(nèi)存同時變大了,一臺服務(wù)器現(xiàn)在可以6個T的內(nèi)存。
第三個變成快存儲,就像SSD一樣,這個時候讓它做比較快的SSD,但是不能做字節(jié)性的訪問,不能直接當(dāng)內(nèi)存來用。
這三種模式都有各自的缺陷,或者要改程序,或者不能夠內(nèi)存和存儲的功能都用上。我們內(nèi)存虛擬化就解決這個問題,因為我們這層軟件對傲騰內(nèi)存用AppDirect的模式來訪問,我們展示的API還兼容過去的API,這樣不需要修改直接在軟件上跑起來。
第二個技術(shù)和第三個技術(shù)等于在內(nèi)存虛擬化的基礎(chǔ)之上,在這兩個API之后做了分布式的基于SCM的分布式的文件系統(tǒng)和內(nèi)存系統(tǒng),先說文件系統(tǒng)。
分布式文件系統(tǒng)很多,市場上無論是開源的還是閉源的,無論是美國還是中國有很多成熟的分布式文件系統(tǒng),但沒有一個分布式文件系統(tǒng)是專門為SCM設(shè)計的,因為SCM的延遲和傳統(tǒng)的SSD和HDD延遲有幾個數(shù)量級的差別,所以過去的分布式文件系統(tǒng)直接拿來跑在memory上軟件本身會成為瓶頸,本身不是為了這個速率所設(shè)計的。基于新的硬件原生在上設(shè)置出了新的分布式文件系統(tǒng),能夠在內(nèi)存速度來進行內(nèi)容的復(fù)制和管理,其中有了一些新的想法在分布式文件系統(tǒng)里得到實現(xiàn)。
分布式內(nèi)存系統(tǒng),除了提供更快的存儲接口之外,我們也想提供更大的內(nèi)存接口,首先SCM本身提供一個更大的內(nèi)存,本身有6個T,但是現(xiàn)在有的應(yīng)用6個T內(nèi)存都不夠,需要有更大的內(nèi)存,在內(nèi)存里完成主要的工作。
我們通過分布式的方式讓第一代產(chǎn)品可以有128個節(jié)點,在128個節(jié)點內(nèi)存整個變成一個池子,在里面做成三層的分階的分布式內(nèi)存系統(tǒng),首先是本地DRAM作為第一層,第二層是本地SCM,第三層是旁邊節(jié)點SCM。
通過這三層智能的管理,我們可以提供高達700個T的內(nèi)存。
在這個環(huán)境之上,我們就能夠充分發(fā)揮SCM硬件的優(yōu)勢,使得上面不需要改動就可以有以前不可能獲得的容量內(nèi)存、不可能獲得的速度存儲,同時提供了更大的內(nèi)存和更快的存儲。
這是我們技術(shù)大概的介紹。
這三個是我們技術(shù)主要的核心模塊,我們整個架構(gòu)把它叫做MCI,我們認(rèn)為這個是未來數(shù)據(jù)中心重要的架構(gòu)前移。
這個是對我們技術(shù)稍微更詳細模塊的解釋,主要是給大家展示一下軟件在系統(tǒng)里處在什么樣的位置。底下是硬件一個一個服務(wù)器,把它叫做計算節(jié)點,這里面第一步會支持128個節(jié)點,中間我們推薦用RDMA這種快速的網(wǎng)絡(luò),把這些節(jié)點聯(lián)絡(luò)在一起。
在每個節(jié)點里除了CPU之外有三種介質(zhì),為什么有三種介質(zhì)呢?內(nèi)存的服務(wù)用DRAM+SCM兩層的模式來提供內(nèi)存的服務(wù),就像我剛才說的有DRAM、SCM以及遠方的SCM一起來提供大內(nèi)存的服務(wù)。
SCM和SSD兩層合在一起提供存儲層的服務(wù),SCM是我們第一層存儲,SSD是第二層存儲。通過SSD可以增大存儲服務(wù)的容量,而且降低成本。在我們硬件、軟件的上面是主要目標(biāo)應(yīng)用場景?,F(xiàn)在我們對準(zhǔn)的是三種場景,都是以數(shù)據(jù)為中心的應(yīng)用。
第一種是機器學(xué)習(xí)、AI,尤其是AI訓(xùn)練的場景;第二種大數(shù)據(jù)分析常見的應(yīng)用平臺;第三種搜索查詢應(yīng)用。我們現(xiàn)在也將這幾個應(yīng)用與合作伙伴客戶進行POC的工作,但產(chǎn)品還沒有正式發(fā)布,主要在三個工業(yè)領(lǐng)域和早期客戶合作,第一個是互聯(lián)網(wǎng)服務(wù)的領(lǐng)域,包括云服務(wù)商,包括互聯(lián)網(wǎng)的服務(wù)商,第二個領(lǐng)域主要是金融,包括銀行、基金、市場。第三個HPC高性能計算,以及AI專門的服務(wù),這三個是主要的客戶領(lǐng)域,這些是主要的應(yīng)用場景在產(chǎn)品上進行部署和嘗試。
下面給大家舉兩個例子,客戶如何使用技術(shù)提高效率減少成本。
第一個例子是社交網(wǎng)絡(luò),是美國非常大的社交網(wǎng)絡(luò)服務(wù)商有幾個億用戶,有幾百億互相的連接,在服務(wù)平臺上非常重要的服務(wù)就是向大家推薦認(rèn)識的人連起來,或者有什么工作想要找去找,這是一個非常重要而核心的推薦引擎。。
這個推薦引擎背后是有機器學(xué)習(xí)的模型支持的,現(xiàn)在用的是Google 2016年推出的模型,這是非常扁平而大的模型,訓(xùn)練數(shù)據(jù)又很大,數(shù)以億計的節(jié)點,以及百億計的連接,這些數(shù)據(jù)要跑1000多次,整個是非常長時間的分布式的訓(xùn)練工作。
現(xiàn)有的瓶頸在哪里呢?一方面用的HDFS的存儲系統(tǒng),還有很多存儲是落到本地的SSD盤上。這是一個跑的時間非常長,要跑兩個星期,中間如果有節(jié)點壞了,需要從頭重新跑起來。如果打開Checkpoint,要每次寫到盤上,整個工作又慢了。所以非常糾結(jié),到底Checkpoint應(yīng)該開還是不開,開出來又不能夠做的非常高頻。我們的解決方案使用我們的產(chǎn)品把所有的SSD全都取代了,無論是訓(xùn)練數(shù)據(jù)的存放點,還是中間數(shù)據(jù)的存放點全由我們的分布式文件系統(tǒng)來承受。
這個做的效果使AI速度提成了6倍,原先數(shù)據(jù)導(dǎo)入來自各個地方,本來非常慢,現(xiàn)在提高了350倍,效率得到很大的提高。這是第一個在機器學(xué)習(xí)訓(xùn)練場景上對我們場景的應(yīng)用。
第二個例子在大數(shù)據(jù)分析,這個是和騰訊云的合作云數(shù)倉的服務(wù),背后不是一個傳統(tǒng)的數(shù)據(jù)庫。
在這里除了存儲上的加速之外,我們還提供內(nèi)存上的擴展,因為是以內(nèi)存為核心的平臺,通過內(nèi)存擴展,和存儲的加速,不僅提高了各方面的性能,同時,通過中間數(shù)據(jù)放到我們這個系統(tǒng)上,使得Spark節(jié)點更加彈性。這大大幫助云服務(wù)廠商可以隨著客戶需求而任意上升或下降調(diào)節(jié)資源。
最后再看得比較遠一點,給大家分享一下我們的愿景。我們小的公司首先是有客戶能夠落地這個是很重要的,同樣重要的是我們希望站在歷史正確的一邊,站在歷史的技術(shù)趨勢、業(yè)界趨勢正確的一邊。
我們認(rèn)為,在將來5-10年持久性內(nèi)存帶來的會是一個架構(gòu)上的變革。這個變革是什么樣的變革呢?我們先看現(xiàn)在的架構(gòu),大家可能都很熟悉現(xiàn)在的架構(gòu)基本上計算和存儲是分離的,計算會有服務(wù)器的群體,有CPU、DRAM,存儲基本上會有兩層,第一層是SSD為主體的,高性能存儲。還有一層容量型存儲,現(xiàn)在更多是HDD為導(dǎo)向的。
我們認(rèn)為這個架構(gòu)分層在將來5-10年會有改變。最大的改變在計算那層里基于持久性內(nèi)存會有一個新架構(gòu)層的出現(xiàn),叫做MCI,內(nèi)存融合架構(gòu)。內(nèi)存融合架構(gòu)擴大可用內(nèi)存到幾十甚至上百個T,同時某種程度上會取代于第一層性能級存儲。并不是說性能級存儲遷移到MCI那層,因為有持續(xù)性內(nèi)存的存在而使得性存儲還會存在,存儲本身存在于以容量為導(dǎo)向的一層,這一層將會轉(zhuǎn)向SSD為主流介質(zhì)。而大量的活躍數(shù)據(jù)直接在內(nèi)存MCI層得到解決。
我們公司希望成為催化劑,能夠成為第一個吃螃蟹的,能夠最早在這個領(lǐng)域搭建MCI的系統(tǒng),希望這個變革發(fā)生時,我們能成為領(lǐng)先者之一。
今年是MCI的元年或者說持久性內(nèi)存的元年,也許明年這個峰會再來參加可能就有整個的環(huán)節(jié)關(guān)于持久性內(nèi)存。
今年閃存大會(FMS)與去年閃存大會有很多的區(qū)別,有好幾個環(huán)節(jié)都是關(guān)于持久性內(nèi)存的,這個技術(shù)現(xiàn)在正好是剛剛發(fā)生的節(jié)點,我們非常幸運在這個事情發(fā)生的初期做這個工作?,F(xiàn)在已經(jīng)開始通過硬件、軟件得到過去得不到的性能。比如1微秒級的訪問時延,過去是百微秒級的訪問時延。單點至少達到1000萬IOPS,這是一個非常激動人心的未來,非常高興和大家分享!
主持人:謝謝范總給我們帶來非常新的信息,今年算是這個技術(shù)第一次在這個會議上報告,明年一定會有更精彩的工作,現(xiàn)在給大家一個機會提問題。
提問:第一個問題我們了解RDMA雖然挺快,有4K或者6K傳輸時延會有10微秒左右,但是這個介質(zhì)已經(jīng)是300納秒左右,如果是在這種場景下我們用分布式網(wǎng)絡(luò)連接是不是劃算的行為呢?
第二個問題如果我們做了分級的系統(tǒng),MemVerge是不是已經(jīng)考慮到這個問題做了一個冷熱分級的預(yù)測?
范承工:都是很好的問題,也是我們一直在努力的問題,第一個問題RDMA本身有延遲,比起介質(zhì)的延遲會長,根據(jù)我們的測試大概在個位數(shù)微秒,確實慢了一個數(shù)量級。不少App當(dāng)你超過內(nèi)存容量溢出到SSD之后會慢很多,根據(jù)我們的經(jīng)驗用RDMA連接遠方持久性內(nèi)存,比起用SSD還是要快,所以還是有它的價值。
第二個問題你說分層的存儲,現(xiàn)在我們是有第一版本有一些智能的上下層數(shù)據(jù)自動遷移,用戶不會看到底下有分層,整個是我們來管理的。當(dāng)然,這個算法還是有上升的空間,我們也會更加智能完成分層存儲的管理。
提問:您剛才文件系統(tǒng),后面的研究系統(tǒng),咱們也支持HDFS是吧?
范承工:是的。
提問:咱們有內(nèi)存的API,還有存儲的API,如果現(xiàn)在用戶需要把程序改一下,這些API怎么用呢?
范承工:持久性內(nèi)存API是要改程序的,就是我們把底下的API給用戶,那個是需要改的,但你不需要用那個,你可以用存儲和內(nèi)存這兩個已有的API,這兩個API有多種模式,無論是內(nèi)存和存儲,我們都提供了一個訪問模式,使得應(yīng)用不需要修改就能夠使用我們這套系統(tǒng)。
提問:很多大數(shù)據(jù)計算,一個大的數(shù)據(jù)級超過1TB跑不動了,咱們是把內(nèi)存擴大,咱們能擴大多大?您測過沒有?
范承工:現(xiàn)在DRAM內(nèi)存越大價格單價上升很快,理論上是一個CPU支持1.5T,但大家不會做1.5T,也甚至不會做750G,最大做到370G。一般來說服務(wù)器的內(nèi)存300G、500多最大了。持久性內(nèi)存一個節(jié)點最多可以到6個T。
由于多節(jié)點,如果100多個節(jié)點就可以有700個T,理論上700多個T的數(shù)據(jù)可以全部放在內(nèi)存里完成這個工作。
提問:我問一下加密的問題,現(xiàn)在SSD有比較成熟的硬件加密的手段,您這邊在數(shù)據(jù)加密方面有沒有什么考量,畢竟是700多個T的數(shù)據(jù)在緩存里的。
范承工:這個現(xiàn)在我們的思考還不夠成熟,如果各位有興趣還可以開一個公司做這個,我們現(xiàn)在做的技術(shù)還沒有考慮到加密的事情,我覺得這個新硬件的生態(tài)有很多好工作可以產(chǎn)生。