在數據中心,處理器和存儲之間的競爭永無止境。 在過去十年中,處理器的內核數量從一個或兩個增加到 8 個、16 個、32 個甚至 64 個。這段時間的存儲技術顯著降低了延遲並提高了數據吞吐量。 然而,現實是太多的 CPU 週期被浪費在等待駐留在 PCIe 設備或網絡存儲上的數據上。 隨著一種新型存儲硬件的出現:存儲級內存 (SCM),我們正在達到一個轉折點。 SCM 駐留在內存通道上,不受外圍存儲的延遲和數據帶寬限制的影響。 在內存通道上,SCM 離 CPU 更近了,這意味著它有更多並發的“泳道”來將數據穿梭到現代 CPU 上。 這顯著提高了處理器訪問數據的速度。
在數據中心,處理器和存儲之間的競爭永無止境。 在過去十年中,處理器的內核數量從一個或兩個增加到 8 個、16 個、32 個甚至 64 個。這段時間的存儲技術顯著降低了延遲並提高了數據吞吐量。 然而,現實是太多的 CPU 週期被浪費在等待駐留在 PCIe 設備或網絡存儲上的數據上。 隨著一種新型存儲硬件的出現:存儲級內存 (SCM),我們正在達到一個轉折點。 SCM 駐留在內存通道上,不受外圍存儲的延遲和數據帶寬限制的影響。 在內存通道上,SCM 離 CPU 更近了,這意味著它有更多並發的“泳道”來將數據穿梭到現代 CPU 上。 這顯著提高了處理器訪問數據的速度。
由於 SCM 比常見的數據中心存儲解決方案快得多,它有能力重塑我們使用存儲的方式。 儘管 SCM 有可能使存儲在數據中心技術競賽中處於領先地位,但只有我們能夠利用它,它才能成功——這完全有可能通過設計的能力有效地利用 SCM 的數據存儲能力。 在本文中,我們將闡述 SCM 是什麼,並討論是什麼讓它如此具有變革性:這項技術的前景、我們對其進行測試的過程,以及我們認為它可能在數據中心產生變革的原因。
許多新硬件技術的問題之一是它們可能需要重寫或重新架構應用程序或服務才能利用它們的功能。 一個典型的例子是當多核處理器剛出現時需要編寫多線程代碼來利用它們。 SCM在一家公司之前處於相同的情況, 配方黑,設計了一種允許現有的、未修改的應用程序利用 SCM 來加速應用程序性能的方法。 配方黑 開發了內存管理軟件,為應用程序提供了一個標準的 POSIX 兼容塊設備,無需任何修改即可利用 SCM。 Formulus Black 的早期測試表明,使用 SCM 支持的存儲的應用程序表現出顯著的性能提升。 我們將在 StorageReview.com 實驗室中驗證和量化這些收益。
在深入了解 Formulus Black 的細節之前,讓我們簡要回顧一下 SCM 及其背景。 SCM 與我們看到的任何其他服務器存儲有很大不同,處理器通過 DIMM 插槽通過內存總線訪問它,而不是通過外設總線(如 NVMe 和 SSD/HDD 的情況)——這種處理器方法訪問轉化為延遲的顯著減少。 與 DRAM(非持久性)不同,SCM 會在斷電或重啟後保留信息。 儘管 SCM 具有優於 SSD/HDD 技術的其他功能,但它的訪問速度和持久性是迄今為止最重要的。
使 SCM 成為現實的技術需要很長時間才能開發出來。 因為您不能簡單地將 NAND(目前用於 SSD 設備)插入 DIMM 插槽並期望它運行良好,所以需要開發一種新形式的半導體。 英特爾憑藉其在其產品中使用的 3D XPoint 芯片處於 SCM 技術的前沿 傲騰 DC 持久內存 生產線。
英特爾的早期測試表明,3D XPoint 比 NAND 快 100 倍,但只比 DRAM 慢 10 倍。 儘管比 DRAM 慢很多,但 3D XPoint 支持容量更高、成本更低的設備,並且如前所述,具有數據持久性——DRAM 不具備。 儘管市場上有不同的 SCM PMEM 產品,但為簡單起見,並且由於英特爾目前似乎是該領域的領導者,我們將在本文中重點介紹其 SCM 產品。
一旦 SCM 產品可用,公司就需要找出利用該技術的最佳方法——而 Formulus Black 正是通過 富彩. Forsa 是一個軟件堆棧,它允許使用 SCM 或 DRAM 作為物理存儲介質來創建和管理稱為邏輯擴展內存 (LEM) 的塊級設備。 由於 LEM 是 POSIX 兼容的,因此應用程序可以直接使用它; 您可以在其上安裝標准文件系統,也可以由虛擬機 (VM) 使用。 需要說明的是,Forsa 也可以與 DRAM 一起使用,但我們將在 StorageReview.com 實驗室中執行的測試將與 Optane DC 持久內存 (DCPMM) 一起使用。
DCPMM 還有其他塊級設備驅動程序,但與其他塊級設備不同,Formulus Black 賦予 LEM 企業存儲功能,如數據完整性、實時數據縮減、克隆、快照、高可用性等。這些功能可以作為文件系統或直接由應用程序使用(無論 LEM 是否被 VM 使用)。 此外,FORSA 處理使用內存通道所特有的複雜性,例如庫存 DCPMM 不具有 NUMA 感知能力,而 FORSA LEM 因其 NURA 架構而具有 NUMA 感知能力。 例如,Forsa 無需在我們測試實驗室的 Lenovo SR950 服務器上配置和管理四個獨立的 SCM 存儲區域,而是將所有 SCM 內存區域映射到多路服務器上的所有 NUMA 節點,並使您能夠配置和管理 SCM-基於 LEMs 使用所有的總 SCM 容量。
使用上述企業功能創建和啟用 LEM 非常簡單,因為 Forsa 有一個基於 Web 的漂亮用戶界面。 然而,由於 Formulus Black 具有 API 優先的理念,所有 LEM 管理功能都可以通過其 RESTful API 訪問。
為確保數據完整性,Forsa 有一個中央容錯管理器 (CFTM),可執行內存錯誤檢查和壞塊替換 (BBR)。
為了提高數據效率,Formulus Black 還提供數據縮減功能,這是一種實時內聯算法,使用其專有的 Formulus Bit Marker (FbM) 技術來減少重複數據。 Formulus Black 的早期測試表明,FbM 可以增加可存儲在相同物理內存介質中的原始數據量,並降低將內存用作快速存儲層的每 GB 的有效成本。 然而,在他們部署了許多 RHEL VM 實例的利基案例測試中,他們聲稱 FbM 將內存的有效存儲容量提高了 20 倍以上。 這是由於 FbM 能夠檢測數據模式,例如 RHEL 的黃金映像實例和跨多個虛擬機實例運行的其他應用程序數據。
對於數據保護,Forsa 可以在高可用性 (HA) 模式下使用,在該模式下,它會在第二個節點上創建要保護的 LEM 的鏡像。 我們看到 HA 模式對於高價值 LEM 或使用 DRAM 作為存儲支持時非常有用,因為它是非持久性的。
您還可以通過將 LEM 備份到 SSD 存儲設備來保護它們。 Forsa 的備份功能 BLINK 是您可以在系統上的所有或部分 LEM 上使用的功能。 與 HA 模式一樣,我們看到 BLINK 對於高價值 LEM 或在使用 DRAM 作為存儲支持時非常有用,因為它是非持久性的。
在某些情況下,您要創建的 LEM 會超出單個服務器上 DRAM 或 SCM 的容量。 為了適應這些情況,您可以使用 Forsa 創建一個跨越兩個運行 Forsa 的服務器的 LEM。
運行 Forsa 的要求相當寬鬆,您可以在 Formulus Black 網站上找到它們。 Intel Optane DC Persistent Memory 的要求更為嚴格,因為它僅在某些主板及其最新處理器的某些型號上受支持。 對於我們的測試,我們將使用裝備精良的 Lenovo SR950 服務器。 我們將使用的 SR950 具有 768 GB 內存、4 個 8280M CPU、一個用於啟動的板載 SATA m.2 SSD 和 12 個 1.6TB Intel P4610 NVMe SSD。 在我們之前的測試中,我們看到了令人印象深刻的性能結果。 在 VDBench 工作負載中,它能夠在 5K 讀取中提供超過 4 萬次 IOPS,在 3.2K 寫入中提供超過 4 萬次 IOPS。 這是測試 Forsa 的完美系統,因為它不會受到任何 CPU 性能問題的瓶頸。 A 可以在這裡找到 SR950 的完整評論.
一些應用程序(例如 SAP HANA)已被重寫或修改以利用 DCPMM 技術,但絕大多數都沒有。 除了有可能使用這種極快的存儲之外,Forsa 還擴展了 DCPMM 的功能,因為它支持企業客戶所需的功能,例如 HA、備份和通過 FbM 進行數據縮減。 Formulus Black Forsa 有很大的前景,我們期待著在我們的實驗室中使用它。 無需重寫或重新構建應用程序即可利用 SCM 技術的能力可以使 Forsa 成為 DCPMM 的殺手級應用程序。
Formulus Black 大膽宣稱 Forsa 是市場上最快的持久內存塊存儲接口,並聲稱 Forsa LEM 的性能甚至優於持久內存本機文件系統。 在 StorageReview,我們期待在我們的實驗室中使用它並測試這些聲明。
Formulus Black 產品簡介 (PDF)
本報告由 Formulus Black 贊助。 本報告中表達的所有觀點和意見均基於我們對所考慮產品的公正看法。