設計工具
公司

NVMe™ over TCP 概念驗證

Ryan Meredith | 2020 年 3 月

概念驗證:Lightbits Labs™ 使用 Micron 9300 的 Apache Cassandra® 效能

現今的資料中心正將其高效能固態硬碟 (SSD) 整合在快速、可擴充且節能的 NVMe™ 協定上。當容量需求需要 SSD 集區時,我們推出了 NVMe Over Fabrics (NVMe-oF™),透過支援可靈活分配給特定應用程式的機架規模遠端 NVMe SSD 集區來解決分離式儲存的問題。接下來的挑戰是如何通過將性能擴展到整個資料中心而不僅僅是單一伺服器,以最大化 NVMe 的效能和投資。

作為 NVMe 標準的貢獻者,美光調查並分享我們在軟體定義儲存空間方面的經驗,特別是在分解式儲存解決方案方面。部署早期 NVMe-oF 實作的最大挑戰之一,就是 RDMA(遠端直接記憶體存取)網狀架構的管理和配置。

我在美光總部位於奧斯汀的解決方案實驗室領導工程團隊,在那裡我的團隊可以嘗試來自業界領導者的新技術。我們最近測試了Lightbits Labs™ 的一種 NVMe-oF 新協定,稱為 NVMe over TCP (NVMe/TCP) 解決方案,該方案避免了 RDMA 的複雜性。

這對美光來說很有趣,因為在交換器上啟用 RDMA 並不輕而易舉,這是一種讓網絡管理變得複雜的情況。使用標準 TCP 傳輸 NVMe 意味著交換器上不需要特殊功能或設置,而且解決方案更容易部署和使用,如圖 1 所示。這種簡化的權衡是 TCP 協定堆疊引入了額外的延遲,相比之下,RDMA 協定(使用本地以太網)則不會。

任何網絡解決方案的成功都取決於其與使用應用程式伺服器中本地儲存的類似配置相比的表現。我們這項測試的目標,是確定 Lightbits LightOS NVMe/TCP 解決方案與本地 NVMe 裝置相比,為雲端工作負載帶來什麼額外的開銷(如有)。

用於 NVMe 傳輸的 TCP 協定堆疊的圖示  圖 1:

查看適用於 NVMe/TCP 的 Lightbits

Lightbits 儲存解決方案結合了其 LightOS® 進階儲存軟體和 Lightfield™ 儲存加速 PCIe 插入卡,負責壓縮、卸載後端操作並管理全球快閃記憶體轉換層(或稱「Global FTL」),這些都安裝在來自各種 OEM 的標準 x86 伺服器上。

Lightbits 儲存解決方案包含一組或多組託管 NVMe SSD 用於資料儲存的節點,以及進階記憶體和可選非揮發性雙列直插式記憶體模組 (NVDIMM) 用於快取。那是大量的美光硬體!我們的目標是測試 Lightbits 如何充分利用美光的所有優點。

本地直接連接 PCIe 儲存通常比網絡儲存更快,但協定對延遲的影響有多大? 在這項測試中,我們會比較使用本地 NVMe 硬碟的常見應用程式與使用 Lightbits LightOS 儲存伺服器透過 TCP 呈現的磁碟區之相同應用程式的行為。在這種情況下,我們使用 Yahoo!® Cloud Serving Benchmark (YCSB) 測試 Apache® Cassandra® 的效能和延遲。

我們測試配置的細節

我們的概念驗證測試使用兩種測試配置。 配置 1包含四部使用 Lightbits LightOS 遠端儲存的獨立 Cassandra 伺服器。

Lightbits LightOS 將每部伺服器的 CPU 複合物組織為獨立的「存儲節點」。一個雙插槽伺服器可以在每個 CPU 複合物上承載一個存儲節點。我們測試了一個分配給 CPU 插槽 0 的存儲節點。

該存儲節點承載了八個高效能的美光 9300 3.84TB NVMe SSD。我們從 Lightbits 儲存節點建立四個 4.9TB 邏輯磁碟區,並為每個 Cassandra 資料庫伺服器分配一個磁碟區,如圖 2 所示。

使用 LightBits LightOS 儲存伺服器的 Cassandra 測試配置圖解 圖2:

四部使用 50Gb 乙太網絡轉接器連接至網絡的負載產生伺服器執行 YCSB 工作負載 A。

配置 2 包括四部搭載本地 NVMe 的獨立 Cassandra 伺服器。每部 Cassandra 伺服器都代管著兩部美光 9300 3.84TB NVMe SSD,以便在本地儲存資料並連接至 100Gb 乙太網絡。四部使用 50GbE 連接至網絡的負載產生伺服器執行 YCSB 工作負載 A。

下圖 3 說明測試配置。

使用本地的 Cassandra 測試配置的圖形化圖示 圖 3:

對於這兩種測試配置,顯示的每秒操作 (OPS) 結果是四部 Cassandra 伺服器的彙總。所有記錄的延遲測量都是四部 Cassandra 伺服器的平均值。

所有用於兩項測試的伺服器設定如下:

Cassandra 資料庫伺服器 (四部)

  • 兩個 Intel Xeon Platinum 8168(24 個核心,2.7GHz)
  • 384GB 記憶體
  • 100Gbps Mellanox ConnectX-4
  • Datastax Cassandra 版本 3.0.9
  • 兩部 3.84TB Micron 9300 Max NVMe 硬碟
    • 設定為本地儲存測試的 LVM 條紋磁碟區
      僅用於直接連接測試比較

