圖:MemVerge公司CEO、聯(lián)合創(chuàng)始人范承工

以下內容根據速記整理, 未經本人審定。

范承工:謝謝謝長生老師。聽謝老師的報告,學習到了很多,又讓我回憶到研究生時候的生活。華中科技大學存儲方面的研究特別強,我們公司也有謝老師、吳非老師的學生在參與新的工作。今天把我們公司做的事,我們在基于持久性內存或者非易失性內存開發(fā)新的系統(tǒng)跟大家分享一下。

什么是非易失性內存呢?待會兒會做一個詳細的介紹。

我們都知道,在數(shù)據時代,數(shù)據的量和數(shù)據的速度越來越高,這對于我們做基礎架構、基礎系統(tǒng)的公司來說,要幫助客戶解決的主要是兩個痛點、兩個非常根本的痛點,一個是作為存儲來說I/O速度太慢,因為這個量可以靠堆積器來解決,100臺機器不夠堆1000臺機器,1000臺機器不夠堆1萬臺機器。但是從速度來說,無論是IOPS每秒鐘IO的數(shù)量,還是latency完成讀、寫需要多少毫秒、微妙,甚至納秒,在過去幾年中很難進行提升,因為受到物理介質的影響。

因此,越來越多的軟件用越來越多的內存來完成存儲工作,無論是大數(shù)據分析的軟件,或者是機器學習AI的軟件,都是越來越以DRAM為核心的軟件系統(tǒng)。

在這個時候就給DRAM加了很大的壓力,但它也有它的特色,它的速度非???,速度比起閃存大約要快1000倍,但是密度要低很多,所以量要小很多,價格要貴不少,同時是一個易失性的。所謂易失性就是你斷了電數(shù)據就不存在了,這時候無法用它做長久保存的工作。

對于普通的用戶來說是介于兩塊石頭中間,一塊是存儲不夠快,另外一個是內存不夠大,怎么辦呢?大家一直在尋找解決方案,能不能給客戶帶來更大的內存或者更快的存儲,或者把兩者同時提供給客戶。

這個問題一直在困惑著大家。

一個非常重要的轉折點——存儲級內存(SCM)在今年正式商用化誕生了,這個概念大家說了很久,過去20年在不同的大學不同的研究機構進行研發(fā),但是真的要大規(guī)模商用真的非常困難。

今年的第二季度英特爾作為第一家廠商把第一個商用的、作為普通服務器就可以插的、而且是非易失性的持久性內存問世了,這個內存的名字叫做傲騰持久性內存,其實是兩年前就發(fā)布了介于同樣介質的SSD的產品,今年剛剛推出內存型的產品。

基于的技術是3DXpoint,這個技術是SCM的一種,與其競爭的可能還有其他的技術,但這個技術是率先能夠問世。它的特點是速度接近于DRAM的速度,DRAM的延遲是20-50納秒。平時的NVF SSD基本上在快的Flash也是在10到幾十微妙的級別,所以兩者之間差了1000倍。這種技術大約是100-250納秒的延遲,它比DRAM慢一些,大約慢五倍左右,但是比NVflash快100倍,作為持久性的存儲第一次進入了納秒的時代。

同時,它的密度比DRAM要高,目前密度比DRAM高十倍,因為現(xiàn)在3D只有兩層,隨著層數(shù)的上升它的密度會比DRAM高出更多。因為密度高,所以價格會比DRAM低,但第一代出來的價格還是相對比較貴的,大約是DRAM一半左右。隨著密度的上升,相信它和DRAM價格之間的差異也會越來越大,它最主要的差別是持久性的和非易失性的。速度接近于DRAM,但數(shù)據寫進去關機再重開機,數(shù)據還會在那兒,而且寫的次數(shù)要高不少,能夠有10的6次方到10的8次方的重寫。

這是非常有特色的介質,它第一次融合了內存和存儲,這兩個不同概念的特征在一個物理介質上得到了體現(xiàn)。對于計算機專業(yè)寫應用程序的人來說,過去內存當內存用,存儲當存儲用,現(xiàn)在第一次提供了一個可能性,這兩個不同的概念有可能融合成一個。這是一個非常革命性的、跨時代的技術。

任何一個新的技術被大眾所采用有不少的障礙,這個技術現(xiàn)在大家預估到2023年會成為36億美元的硬件市場,我們也知道,除了英特爾之外還有一些其他的內存廠商也在研發(fā)這個技術,預計在2022年會有4-5家主流的內存廠商會有競爭的技術問世。相信在那時候開始逐漸成為一個主流市場。

