在儲存領域,容量大、速度快和價格低是使用者的期望目標,但就現有的儲存器而言,速度越快的儲存器,容量越小,價格越高,容量大的儲存器,雖然價格低,但是速度卻達不到要求。
尤其是隨著人工智慧、機器學習、物聯網等應用場景的出現,越來越需要用更快的速度處理更多的資料。不過,現有的儲存系統乏力,儲存領域急需一場技術革命。
圖片源自Mainline
那麼,儲存界該如何推動這場技術革命?這一革命進展如何?雷鋒網就此話題與大記憶體軟體先行者MemVerge聯合創始人兼CEO範承工進行了交流。
儲存級記憶體是革命的基礎
當傳統的儲存系統失效時,要麼依靠現有的儲存技術構建新的儲存系統,要麼先發展新的記憶體介質再建儲存系統,按照後一種邏輯,儲存級記憶體技術(SCM)應運而生。
顧名思義,儲存級記憶體就是將速度快效能好的類似DRAM記憶體和容量大價格低的類似SSD儲存器的優點結合起來,縮小儲存和記憶體之間的差距,改變資料的儲存與處理方式。與DRAM不同的是,SCM是非易失性記憶體,這就意味著在斷電時,前者無法保留資料與程式程式碼,後者卻可以。
範承工表示,過去十幾年裡不少硬體廠商都在研發SCM儲存級記憶體技術,目前已有大約5種,且這些技術的發展和應用不盡相同。
“在目前已有的SCM技術中, MRAM容量相對較小,價錢較高,但是它的速度很快,在取代CPU更快更小更貴的記憶體SRAM上有更大的空間,不過它本身無法取代DRAM;RRAM或ReRAM等電阻式記憶體主要是在嵌入式系統內得以應用,目前還沒有發展到能夠直接插入伺服器裡當主記憶體用的產品形式。英特爾和美光合作開發的3D Xpoint技術也是SCM技術中的一種,且是第一個能夠用作伺服器主記憶體的商業化技術。”
這裡所說的商業化,也就是一年之前英特爾基於3DXpoint介質推出的傲騰持久記憶體,其大容量和永續性,在取代傳統的DRAM上有一定空間。不過,也有人指出,儘管SCM技術有很多優勢,但是現有的作業系統中很多設計機制考慮記憶體特性,SCM並不能完全替代DRAM。範承工認為,單純從硬體的角度來看,這一說法是成立的,永續性記憶體的速度會比DRAM慢4-5倍,其重複寫的次數也遠遠少於DRAM,所以它並不能完全取代DRAM。
“依靠SCM取代DRAM,其實也是MemVerge大記憶體軟體的發力點。”範承工告訴雷鋒網。
釋放SCM潛能,大記憶體軟體誕生
軟硬體結合是計算機發展的大趨勢,對於儲存系統而言亦是如此。基於新型記憶體技術做大記憶體軟體,MemVerge是第一個“吃螃蟹的人”。
“我們認為未來十年儲存技術將迎來一場革命,這場革命不僅僅是在硬體上,也會在應用層、軟體設計乃至生態上發生系列轉變。所以在三年前我們建立了MemVerge這家面向企業級軟體的公司,只要是在特性和功能上能夠當做主存用的儲存硬體技術,我們就計劃支援,傲騰持久記憶體恰好滿足我們的要求。”範承工向雷鋒網介紹到。
經過三年的發展,MemVerge在今年的9月24日正式釋出了世界上第一款大記憶體軟體,記憶體機器(Memory Machine Version1.0)。
MemVerge釋出會上,範承工表示,Memory Machine主要做兩件事:
作為虛擬記憶體層,將DRAM和PMEM(永續性記憶體)統一虛擬化,為記憶體提供軟體定義的記憶體服務。
記憶體的ZeroIO Snapshot功能,減少硬體宕機後重啟的時間。
據介紹,Memory Machine不需要修改軟體和硬體,就能將DRAM和PMEM都應用起來,記憶體容量得以擴大。一般而言,傲騰持久記憶體能夠支援一個CPU線路的3T容量,DRAM能夠支援1.5T容量,而Memoey Machine能夠使兩者並存,這就意味著一個普通的2路伺服器能夠擁有9T的記憶體容量,是過去的3倍。
另外,傲騰記憶體價格比DRAM要低,這意味著DRAM與其結合能夠降低記憶體的平均價格。“透過我們的軟體,可以選擇一個最合適的比例將軟體定義的記憶體提供給應用,這這種情況下,記憶體成本可以降低30%到50%。”範承工說。
價格降低的情況下,原本DRAM的效能是否會受到影響?MemVerge官方給出了不同比例搭配的DRAM和PMEM在KVM虛擬化Hypervisor架構上的MySQL資料庫效能測試資料對比。資料顯示,128G PMEM搭配16GB DRAM的QPS達到49753,超過原本只有128GB DRAM 2175 QPS。
Snapshpt快照技術是某個資料集在特定時刻的映象,是一種即時複製,大大縮短了備份大型資料集時的時間,因此這一技術是儲存上常用的資料服務技術。但MemVerge是第一個在記憶體上實現多次Snapshot,且擁有copy-on-write功能的公司。
據悉,即使有1T以上的資料,ZeroIO Snapshot也能在1秒之內抓住CPU Cache中的全部狀態。基於此,ZeroIO記憶體快照有四種資料服務:
時間旅行(Time Travel),應用能夠隨意回到過去的任意一個Snapshot,可以同時產生128個Snapshot。
自動儲存(Auto Save),像在編輯Word時每隔一段時間應用都會自動儲存。
簡單克隆(Thin Clone),同一個應用可以“克隆”成多個平行執行,且各個應用互相獨立。
應用遷移(APP Migration),應用能夠遷移到各個資料中心執行,無論是裸機還是虛擬機器。
對於128個數量級的快照是否會佔據大量記憶體,範承工表示, “128個數量級的快照會佔據一定的容量,具體容量需要根據應用的活躍度決定。如果快照數量多,改變也多,就需要產生新的記憶體頁進行管理,需要用到多餘的記憶體,但即使是這樣,也會比128倍小很多,這是因為未改變的記憶體頁在物理層面上是共享的。整體來說,記憶體資源是被節省了。”
面向應用場景,革命需要更多夥伴
有軟體加持的SCM技術,能在哪些具體的應用場景發力呢?
“讓我們下定決心集中力量做大記憶體系統的另一個重要原因,是我們已經找到三個對這一技術最感興趣的應用場景,一是雲服務提供者CSP(Cloud Services Provider),二是電影工作室在進行創作時的應用,三是金融應用領域,可以使最新的股市交易資訊在2至3微秒內傳遞給使用者,建立一個更加公平的股市交易平臺。” 範承工介紹到。
平安銀行是MemVerge的客戶之一,擁有6000多萬的信用卡使用者和9000多萬的零售客戶。平安銀行大資料平臺技術總監沈百軍表示,對於銀行而言如果使用者體量小,可以直接將所有使用者的資料全部載入到記憶體中,提供快速的服務。面對一億左右的使用者,就需要新的技術支援。“我們引進大記憶體技術,全面實現ZeroIO,希望能讓我們的服務全都是在記憶體裡進行的,這樣可以達到一個非常理想的工作效率。”
Banca Intesa Sanpaolo 是義大利市值最高的銀行集團,它部署了英特爾持久記憶體和Memory Machine軟體。Banca Intesa Sanpaolo 雲和混合資料中心主管 Nicola Carotti 表示:“MemVerge Memory Machine的 ZeroIO 快照功能顯著提高了新應用程式的效能,將恢復時間從數小時縮短到了數秒。”
不過,雖然大記憶體軟體已有一些切實可行且效果不錯的應用場景,但大記憶體軟體既是儲存革命在軟體層面的第一個進展,也是MemVerge的第一個版本。範承工也表示,這一版本軟體還有一些值得升級的地方,例如將手動調控比例升級為智慧自動化、ZeroIO快照還可以有更多的資料服務,安全服務也是MemVerge未來會考慮的方向。
範承工認為,大記憶體軟體才剛剛開始,這是一件值得MemVerge持續十幾年時間投入來做的一件事,基於千億美元的記憶體市場,需要更多的軟體來更好地管理最佳化,才能充分發揮出記憶體的價值,那時候大記憶體軟體將是一個百億美元的市場。
“儲存革命無法靠我們一家創業公司獨立完成,還需要更多的合作伙伴共同建立一個良好的生態,才能完成這場革命。”範承工說。
文中圖片源自MemVerge