在數據中心,處理器和存儲之間的競爭永無止境。 在過去十年中,處理器的內核數量從一個或兩個增加到 8 個、16 個、32 個甚至 64 個。這段時間的存儲技術顯著降低了延遲並提高了數據吞吐量。 然而,現實是太多的 CPU 週期被浪費在等待駐留在 PCIe 設備或網絡存儲上的數據上。 隨著一種新型存儲硬件的出現:存儲級內存 (SCM),我們正在達到一個轉折點。 SCM 駐留在內存通道上,不受外圍存儲的延遲和數據帶寬限制的影響。 在內存通道上,SCM 離 CPU 更近了,這意味著它有更多並發的“泳道”來將數據穿梭到現代 CPU 上。 這顯著提高了處理器訪問數據的速度。
由於 SCM 比常見的數據中心存儲解決方案快得多,它有能力重塑我們使用存儲的方式。 儘管 SCM 有可能使存儲在數據中心技術競賽中處於領先地位,但只有我們能夠利用它,它才能成功——這完全有可能通過設計的能力有效地利用 SCM 的數據存儲能力。 在本文中,我們將闡述 SCM 是什麼,並討論是什麼讓它如此具有變革性:這項技術的前景、我們對其進行測試的過程,以及我們認為它可能在數據中心產生變革的原因。
許多新型硬體技術面臨的一個問題是,為了充分利用其功能,可能需要重寫或重新架構應用程式或服務。一個典型的例子是,當多核心處理器剛問世時,為了發揮其優勢,必須編寫多執行緒程式碼。 SCM 也曾面臨同樣的問題,直到一家名為Formulus Black 的公司開發出一種方法,使現有的、未經修改的應用程式也能利用 SCM 來提升效能。 Formulus Black開發了一款記憶體管理軟體,它提供了一個符合 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技術領域處於領先地位,該晶片被應用於其Optane資料中心級持久記憶體產品線。
英特爾的早期測試表明,3D XPoint 比 NAND 快 100 倍,但只比 DRAM 慢 10 倍。 儘管比 DRAM 慢很多,但 3D XPoint 支持容量更高、成本更低的設備,並且如前所述,具有數據持久性——DRAM 不具備。 儘管市場上有不同的 SCM PMEM 產品,但為簡單起見,並且由於英特爾目前似乎是該領域的領導者,我們將在本文中重點介紹其 SCM 產品。
SCM 產品問世後,各公司都需要找到充分利用這項技術的最佳方法——Formulus Black 的Forsa正是為此而生。 Forsa 是一款軟體棧,它允許建立和管理一種名為邏輯擴充記憶體 (LEM) 的區塊級設備,並可使用 SCM 或 DRAM 作為實體記憶體媒體。由於 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 持久記憶體的硬體需求則更為嚴格,因為它僅支援特定的主機板和特定型號的最新處理器。本次測試我們將使用一台配置精良的 Lenovo SR950 伺服器。這台 SR950 擁有 768 GB 記憶體、4 顆 8280M CPU、一塊用於啟動的板載 SATA m.2 SSD 以及 12 塊 1.6TB Intel P4610 NVMe SSD。在我們之前的測試中,這台伺服器展現了令人印象深刻的效能。在 VDBench 工作負載測試中,它在 4K 讀取模式下實現了超過 5 萬 IOPS,在 4K 寫入模式下實現了 3.2 萬 IOPS。這套系統非常適合測試 Forsa,因為它不會受到任何 CPU 效能瓶頸的限制。您可以在這裡找到關於 SR950 的完整評測。
一些應用程序(例如 SAP HANA)已被重寫或修改以利用 DCPMM 技術,但絕大多數都沒有。 除了有可能使用這種極快的存儲之外,Forsa 還擴展了 DCPMM 的功能,因為它支持企業客戶所需的功能,例如 HA、備份和通過 FbM 進行數據縮減。 Formulus Black Forsa 有很大的前景,我們期待著在我們的實驗室中使用它。 無需重寫或重新構建應用程序即可利用 SCM 技術的能力可以使 Forsa 成為 DCPMM 的殺手級應用程序。
Formulus Black 大膽宣稱 Forsa 是市場上最快的持久內存塊存儲接口,並聲稱 Forsa LEM 的性能甚至優於持久內存本機文件系統。 在 StorageReview,我們期待在我們的實驗室中使用它並測試這些聲明。
Formulas Black 產品簡介(PDF)
本報告由 Formulus Black 贊助。 本報告中表達的所有觀點和意見均基於我們對所考慮產品的公正看法。




Amazon