隨著應用的采用,預估是2025年大約能產生百億美元的市場。

百億美元是什么概念呢?現(xiàn)在的內存市場大約是1000億美元,我們預計在2025年大約至少能夠占領現(xiàn)有內存市場的10%,或者說10%的應用能夠把這個內存當新內存而取代,這樣子就能產生百億。

我覺得這還是非常保守的預估,上升空間還有可能遠遠不止于此。

達到這個目標最主要的關鍵因素是軟件如何把這個硬件使用起來,怎么樣建立一個很好的軟件生態(tài),能夠把透明的,甚至對現(xiàn)有的無需改動,就可以把新的介質特點使用出來,這個工作也是我們公司現(xiàn)在專注做的工作。

MemVerge大約兩年多前開始的,現(xiàn)在還很小,大概就30來號人,在美國的灣區(qū)是我們的總部,但是在上海、北京也有一個非常核心的研發(fā)團隊。

我們的技術其實主要是有三個組成部分:

第一個SCM的內存虛擬化。如果你是傲騰SCM的硬件,如果沒有我們的軟件,有幾種使用它的方法。第一種是叫做AppDirect直接使用它的方法,有一個新的API。

這個新的API把硬件所有好的功能都向軟件展示,它又可以做字節(jié)程度的訪問,同時又可以把它所有的優(yōu)點用出來。

但這個缺點是必須要修改已有的APP,如果寫一個新的軟件沒問題,但如果已經有一個軟件無法直接在上面跑出來,需要把軟件的邏輯重新寫。過去是內存當內存用,存儲當存儲用,現(xiàn)在比如你要寫一個數(shù)據庫,可以直接放在這種內存里面,不需要存到存儲,因為這個內存是可以持久保存的。但這樣需要重新設計數(shù)據庫。

當然,我覺得這也是一個很大的機會,但是現(xiàn)有的數(shù)據庫不是很容易把這個介質使用上去。

第二個用它來做內存,這時候就是一個易失性的內存,好處是不需要改APP,內存同時變大了,一臺服務器現(xiàn)在可以6個T的內存。

第三個變成快存儲,就像SSD一樣,這個時候讓它做比較快的SSD,但是不能做字節(jié)性的訪問,不能直接當內存來用。

這三種模式都有各自的缺陷,或者要改程序,或者不能夠內存和存儲的功能都用上。我們內存虛擬化就解決這個問題,因為我們這層軟件對傲騰內存用AppDirect的模式來訪問,我們展示的API還兼容過去的API,這樣不需要修改直接在軟件上跑起來。

第二個技術和第三個技術等于在內存虛擬化的基礎之上,在這兩個API之后做了分布式的基于SCM的分布式的文件系統(tǒng)和內存系統(tǒng),先說文件系統(tǒng)。

分布式文件系統(tǒng)很多,市場上無論是開源的還是閉源的,無論是美國還是中國有很多成熟的分布式文件系統(tǒng),但沒有一個分布式文件系統(tǒng)是專門為SCM設計的,因為SCM的延遲和傳統(tǒng)的SSD和HDD延遲有幾個數(shù)量級的差別,所以過去的分布式文件系統(tǒng)直接拿來跑在memory上軟件本身會成為瓶頸,本身不是為了這個速率所設計的。基于新的硬件原生在上設置出了新的分布式文件系統(tǒng),能夠在內存速度來進行內容的復制和管理,其中有了一些新的想法在分布式文件系統(tǒng)里得到實現(xiàn)。

分布式內存系統(tǒng),除了提供更快的存儲接口之外,我們也想提供更大的內存接口,首先SCM本身提供一個更大的內存,本身有6個T,但是現(xiàn)在有的應用6個T內存都不夠,需要有更大的內存,在內存里完成主要的工作。

我們通過分布式的方式讓第一代產品可以有128個節(jié)點,在128個節(jié)點內存整個變成一個池子,在里面做成三層的分階的分布式內存系統(tǒng),首先是本地DRAM作為第一層,第二層是本地SCM,第三層是旁邊節(jié)點SCM。

通過這三層智能的管理,我們可以提供高達700個T的內存。

在這個環(huán)境之上,我們就能夠充分發(fā)揮SCM硬件的優(yōu)勢,使得上面不需要改動就可以有以前不可能獲得的容量內存、不可能獲得的速度存儲,同時提供了更大的內存和更快的存儲。

這是我們技術大概的介紹。