Lightbits 儲存伺服器 (一部)

  • 兩個 Intel Xeon Platinum 8168(24 個核心,2.7GHz)
  • 768GB 記憶體 (128GB NVDIMM、640GB PC2666)
  • 100Gbps Mellanox ConnectX-5
  • 八個 3.84TB Micron 9300 Max NVMe 硬碟
  • Lightbits 版本 1.2.3

負載產生伺服器 (四部)

  • 兩個 Intel Xeon E5-2690v4(14 個核心,2.6GHz)
  • 256GB 記憶體
  • 50Gbps Mellanox ConnectX-4
  • YCSB v0.16.0 含 Cassandra 可壓縮資料支援

透過測量在不同固定數據庫交易負載下的平均和尾端延遲,我們專注於在本地(四部 Cassandra 伺服器,每部伺服器有兩個 SSD)和遠端(一個 Lightbits LightOS 節點,八個 SSD)上都使用相同總數的 SSD 時的效能差異。

所有測試均使用 YCSB 工作負載 A 執行,即 50% 讀取和 50% 更新工作負載。我們也將資料分佈從「Zipfian」調整為「均勻」,以便在測試期間使用更大的資料集。這增加了記憶體中快取資料的儲存利用率。我們進行了一系列的測試,其中 YCSB 將效能限制在固定數量的 OPS 上,並測量了平均和服務品質 (QoS) (99.9%) 延遲度量。每個接受測試的 Cassandra 資料庫大小為 1.39TB。

對於採用本地 NVMe 測試的 Cassandra,我們使用了軟體壓縮,通常會帶來額外負荷並對效能有直接影響。我們使用本地伺服器 LVM (邏輯磁碟區管理員) 分割進行本地測試。

對於遠端 NVMe 測試,我們停用了 Cassandra 的軟體壓縮,並使用 Lightbits 儲存伺服器中的 Lightfield 儲存加速附加卡啟用了壓縮。我們使用 Lightbits 軟體提供的磁碟分割功能進行遠端儲存測試。Lightbits 還支援獨立硬碟 (RAID) 冗餘陣列和邏輯磁碟區的刪除代碼。這些功能是我們在未來測試中可能會解決的問題。

測試結果顯示有趣的延遲結果

隨著我們擴大每秒的資料庫操作數量,我們在 Lightbits 和本地儲存配置上看到平均讀取延遲之間有很強的相關性。在每部伺服器的 60,000 OPS 限制下,我們開始看到 Lightbits 與本地儲存配置之間存在差異,其中本地資料庫在延遲(線)和 OPS(長條)方面無法與 Lightbits 配置的效能相匹配。無節流的 YCSB 測試(右邊的最後一個資料集)顯示,Lightbits 儲存裝置在平均讀取延遲和總 OPS 方面相比本地存儲配置具有可測量的優勢。

顯示 YCSB 工作負載 A 平均讀取延遲的圖表

雲端工作負載也需要良好的 QoS 延遲。下圖顯示 99.9% QoS 延遲值,結果與平均延遲相似。Lightbits 配置再次顯示更好的效能,本地存儲的無節流 QoS 延遲差異為 28.9 毫秒,遠端儲存空間則為 40.7 毫秒。

顯示 YCSB 工作負載 A 的 QoS (99.9%) 讀取延遲的圖表

平均更新延遲很有趣,因為隨著負載增加,兩項測試的平均延遲都會降低。這是 YCSB 節流機制運作方式的產物。在 Lightbits 和本地 NVMe 配置上,無節流的結果(下圖右方的長條圖)顯示,平均更新延遲幾乎相同(42 毫秒與 43 毫秒),Lightbits 配置的總 OPS 更高。

顯示 YCSB 工作負載 A 平均更新延遲的圖表

更新後的尾部延遲 (99.9%) 顯示,隨著負載增加,兩種測試配置的測量延遲都有類似的下降。再次強調,這是 YCSB 在限制效能時衡量更新延遲的方式的影響。隨著負載增加到每台伺服器 60,000 OPS 或更高,我們在 99.9% 的延遲和總 OPS 中再次看到了 Lightbits 解決方案的可衡量優勢。

顯示 YCSB 工作負載 A 的 QoS (99.9%) 更新延遲的圖表

所學課程摘要

Lightbits Labs NVMe/TCP 解決方案降低了尾部延遲,整體效能接近或優於 Cassandra 的本地 NVMe。分解式儲存對於像 Cassandra 這樣的應用程式來說意義重大,可讓管理員為應用程式分配適當的容量,同時利用混樣 NVMe 的龐大效能。

Lightbits 儲存伺服器的設定和配置非常簡單,我們在一天之內就完成了測試。我們的測試顯示,美光最快的 NVMe SSD 可以在 Lightbits Labs 的一點幫助下移動到外部儲存並保留其效能優勢。

您希望深入瞭解嗎?

Micron 發現 Lightbits 的 NVMe/TCP 方法非常吸引人,因此成為了投資者。我們已針對這些 NVMe/TCP Cassandra 結果規劃美光技術簡報。即時收到通知,並在 Twitter @MicronTech 上追蹤我們,並在 LinkedIn 上與我們聯繫,隨時掌握最新資訊。

Director, Storage Solutions Architecture

Ryan Meredith

Ryan Meredith is director of Data Center Workload Engineering for Micron's Storage Business Unit, testing new technologies to help build Micron's thought leadership and awareness in fields like AI and NVMe-oF/TCP, along with all-flash software-defined storage technologies.