從2015年英特爾與美光發(fā)布3D XPoint非易失性內(nèi)存技術(shù)以來(lái),IT業(yè)內(nèi)人士一直在圍繞其性價(jià)比以及各項(xiàng)表現(xiàn)展開討論。不過(guò)3D XPoint最初的市場(chǎng)反應(yīng),只能說(shuō)是不冷不熱。但隨著英特爾和美光先后向市場(chǎng)引入基于3D XPoint技術(shù)的SSD(固態(tài)硬盤),也稱為存儲(chǔ)級(jí)內(nèi)存(SCM);以及基于3D XPoint的DIMM(雙列直插式存儲(chǔ)模塊),也稱為數(shù)據(jù)中心級(jí)持久內(nèi)存模塊(DCPMM),或簡(jiǎn)稱為PMEM,并提供實(shí)際的基準(zhǔn)測(cè)試?;谄淞钊擞∠笊羁绦阅苤笜?biāo),OEM系統(tǒng)供應(yīng)商和企業(yè)用戶的熱情也開始高漲。
存儲(chǔ)級(jí)內(nèi)存
SCM是3D XPoint技術(shù)的第一個(gè)產(chǎn)品化實(shí)現(xiàn)。數(shù)據(jù)顯示,SCM基準(zhǔn)通常比最快的NVMe閃存SSD延遲更低,而且IOPS大約是后者的2.5到3倍。大型數(shù)據(jù)傳輸基準(zhǔn)測(cè)試顯示,性能提高了10倍之多。
也許SCM最重要的性能優(yōu)勢(shì)是它具有非常小的寫入延遲,這是NAND閃存很難實(shí)現(xiàn)的。SCM更多搭載在高性能存儲(chǔ)陣列中,雖然它也可用于服務(wù)器。
對(duì)于許多IT業(yè)內(nèi)人士來(lái)說(shuō),主要考慮因素可能在于性價(jià)比。在相同容量下,SCM的平均價(jià)格點(diǎn)一般比最快的NVMe閃存SSD還要高出4到5倍。但是僅僅依據(jù)性價(jià)比來(lái)判斷是否采用它,這從某種程度上來(lái)說(shuō)是不合理的。因?yàn)檫@個(gè)問(wèn)題歸根結(jié)底是業(yè)務(wù)應(yīng)用的問(wèn)題,同時(shí)還要考慮性能提升所帶來(lái)的“線上預(yù)算”回報(bào)。
對(duì)于許多IT人員來(lái)說(shuō),線上預(yù)算回報(bào)可能是一個(gè)新概念。它是指業(yè)務(wù)應(yīng)用更快響應(yīng)和更早上市帶來(lái)的回報(bào)收入——如果沒(méi)有性能提升,這些收入就不會(huì)存在。一個(gè)很好的例子就是高頻交易,延遲減少10倍可以帶來(lái)數(shù)百萬(wàn)美元的收入。對(duì)其他業(yè)務(wù)來(lái)說(shuō),延遲和響應(yīng)時(shí)間的改善可能會(huì)加快上市速度,提高市場(chǎng)份額,從而帶來(lái)更高的收入和利潤(rùn)。
那么,SCM對(duì)哪些應(yīng)用程序最有價(jià)值呢?那些需要低讀寫延遲和大量數(shù)據(jù)傳輸?shù)?。?shù)據(jù)庫(kù)和各種人工智能技術(shù),包括機(jī)器學(xué)習(xí)、深度機(jī)器學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò),都需要非常低的讀寫延遲。數(shù)據(jù)倉(cāng)庫(kù)、大數(shù)據(jù)分析和高性能計(jì)算,更能夠從更快的大量數(shù)據(jù)傳輸中獲益。
數(shù)據(jù)中心級(jí)持久內(nèi)存
那么DCPMM或PMEM呢?在了解如何有效地使用這種技術(shù)之前,需要掌握一些背景知識(shí)。
到目前為止,DCPMM類產(chǎn)品只有英特爾供應(yīng),它是采用3D XPoint技術(shù),基于DDR4標(biāo)準(zhǔn)的DIMM型內(nèi)存。目前提供從128 GB到512 GB的不同容量規(guī)格。每個(gè)CPU最多支持6個(gè)DCPMM,每個(gè)DCPMM與一個(gè)DRAM DIMM配對(duì)。DCPMM需要第二代或更好的英特爾 Cascade Lake處理器支持。
從單個(gè)字節(jié)的存儲(chǔ)的層面上來(lái)看,DCPMM的開銷大約是DRAM的一半,但是速度大約要慢10倍。兩者都以字節(jié)模式寫入,它們的關(guān)鍵區(qū)別在于數(shù)據(jù)持久性。即使斷電,DCPMM也可以保存數(shù)據(jù),因此被稱作持久內(nèi)存。什么,等待。由于它基于非易失性3D XPoint技術(shù),數(shù)據(jù)不應(yīng)該總是持久的嗎?答案是是也不是。
DCPMM有兩種模式:內(nèi)存模式和應(yīng)用直接訪問(wèn)模式。內(nèi)存模式是持久內(nèi)存的主要使用方式,使它看起來(lái)就像DRAM一樣。在內(nèi)存模式下使用DCPMM時(shí),系統(tǒng)會(huì)有更大的內(nèi)存空間可供分配。使用DCPMM作為主要的內(nèi)存存儲(chǔ),DRAM DIMM作為系統(tǒng)當(dāng)前所需數(shù)據(jù)的快速緩沖區(qū)。就性能而言,這是比使用DRAM緩沖NVMe NAND閃存更好的選擇。內(nèi)存模式最好的地方是不需要改變應(yīng)用程序或文件系統(tǒng)就可以使用DCPMM,也就是即插即用。然而,這些數(shù)據(jù)的存儲(chǔ)一般來(lái)說(shuō)是不持久的,持久存儲(chǔ)需要應(yīng)用直接訪問(wèn)模式。
應(yīng)用直接訪問(wèn)模式使DCPMM看起來(lái)、給人的感覺(jué)以及工作表現(xiàn)都更類似于RAM磁盤。即使關(guān)閉電源,數(shù)據(jù)也會(huì)持續(xù)存在。這可以快速重新啟動(dòng),最大限度地減少停機(jī)時(shí)間和避免數(shù)據(jù)丟失,盡管它本身無(wú)法自啟動(dòng)。應(yīng)用直接訪問(wèn)模式對(duì)關(guān)系數(shù)據(jù)庫(kù)很有吸引力,因?yàn)樗?jiǎn)化了在內(nèi)存中運(yùn)行時(shí)的原子性、一致性、隔離性和持久性要求。更大的內(nèi)存空間,也使得在內(nèi)存中運(yùn)行任何數(shù)據(jù)庫(kù)都會(huì)更加容易。但與內(nèi)存模式不同,應(yīng)用直接訪問(wèn)模式并不是即插即用的。它需要修改應(yīng)用程序,可能還需要修改文件系統(tǒng)——這不是一件小事。
一個(gè)比較出名的應(yīng)用直接訪問(wèn)模式案例是Oracle Exadata X8M。Oracle使用應(yīng)用直接訪問(wèn)模式通過(guò)融合以太網(wǎng)進(jìn)行遠(yuǎn)程直接內(nèi)存訪問(wèn),以便將存儲(chǔ)服務(wù)器中的所有DCPMM集中在一起,因此對(duì)于所有數(shù)據(jù)庫(kù)服務(wù)器而言,它們都會(huì)作為單個(gè)持久內(nèi)存池(每個(gè)機(jī)架最多27 TB)出現(xiàn)。其結(jié)果是驚人的,提供19μs乃至更低的延遲, 1600萬(wàn)8 K SQL讀IOPS。Oracle在基于非持久內(nèi)存的Exadata X8上,以同等價(jià)位只實(shí)現(xiàn)了250μs延遲和657萬(wàn)8 K SQL讀IOPS。相同價(jià)格下,Exadata X8M延遲低10倍多,IOPS大約高2.5倍。
回到最初的問(wèn)題,SCM和DCPMM值這個(gè)價(jià)嗎?答案是:視情況而定。這取決于更低的延遲、更快的響應(yīng)時(shí)間和更快的大數(shù)據(jù)吞吐量是否會(huì)顯著提高生產(chǎn)力、上市時(shí)間和業(yè)務(wù)收入,當(dāng)然同時(shí)也取決于性價(jià)比。
原文作者:Marc Staimer