DCPMM

Intel Optane DC Persistent Memory Module (PMM)持久內存

 

英特爾已經公開討論了一年多的Optane DC Persistent Memory Module(PMM),體現了一種新的以數據爲中心的體系結構,在這個體系結構中,PMM位於DRAM和Optane DC SSD之間,再往下依次是速度較慢的SSD和HDD介質以及存檔級別磁帶介質。持久內存的目標一直是將更多的數據移動到更靠近CPU的位置,從而獲得DRAM級別的低延遲以及存儲級別的持久性和容量。在與硬件和軟件合作伙伴緊密合作及討論一年之後,隨着第二代Intel Xeon Scalable Processor可擴展處理器的發佈,Optane DC持久內存現在可以正式在各種服務器解決方案中得到應用。
在這裏插入圖片描述
在這裏插入圖片描述
Intel Optane DC Persistent Memory Module

Intel Optane DC Persistent Memory硬件概述

Intel Optane DC持久內存模塊的容量比傳統的DRAM高得多。Intel Optane DC持久內存模塊的容量爲128GB、256GB和512GB,遠遠大於常用的4GB到32GB的DRAM DIMM,儘管DRAM也有更大的容量的DIMM(128GB)。PMM模塊與DRAM在同一個內存通道上使用,並且應該填充在每個通道上最靠近CPU的插槽上。英特爾推薦的一種流行配置是4:1的比率,32GB DRAM到128GB DCPMM,您可以在下面看到。
在這裏插入圖片描述
在這裏插入圖片描述
每個CPU最多可支持6個持久內存模塊。在支持兩個Intel Xeon可擴展處理器的典型服務器中,這意味着每個系統可安裝12個持久內存模塊,或者持久內存容量最高可達6TB(每個插槽3TB)。支持持久內存的服務器還將支持通過其系統BIOS對持久內存進行配置,在這些模塊中可以設置持久內存模式、創建命名空間和配置存儲池等設置。同樣級別的可見性和配置也可以通過操作系統執行。
在這裏插入圖片描述

PMM的通信方式

Intel Optane DC Persistent Memory使用DDR-T協議。這允許異步命令/數據計時(asynchronous comm and/data timing)。模塊控制器使用請求/授權方案(request/grant scheme)與主機控制器通信。數據總線方向和定時由主機控制。每個請求的命令包從主機發送到持久內存控制器。如果需要,可以在Intel Optane DC永久內存控制器中重新提交(re-ordered)。與DDR4相似,PMM模塊採用64B緩存線訪問粒度(64B cache line access granularity)。
在這裏插入圖片描述
從硬件的角度來看,Optane DC persistent memory是一個完整的系統,它是一個模塊上的系統,有幾個關鍵的組件:
● 電源管理集成電路(PMIC)爲介質和控制器生成所有軌道(rails)
● SPI閃存存儲模塊的固件
● Intel Optane介質本身構成存儲空間,該存儲空間由11個並行設備組成,用於數據、ECC和備用設備。
● 用於高比特率信號完整性的DQ緩衝區
● AIT DRAM保存地址間接表
● Energy Store Caps確保在電源故障時對所有模塊隊列進行flushing。
● 每個持久性內存模塊的核心都位於Intel Optane DC持久性內存控制器中,該控制器處理板上的子組件的數據傳輸和管理。

當然,在考慮模塊本身時,除了成本和性能之外,壽命可能是最大的關注點。與其他存儲介質一樣,英特爾Optane DC持久性內存的測量單位是pb (PBW)。PBW是根據5年壽命內的帶寬和介質耐久性考慮估計的,假設目標電源使用的最大帶寬爲每年365天24/7。在100%寫15W的情況下,持久內存模塊支持超過350PBW,如下圖所示。

另外需要注意的一點,Optane DC模塊可針對不同的功率限制進行編程,從而實現廣泛的優化。持久內存模塊支持12W–18W的功率範圍,並且可以在0.25瓦的粒度中進行調整,越高的電源設置將帶來越好的性能。在不考慮功耗成本的前提下,可以根據服務器支持的最大限度來提高性能。
在這裏插入圖片描述

Intel Optane DC Persistent Memory工作模式

一旦部署到服務器中,PMM就可以在各種操作模式中進一步配置,包括內存模式和應用程序直接模式,以及在這兩者之間按比例分配的混合模式。

持久內存-內存模式

在內存模式下,PMM的使用非常類似於DRAM。不需要對應用程序進行特定的更改也不需要特定的軟件支持,持久內存將模擬DRAM的方式運行,使數據保持“易失性”,儘管每個電源週期都會清除易失性密鑰。在內存模式下,持久內存用作DRAM的擴展,由主機內存控制器管理。持久內存與DRAM之間沒有設置比率,可根據應用程序的需求進行混合配置。在延遲配置文件方面,任何觸及DRAM緩存(內存附近)的東西都會提供小於100納秒的延遲。任何緩存未命中都將流向持久內存(遠內存),該內存可以達到亞微秒級別的延遲。
在這裏插入圖片描述

持久內存- App Direct模式

App Direct模式需要特定的持久內存感知軟件/應用程序。這種模式使持久內存保持不變,但可以像內存一樣字節可尋址(byte addressable)。在App Direct模式下持久內存將保持緩存一致性,並提供了進行DMA和RDMA的能力。
還可以將持久內存配置爲AppDirect上的存儲(Storage over App Direct)。在這裏,持久內存以塊的方式工作,就像SSD那樣,使用傳統的讀/寫指令。這適用於現有的文件系統,在塊級別上提供原子性,並且塊的大小可以配置(4K、512B)。要使用Storage over App Direct ,用戶只需要一個NVDIMM驅動程序。與傳統企業級SSD相比,此模式允許容量擴展和更好的性能、更低的延遲和更高的耐久性。
在這裏插入圖片描述