這三個是我們技術主要的核心模塊,我們整個架構把它叫做MCI,我們認為這個是未來數(shù)據中心重要的架構前移。

這個是對我們技術稍微更詳細模塊的解釋,主要是給大家展示一下軟件在系統(tǒng)里處在什么樣的位置。底下是硬件一個一個服務器,把它叫做計算節(jié)點,這里面第一步會支持128個節(jié)點,中間我們推薦用RDMA這種快速的網絡,把這些節(jié)點聯(lián)絡在一起。

在每個節(jié)點里除了CPU之外有三種介質,為什么有三種介質呢?內存的服務用DRAM+SCM兩層的模式來提供內存的服務,就像我剛才說的有DRAM、SCM以及遠方的SCM一起來提供大內存的服務。

SCM和SSD兩層合在一起提供存儲層的服務,SCM是我們第一層存儲,SSD是第二層存儲。通過SSD可以增大存儲服務的容量,而且降低成本。在我們硬件、軟件的上面是主要目標應用場景?,F(xiàn)在我們對準的是三種場景,都是以數(shù)據為中心的應用。

第一種是機器學習、AI,尤其是AI訓練的場景;第二種大數(shù)據分析常見的應用平臺;第三種搜索查詢應用。我們現(xiàn)在也將這幾個應用與合作伙伴客戶進行POC的工作,但產品還沒有正式發(fā)布,主要在三個工業(yè)領域和早期客戶合作,第一個是互聯(lián)網服務的領域,包括云服務商,包括互聯(lián)網的服務商,第二個領域主要是金融,包括銀行、基金、市場。第三個HPC高性能計算,以及AI專門的服務,這三個是主要的客戶領域,這些是主要的應用場景在產品上進行部署和嘗試。

下面給大家舉兩個例子,客戶如何使用技術提高效率減少成本。

第一個例子是社交網絡,是美國非常大的社交網絡服務商有幾個億用戶,有幾百億互相的連接,在服務平臺上非常重要的服務就是向大家推薦認識的人連起來,或者有什么工作想要找去找,這是一個非常重要而核心的推薦引擎。。

這個推薦引擎背后是有機器學習的模型支持的,現(xiàn)在用的是Google 2016年推出的模型,這是非常扁平而大的模型,訓練數(shù)據又很大,數(shù)以億計的節(jié)點,以及百億計的連接,這些數(shù)據要跑1000多次,整個是非常長時間的分布式的訓練工作。

現(xiàn)有的瓶頸在哪里呢?一方面用的HDFS的存儲系統(tǒng),還有很多存儲是落到本地的SSD盤上。這是一個跑的時間非常長,要跑兩個星期,中間如果有節(jié)點壞了,需要從頭重新跑起來。如果打開Checkpoint,要每次寫到盤上,整個工作又慢了。所以非常糾結,到底Checkpoint應該開還是不開,開出來又不能夠做的非常高頻。我們的解決方案使用我們的產品把所有的SSD全都取代了,無論是訓練數(shù)據的存放點,還是中間數(shù)據的存放點全由我們的分布式文件系統(tǒng)來承受。

這個做的效果使AI速度提成了6倍,原先數(shù)據導入來自各個地方,本來非常慢,現(xiàn)在提高了350倍,效率得到很大的提高。這是第一個在機器學習訓練場景上對我們場景的應用。

第二個例子在大數(shù)據分析,這個是和騰訊云的合作云數(shù)倉的服務,背后不是一個傳統(tǒng)的數(shù)據庫。

在這里除了存儲上的加速之外,我們還提供內存上的擴展,因為是以內存為核心的平臺,通過內存擴展,和存儲的加速,不僅提高了各方面的性能,同時,通過中間數(shù)據放到我們這個系統(tǒng)上,使得Spark節(jié)點更加彈性。這大大幫助云服務廠商可以隨著客戶需求而任意上升或下降調節(jié)資源。

最后再看得比較遠一點,給大家分享一下我們的愿景。我們小的公司首先是有客戶能夠落地這個是很重要的,同樣重要的是我們希望站在歷史正確的一邊,站在歷史的技術趨勢、業(yè)界趨勢正確的一邊。

我們認為,在將來5-10年持久性內存帶來的會是一個架構上的變革。這個變革是什么樣的變革呢?我們先看現(xiàn)在的架構,大家可能都很熟悉現(xiàn)在的架構基本上計算和存儲是分離的,計算會有服務器的群體,有CPU、DRAM,存儲基本上會有兩層,第一層是SSD為主體的,高性能存儲。還有一層容量型存儲,現(xiàn)在更多是HDD為導向的。

