在最新的IT的發(fā)展進(jìn)程中,存儲(chǔ)和內(nèi)存被推向了混合(部署)的方向。因此,軟件定義內(nèi)存的想法也在慢慢地變成一種現(xiàn)實(shí)。
軟件定義存儲(chǔ)剛剛開始發(fā)酵,但是系統(tǒng)變革的步伐很快,其中的一些創(chuàng)新的想法已經(jīng)慢慢成為人們的關(guān)注焦點(diǎn)。
我們?cè)谶@里所討論的并不是磁盤池,或者是固態(tài)硬盤(SSD)。存儲(chǔ)的未來應(yīng)該是依附于內(nèi)存的,在引入非易失性雙內(nèi)存模塊(NVDIMMs)之后,系統(tǒng)內(nèi)存就變得越來越復(fù)雜了。它融合了內(nèi)存的速度以及數(shù)據(jù)中心存儲(chǔ)架構(gòu)的持久度特性。
這些產(chǎn)品現(xiàn)在已經(jīng)面市了。Micron已經(jīng)發(fā)布了面向生產(chǎn)環(huán)境的第一款全閃存的NVDIMM,并且很多廠家也已經(jīng)開始提供包含NVDIMM的服務(wù)器。它的優(yōu)勢(shì)是,數(shù)據(jù)將會(huì)在內(nèi)存中以比PCIe更快的速度被進(jìn)行處理,盡管NVDIMM閃存還是比DRAM要慢一些。
在一些情況下,比如像軍方系統(tǒng)或者財(cái)務(wù)服務(wù)系統(tǒng),他們所需要的內(nèi)存更加高一些。因此Viking Technology創(chuàng)建了一種新的NVDIMM,其中包含了大容量的DRAM和閃存。當(dāng)系統(tǒng)啟動(dòng)的時(shí)候,用戶可以選擇將數(shù)據(jù)從閃存導(dǎo)入到對(duì)應(yīng)的DRAM中去。當(dāng)系統(tǒng)關(guān)閉的時(shí)候,DRAM的數(shù)據(jù)會(huì)回寫到閃存中。
Viking的方法最大的好處是系統(tǒng)可以使用CPU寄存器命令將數(shù)據(jù)寫入到DRAM中。這需要使用在單字節(jié)上進(jìn)行寫入的操作,而不是像在傳統(tǒng)存儲(chǔ)和所有NVDIMM閃存中的以4KB為文件I/O單元進(jìn)行操作。支持這種功能的軟件很復(fù)雜,不僅僅需要改變操作系統(tǒng),讓其支持相關(guān)的異常處理,還需要涉及擴(kuò)展相關(guān)的編譯器。因?yàn)檫@種類型的輸入輸出不適用標(biāo)準(zhǔn)的區(qū)域塊,因此相應(yīng)的應(yīng)用程序也要進(jìn)行更改。
我們可以期望在2017年年底看到這方面的真實(shí)產(chǎn)品(應(yīng)用程序)。最有可能先出現(xiàn)在數(shù)據(jù)庫(kù)系統(tǒng)方面,數(shù)據(jù)庫(kù)廠家會(huì)執(zhí)行所有相關(guān)的變更,并且開放平臺(tái)給終端用戶,這一切對(duì)用戶可以說是透明的。
作為閃存的替代,很多公司開始嘗試提高持續(xù)性存儲(chǔ)和非持續(xù)性存儲(chǔ)之間的傳輸速率,其中包括了英特爾,美光的3D XPoint,惠普企業(yè),閃迪的 Memristor,索尼和Viking Technology的ReRAM。但即使是這樣,這些方案也會(huì)比現(xiàn)在的DRAM慢一些。
要接受這種新的技術(shù)前提是應(yīng)用程序需要能像識(shí)別DRAM這種字節(jié)型可尋址空間或者塊狀I(lǐng)/O驅(qū)動(dòng)一樣識(shí)別它。否則的話,這些提高的速度會(huì)被應(yīng)用程序的開銷損失掉。這需要很多公司的共同努力,而且要將這種前沿的產(chǎn)品推向市場(chǎng)存在這很大的復(fù)雜度,因此不要期望能在2017年年底或2018年初之前看到這類產(chǎn)品面市。
固態(tài)硬盤(SSD)已經(jīng)變得越來越快,也越來越緊湊,我們?cè)谑袌?chǎng)上可以看到擁有100萬IOPS以及100TB容量的固態(tài)硬盤。顯然,我們面對(duì)著很多存儲(chǔ)的選擇,這會(huì)給系統(tǒng)的性能帶來很大的提升。但也會(huì)給數(shù)據(jù)中心存儲(chǔ)架構(gòu)的設(shè)計(jì)方面帶來一些混亂。
NVDIMM和SSD成為了互相的補(bǔ)充。NVDIMM將會(huì)擁有上TB大小的閃存(當(dāng)3D NAND 被集成之后),并且使用操作系統(tǒng)驅(qū)動(dòng)來讓它像一個(gè)硬盤一樣被使用。最大容量的NVDIMM已經(jīng)差不多面世了,容量可能會(huì)到達(dá)5TB的大小,也差不多就是最小的SSD的容量。
重新定義內(nèi)存
這也是軟件定義內(nèi)存(SDM)引入的原因。如果內(nèi)存是可持續(xù)性的,那么為什么它不可以和其他可持續(xù)性的存儲(chǔ)一起協(xié)同合作呢?SDM的理念是將所有內(nèi)存和存儲(chǔ)都當(dāng)做一個(gè)服務(wù),利用軟件工具將數(shù)據(jù)在不同的物理設(shè)備間進(jìn)行移動(dòng)。舉個(gè)例子,一個(gè)內(nèi)存對(duì)象可以在DRAM中創(chuàng)建,其中比較少訪問的那一部分可以移動(dòng)到內(nèi)存棧的持續(xù)性雙線內(nèi)存模塊(DIMM)中,最后移動(dòng)到SSD上。
SDM現(xiàn)在還處于初期的階段,因此現(xiàn)在對(duì)應(yīng)的軟件還是與相應(yīng)的廠家綁定在一起,例如Intel或者Diablo Technologies。這個(gè)現(xiàn)象在將來可能會(huì)改變,因?yàn)榇蠖鄶?shù)的代碼——除了驅(qū)動(dòng)程序——都應(yīng)該可以在不同的(廠家)硬件中運(yùn)行才對(duì)。
如果我們應(yīng)用類似壓縮這樣的數(shù)據(jù)服務(wù),那么這里面的復(fù)雜度就大大地提高了。壓縮會(huì)增加五倍的持續(xù)型NVDIMM的可用空間,但會(huì)減少數(shù)據(jù)傳輸?shù)絻?nèi)存中所消耗的時(shí)間。復(fù)制、刪除代碼、加密和索引這些服務(wù)都會(huì)成為在NVDIMMs上可能的數(shù)據(jù)服務(wù)。
這種在所有內(nèi)存架構(gòu)上的軟件定義存儲(chǔ)模型的存在會(huì)鼓舞著一些有意思的架構(gòu)上的改進(jìn)。由8個(gè)廠家組成的混合立方內(nèi)存芯片聯(lián)盟提出了3D內(nèi)存芯片(HMC)的概念,旨在將傳統(tǒng)的并行總線替代為低功效的串行總線系統(tǒng)DIMM。DIMM有很多并行的通道,這些通道就像當(dāng)今服務(wù)器的獨(dú)立PCIe線纜一樣。
HMC處理器會(huì)有額外級(jí)別的緩存(可能高至32GB),由更快的DRAM組成,可以動(dòng)態(tài)地提高性能。同時(shí)它還有很大的模塊外的DRAM容量,其中包含了非易失性的內(nèi)存。有了這個(gè)東西,有效的系統(tǒng)內(nèi)存空間將變得更大(即便在壓縮之前)。這個(gè)概念將很可能在2017年上半年成為現(xiàn)實(shí)。
另一個(gè)可能會(huì)在2018年登臺(tái)的創(chuàng)新產(chǎn)品是將內(nèi)存和SSD存儲(chǔ)池平級(jí)地放在集群中。這樣會(huì)讓數(shù)據(jù)從持久性系統(tǒng)內(nèi)存直接移動(dòng)到SSD或者在集群中的其他節(jié)點(diǎn),這樣會(huì)減少內(nèi)部總線的負(fù)載。虛擬機(jī)或者容器中的數(shù)據(jù)服務(wù)可以在SDS中控制這類型的數(shù)據(jù)流。
SDM的關(guān)鍵其實(shí)在于廠家正在開發(fā)的數(shù)據(jù)服務(wù)工具,這又會(huì)和不同的非易失性DIMM有關(guān)系。
硬件廠家驅(qū)動(dòng)著創(chuàng)新
除了操作系統(tǒng)的更新,新的驅(qū)動(dòng)程序更新也在涌現(xiàn)。這些對(duì)字節(jié)尋址能力和塊模式操作都會(huì)帶來性能提升的可能性。舉個(gè)例子,西部數(shù)據(jù)的閃迪有一種非易失性的內(nèi)存文件系統(tǒng),它可以加速傳統(tǒng)的塊讀寫應(yīng)用程序和自動(dòng)指派內(nèi)存,這些都支持基于字節(jié)尋址的非易失性內(nèi)存空間。它們會(huì)到達(dá)服務(wù)器的非持續(xù)性內(nèi)存SSD池中,將服務(wù)器內(nèi)的內(nèi)存當(dāng)做整個(gè)單元,排除不同層級(jí)的自動(dòng)堆棧。
英特爾正在準(zhǔn)備著它們自己的SD XPoint版本Optane,將會(huì)發(fā)布一塊有塊讀寫接口的SSD。當(dāng)NVDIMM未來成為可行方案的時(shí)候,未來的產(chǎn)品線會(huì)更加豐富,可以使用軟件定義存儲(chǔ)來連接服務(wù)器內(nèi)存集群的不同單元,或者存儲(chǔ)類的內(nèi)存來對(duì)NVDIMM建立集群。所有的這些都會(huì)包含基于字節(jié)的尋址。
有了這些軟件工具,DRAM,Optance NVDIMM/NVMe SSD存儲(chǔ)會(huì)被系統(tǒng)識(shí)別為一個(gè)統(tǒng)一體,共享的內(nèi)存池。英特爾宣稱所有的操作系統(tǒng)和應(yīng)用程序都不需要因?yàn)槭褂眠@些工具而進(jìn)行改變,不過這個(gè)巨大的內(nèi)存池優(yōu)化起來是一件不容易的事情。英特爾說,ScaleMP提供的新的預(yù)測(cè)緩存軟件可以有效地緩解這個(gè)延遲問題。
非易失性存儲(chǔ)的混合形式NVDIMM-N可以被當(dāng)有快速讀寫速度的DRAM來使用。使用CPU寄存式存儲(chǔ)器指引來執(zhí)行數(shù)據(jù)傳輸對(duì)軟件生態(tài)系統(tǒng)來說是有好處的。現(xiàn)在的操作系統(tǒng)并不能識(shí)別內(nèi)存中的哪一些是持久性的。不同的上下游廠家正在嘗試部署操作系統(tǒng)更新,新的驅(qū)動(dòng)程序和兼容的軟件應(yīng)用來解決這個(gè)問題。
與此同時(shí),就像全flash的NVDIMM一樣,廠家的驅(qū)動(dòng)可以讓DRAM成為超級(jí)快的存儲(chǔ)驅(qū)動(dòng),使用4KB的塊讀寫。但DIMM的性能被受限于同樣容量的DRAM和備份的閃存,因此像Enmotus或者Plexistor公司提供的微分層驅(qū)動(dòng)程序是必要的,它能將閃存的容量擴(kuò)展到最大的潛力。
NVDIMM-F(全flash選擇)使用了快讀寫的訪問機(jī)制以及廠家的驅(qū)動(dòng)來將內(nèi)存抽象化為操作系統(tǒng)中的一個(gè)磁盤。它不需要任何應(yīng)用程序的變更,而通過產(chǎn)品的高速節(jié)點(diǎn)連接非持續(xù)性內(nèi)存接口(NVMe),另外它使用環(huán)形隊(duì)列而不是SCSI I/O棧來設(shè)計(jì)驅(qū)動(dòng)程序,以減少負(fù)載和速度。
新出現(xiàn)的例如XPoint的技術(shù)則改變了整個(gè)游戲。它們被設(shè)計(jì)為NOR設(shè)備(對(duì)比與標(biāo)準(zhǔn)的NAND設(shè)備),邏輯性地選擇哪一個(gè)有效的單元來讀寫,允許自由的字節(jié)尋址能力。同樣的,它們也會(huì)被當(dāng)做磁盤來使用,處理塊的讀寫。驅(qū)動(dòng)器和操作系統(tǒng)功能的快速變革——就像NVDIMM-N——會(huì)讓通過CPU寄存器命令來直接訪問字節(jié)成為可能。
即使它們比NAND閃存速度要快,但它們速度并沒有超過DRAM,這會(huì)帶來與緩存相關(guān)的問題。要解決這個(gè)問題可能會(huì)涉及HMC模塊的基礎(chǔ)架構(gòu),即在DIMM和CPU之間放置大容量的快速DRAM。
SDM是一種在數(shù)據(jù)中心新興的技術(shù),它的硬件平臺(tái)和SDM軟件都在很快地在進(jìn)行著變革。在今年我們會(huì)看到很多不一樣的變化,同時(shí)我們可能會(huì)犯一些錯(cuò)誤,但是總體來說SDM離被主流的接納不會(huì)太遠(yuǎn)。