持久內存- 混合模式

DCPMM一定容量的百分比用於內存模式,其餘部分用於App Direct模式。平臺中的任何DRAM都將作爲緩存與DCPMMs一起工作。
在這裏插入圖片描述

Intel Optane DC Persistent Memory的優點

Intel Optane DC持久內存模塊爲最終用戶提供了各種各樣的好處。首先,這些模塊提供了一種以更具成本效益的方式有效地擴展服務器的DRAM的方法。因爲持久性內存可以與DRAM層相齧合,所以有效的可用DRAM佔用空間可以更快地擴展,持久性內存可以改善服務器投資的總體TCO。此外,由於服務器能夠更快地處理更多的數據,一些服務器可能利用新的機會整合工作負載。還有第二個參數,當涉及到價值時可以進行。
對於可能不需要DRAM提供的納秒級延遲的工作負載,可以選擇使用更少的DRAM而使用更多的持久內存構建服務器,以保持合理或更大的內存佔用,但使用更具成本效益的持久內存模塊而不是DRAM。

持久內存模塊(顧名思義)是持久的。這意味着不需要用數據刷新PMMs,這將大大加快服務器重新啓動的速度。對於內存駐留數據庫,這一點非常重要。服務器重新啓動後,恢復內存中所有數據的時間可能需要很長時間。專注於高性能數據庫的獨立軟件供應商(ISV)從這些場景下的持久內存中獲得了巨大的收益,在這些場景中,快速實現操作是一個關鍵概念。事實上,英特爾已經展示了這種效果的數據。一個列存儲整個重新加載到DRAM中的1.3tb數據集,他們發現在一個只有DRAM的服務器中需要20分鐘。在持久內存之前,該服務器中的整個系統重新啓動時間爲32分鐘;操作系統爲12分鐘,數據爲20分鐘。使用持久內存的同一臺服務器花費了13.5分鐘。雖然表面上看起來令人印象深刻,但考慮到數據組件只有一分半鐘,這就更令人印象深刻了,這相當於13倍的增長。

Intel Optane DC Persistent Memory模塊還提供模塊加密,這是第一個硬件加密內存。這些模塊使用256bit AES-XTP加密引擎進行靜態數據保護。在內存模式下,如果DRAM緩存丟失數據,加密密鑰將丟失並在每次啓動時重新生成。在應用程序直接模式下,使用存儲在模塊上的安全元數據區域中的密鑰對持久介質進行加密,該區域只能由Intel Optane DC控制器訪問。Intel Optane DC永久內存在斷電事件中鎖定,需要密碼來解鎖。這些模塊還支持安全加密擦除和寫上的DIMM,以便在生命週期結束時安全地重新調整用途或丟棄。最後,固件的簽名版本是允許的,修訂控制選項是可用的。
在這裏插入圖片描述

Intel Optane DC Persistent Memory Software

雖然重點顯然圍繞着持久內存硬件的好處,但英特爾也有一套重要的軟件工具。以下工具將是通過操作系統管理持久性內存的主要方法,而不是通過重啓服務器並在系統BIOS中進行這些更改。這樣可以節省時間,並防止停機時間在運行中進行更改。

IPMCTL-用於管理Intel Optane DC持久內存模塊的實用程序
在這裏插入圖片描述
IPMCTL支持以下功能:
● 在平臺中發現持久內存模塊。
● 設置平臺內存配置。
● 查看和更新PMM上的固件。
● 在PMM上配置靜態安全數據。
● 監控PMM運行狀況。
● 跟蹤PMM的性能。
● 調試和排除PMM故障。

通過DCPMM FW更新,DCPMM管理實用工具ipmctl將自動安裝在Linux或Windows服務器環境中。用戶可以使用命令行提供DCPMM模式,並重新啓動以激活。
● 100% Memory Mode
ipmctl create -goal memorymode=100
● 100% AppDirect Mode
ipmctl create -goal persistentmemorytype=appdirect
ipmctl create -goal persistentmemorytype=appdirectnotinterleaved
● Mixed Memory Mode and AppDirect Mode
ipmctl create -goal memorymode=% persistentmemorytype=appdirect
ipmctl create -goal memorymode=% persistentmemorytype=appdirectnotinterleaved

NDCTL-管理“libnvdimm”子系統設備(非易失性內存)的實用程序
NDCTL是用於管理“libnvdimm”內核子系統的實用程序。“libnvdimm”子系統爲平臺nvdimm資源定義了內核設備模型和控制消息接口,與ACPI 6.0 NFIT(NVDIMM Firmware Interface Table)定義的資源類似。
該工具支持的操作包括:設置容量(名稱空間),以及枚舉/啓用/禁用與NVDIMM總線關聯的設備(DIMM、區域、名稱空間)。在配置了100% AppDirect或混合模式之後,用戶可以使用OS進行名稱空間管理。
在這裏插入圖片描述
在這裏插入圖片描述

當前全面支持DCPMM的操作系統

● Linux
RHEL7.6 supports Memory mode and AppDirect mode
SLES 12.4 and SLES 15 supports Memory mode and AppDirect mode
● Windows Server
WS2019 supports Memory mode and AppDirect mode
● ESXi
ESXi 6.7u1 supports Memory mode and AppDirect mode.
Native DCPMM driver supported on the OS version listed
在這裏插入圖片描述
本文部份內容引用並翻譯自以下文章:
Intel Optane DC Persistent Memory Module (PMM)

參考資料:
https://www.kclouder.cn/intel-optane-dc-pmm/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章