我們認為這個架構分層在將來5-10年會有改變。最大的改變在計算那層里基于持久性內存會有一個新架構層的出現(xiàn),叫做MCI,內存融合架構。內存融合架構擴大可用內存到幾十甚至上百個T,同時某種程度上會取代于第一層性能級存儲。并不是說性能級存儲遷移到MCI那層,因為有持續(xù)性內存的存在而使得性存儲還會存在,存儲本身存在于以容量為導向的一層,這一層將會轉向SSD為主流介質。而大量的活躍數(shù)據直接在內存MCI層得到解決。

我們公司希望成為催化劑,能夠成為第一個吃螃蟹的,能夠最早在這個領域搭建MCI的系統(tǒng),希望這個變革發(fā)生時,我們能成為領先者之一。

今年是MCI的元年或者說持久性內存的元年,也許明年這個峰會再來參加可能就有整個的環(huán)節(jié)關于持久性內存。

今年閃存大會(FMS)與去年閃存大會有很多的區(qū)別,有好幾個環(huán)節(jié)都是關于持久性內存的,這個技術現(xiàn)在正好是剛剛發(fā)生的節(jié)點,我們非常幸運在這個事情發(fā)生的初期做這個工作?,F(xiàn)在已經開始通過硬件、軟件得到過去得不到的性能。比如1微秒級的訪問時延,過去是百微秒級的訪問時延。單點至少達到1000萬IOPS,這是一個非常激動人心的未來,非常高興和大家分享!

主持人:謝謝范總給我們帶來非常新的信息,今年算是這個技術第一次在這個會議上報告,明年一定會有更精彩的工作,現(xiàn)在給大家一個機會提問題。

提問:第一個問題我們了解RDMA雖然挺快,有4K或者6K傳輸時延會有10微秒左右,但是這個介質已經是300納秒左右,如果是在這種場景下我們用分布式網絡連接是不是劃算的行為呢?

第二個問題如果我們做了分級的系統(tǒng),MemVerge是不是已經考慮到這個問題做了一個冷熱分級的預測?

范承工:都是很好的問題,也是我們一直在努力的問題,第一個問題RDMA本身有延遲,比起介質的延遲會長,根據我們的測試大概在個位數(shù)微秒,確實慢了一個數(shù)量級。不少App當你超過內存容量溢出到SSD之后會慢很多,根據我們的經驗用RDMA連接遠方持久性內存,比起用SSD還是要快,所以還是有它的價值。

第二個問題你說分層的存儲,現(xiàn)在我們是有第一版本有一些智能的上下層數(shù)據自動遷移,用戶不會看到底下有分層,整個是我們來管理的。當然,這個算法還是有上升的空間,我們也會更加智能完成分層存儲的管理。

提問:您剛才文件系統(tǒng),后面的研究系統(tǒng),咱們也支持HDFS是吧?

范承工:是的。

提問:咱們有內存的API,還有存儲的API,如果現(xiàn)在用戶需要把程序改一下,這些API怎么用呢?

范承工:持久性內存API是要改程序的,就是我們把底下的API給用戶,那個是需要改的,但你不需要用那個,你可以用存儲和內存這兩個已有的API,這兩個API有多種模式,無論是內存和存儲,我們都提供了一個訪問模式,使得應用不需要修改就能夠使用我們這套系統(tǒng)。

提問:很多大數(shù)據計算,一個大的數(shù)據級超過1TB跑不動了,咱們是把內存擴大,咱們能擴大多大?您測過沒有?

范承工:現(xiàn)在DRAM內存越大價格單價上升很快,理論上是一個CPU支持1.5T,但大家不會做1.5T,也甚至不會做750G,最大做到370G。一般來說服務器的內存300G、500多最大了。持久性內存一個節(jié)點最多可以到6個T。

由于多節(jié)點,如果100多個節(jié)點就可以有700個T,理論上700多個T的數(shù)據可以全部放在內存里完成這個工作。

提問:我問一下加密的問題,現(xiàn)在SSD有比較成熟的硬件加密的手段,您這邊在數(shù)據加密方面有沒有什么考量,畢竟是700多個T的數(shù)據在緩存里的。

范承工:這個現(xiàn)在我們的思考還不夠成熟,如果各位有興趣還可以開一個公司做這個,我們現(xiàn)在做的技術還沒有考慮到加密的事情,我覺得這個新硬件的生態(tài)有很多好工作可以產生。

分享到

xiesc

相關推薦