最近幾年,超融合在中國市場的火熱程度不亞於雲計算、人工智慧等新技術,自 2013 年超融合概念首次在中國出現;到 2016 年中國迎來“超融合元年”;再到 2019 年超融合開始廣泛落地行業市場。可以說,在不到 10 年的時間內,超融合就完成了市場鴻溝的跨越。
但是,隨著越來越多的客戶進一步認識和應用超融合架構,一個新的問題又出現了,那就是當超融合進入到企業的核心生產業務系統,其儲存效能和延遲能否媲美傳統的高階儲存陣列?
在此背景下,作為中國超融合領域的專業領導廠商,SmartX 率先採用英特爾傲騰持久記憶體搭配 NVMe NAND SSD 開發出了新一代全閃超融合解決方案,整體效能獲得顯著提升,更好地滿足客戶核心業務對 IO 吞吐、延遲等效能的嚴苛要求。
正如 SmartX CEO 徐文豪所言:“SmartX 深知硬體技術對超融合產品的重要性,並始終和英特爾在研發領域保持緊密合作,而本次 SmartX 基於創新的英特爾傲騰持久記憶體技術對 SMTX OS 進行深度最佳化和架構升級,不僅為超融合產品效能帶來質的飛躍,更是對解決效能敏感型核心業務向雲化基礎架構轉型這一難題進行了深度的探索,真正有效加速了超融合基礎架構在金融核心等領域的落地。”
“Sailfish”專案誕生背後
SmartX 自 2013 年成立開始,就一致致力於打造高可靠、高效能、易擴充套件、生產就緒、具備自主研發的超融合產品,其產品核心 SMTX OS 超融合軟體如今可以執行在幾乎所有主流的 x86 伺服器上,且被廣泛地應用於金融、醫療和製造業等領域。
資料顯示,行業客戶對 SmartX 超融合產品的增購率已超過 200%,其中,70% 以上的客戶將 SmartX 超融合產品部署在核心生產場景。此外,SmartX 也不斷獲得專業市場分析機構的認可。在 Forrester 釋出的全球超融合廠商報告《Now Tech: Hyperconverged Infrastructure, Q2 2020》中,SmartX 憑藉專業開放的產品和優質客戶案例入選;IDC 評定 SmartX 為軟體定義儲存創新者,Gartner 也在中國區超融合市場競爭格局報告中將 SmartX 列為重點關注企業。
但與此同時,SmartX 在和客戶交流中也發現,很多客戶在規劃將核心生產應用遷移到超融合系統時,往往沒有足夠的信心,他們擔心超融合系統的儲存和傳統架構相比延遲較高,特別是在面對效能敏感型業務應用更為嚴苛的 IO 及延遲要求場景時,以往在超融合領域廣泛使用的 NAND SSD 儲存裝置會成為瓶頸,這也逐漸成為了超融合系統未來發展的阻礙。
因此,如何突破當前超融合系統在 IO 及延遲方面的侷限,無疑是 SmartX 進一步提升超融合產品效能的關鍵。基於此,SmartX 於 2019 年啟動代號為“Sailfish”(旗魚,海洋中最快的魚類)專案,將英特爾傲騰持久記憶體用於快取加速,同時對 SmartX 超融合軟體 SMTX OS 進行了全方面最佳化。
圖 1. 虛擬機器IO效能提升3.2 倍,延遲降低85%
具體來看,在儲存層“Sailfish”專案充分發揮了英特爾傲騰持久記憶體“App Direct”模式低延遲和持久化儲存的能力,儲存叢集中經常被訪問的資料。除此之外,SMTX OS 還對計算虛擬層和儲存網路層進行了特別的最佳化和設計,而經過以上最佳化,虛擬機器的 IO 效能提升了 3.2 倍,同時延遲降低了 85% 以上。
目前,“Sailfish”專案中使用到的技術已經整合到了最新的 SMTX Halo P 系列一體機中,該系列一體機不僅能夠勝任交易類資料庫、機器學習等對 IO 效能要求苛刻的核心應用場景,並且能夠以更高效能提升虛擬機器密度。
由此可見,SmartX 在“Sailfish”專案中透過引入英特爾傲騰持久記憶體,極大地提高超融合系統的效能,消除了關鍵應用場景實際部署的疑慮;而這種創新的探索與實踐,無疑為關鍵業務系統在超融合架構中的部署奠定了真正踏實的基礎。
當SmartX遇見英特爾傲騰
事實上,在“Sailfish”專案中,SmartX 正是發揮了英特爾傲騰持久記憶體的特點:英特爾在記憶體和 SSD 之間新增的一個儲存層級,使其具備像記憶體一樣的超低訪問延遲,超高壽命與可靠性,同時還兼具持久化儲存和按位元組訪問的能力。
這就是英特爾傲騰持久記憶體所獨創的多種工作模式——在“記憶體模式”下,可為系統提供大容量記憶體;而在“App Direct 模式”下,應用可以直接訪問英特爾傲騰持久記憶體中的資料,有助於降低軟體堆疊複雜性。藉助這種創新的工作模式,在 SmartX 基於英特爾傲騰持久記憶體和 SMTX OS 打造的新一代全閃超融合解決方案中,在效能方面實現了三個方面的極大最佳化和提升。
一是,創新的工作模式為 SmartX 打造高效能儲存打下基礎。英特爾傲騰持久記憶體擁有更靠近 DRAM 的讀寫速度,使得它與記憶體交換資料過程的延遲更低,可大大縮短響應虛擬機器請求的時間。此外,結合 SMTX OS 針對英特爾傲騰持久記憶體的一系列最佳化,新方案效能表現出色:測試顯示,採用英特爾傲騰持久記憶體的超融合一體機,三節點最小系統的 IOPS 即可達約120萬,與以往使用 NAND SSD 相比有大幅提升。
同時,在該方案中,SmartX 應用了英特爾傲騰持久記憶體的“App Direct”模式, 將其作為Journal 和 Cache 盤,並搭配 NVMe SSD 作為容量盤一起使用,可保證更多經常被訪問的熱資料駐留在持久記憶體以獲得出色的 IO 響應速度與更低的延遲表現——透過系統配置少量持久記憶體便可持續為業務加速,這為資料加速提供了強有力的支撐。
二是,英特爾傲騰持久記憶體可按位元組定址訪問的能力,實現更小的資料寫入對齊顆粒、避免了寫放大問題。過去基於 SSD 只能以塊為單位進行訪問,在傳統 Journal 設計中採用 4 KiB 對齊方式以獲取較高的寫入效能,但在某些應用場景下會造成嚴重的寫放大問題。例如,系統要求寫入 128 bytes 大小的 IO,由於 Journal 需要以 4 KiB 對齊寫入,因此必須將 128 bytes 資料進行擴充,用“0”填充至 4 KiB 大小,再寫入介質中。因此,實際佔用的容量是要求寫入大小的 32 倍。如此顯著的寫放大現象會造成 Journal 和 Cache 儲存空間的大量浪費,增加了冷熱資料交換的頻率,從而提高延遲,對效能造成較大影響。
為此,SmartX 透過在 SMTX ZBS 中以 直接訪問(Direct Access, DAX)方式訪問持久記憶體裝置,可像訪問記憶體一樣按位元組為單位對持久記憶體進行存取。而 SmartX 利用這個特性重新設計 Journal 的寫入機制,並以 64 bytes 進行對齊;此時往 Journal 寫入 128 bytes 資料,則可被拆分為 2 個 64 bytes 寫入,避免了寫放大的問題,有效的提升效能。
三是,透過採用非同步訪問英特爾傲騰持久記憶體,可減少 CPU 資源使用、增加訪問頻寬;在超融合系統中,寶貴的 CPU 資源必須更多地留給虛擬機器使用,因此需要嚴格控制超融合系統本身的 CPU 消耗。
在有限的CPU資源下,為了充分發揮英特爾傲騰持久記憶體的頻寬效能,雙方技術團隊創新地引入了IO/AT DMA 引擎實現了非同步寫入持久記憶體的機制,使得單個 CPU 核心的最大寫入頻寬提升至10 GB/s。這意味著在幾乎不增加CPU開銷的情況下,透過資料非同步寫入持久記憶體的最佳化方式,即可獲得2.5倍的效能提升。此外,SmartX 還針對英特爾傲騰持久記憶體優化了IO棧以進一步降低 IO 損耗、並最佳化網路傳輸協議,採用 RDMA 儲存網路來降低遠端節點寫入延遲,保證遠端節點副本資料及時同步更新。
SmartX 透過英特爾傲騰持久記憶體對計算虛擬化、儲存網路以及儲存介質進行的端到端最佳化,不僅充分了釋放傲騰高吞吐量、低延遲、高服務質量和高耐用性等優勢,同時也真正以有限的計算資源,獲得了業內領先的高效能與超低延遲伺服器虛擬化儲存效能。
超融合系統性能再上新高度
值得一提的是,為了驗證基於英特爾傲騰持久記憶體和 SMTX OS 打造的全閃超融合解決方案的效能。英特爾和 SmartX 透過使用英特爾至強可擴充套件處理器6240Y 分別在搭載和未搭載英特爾傲騰持久記憶體的情況下,測試了該解決方案在 FIO 3.19 中的表現。
測試顯示,無論順序還是隨機讀/寫 4K 請求,搭載英特爾傲騰持久記憶體的方案在 1/2/4/8/16/32/64/128 個工作負載 下,其頻寬(Bandwidth)均具有明顯優勢。其中,順序讀最高加速達到 2.86 倍,順序寫加速最高達到 2.90 倍;隨機讀加速最高達到 4.14 倍,隨機寫加速最高達到 2.79 倍。
而在 P99 延遲(執行緒數 = 16)測試中,搭載 英特爾傲騰持久記憶體的方案在 4K/8K/16K/32K/64K 大小下,順序讀、順序寫、隨機讀和隨機寫延遲均有明顯降低,最高降幅分別為 78.46%、59.38%、76.75% 和 56.62%。
與此同時,為進一步驗證新方案在實際應用中的表現,雙方還測試了不同訪問模式下 MySQL 8.0.20 在不同虛擬機器中的吞吐率和延遲情況。其中,在單節點只執行 1 臺虛擬機器的時候,搭載英特爾傲騰持久記憶體的方案在混合讀寫、只讀、只寫方面的吞吐率,分別比未搭載持久記憶體的方案高 3.20 倍、2.90 倍和 2.85 倍;在混合 讀寫、只讀、只寫方面,使用英特爾傲騰持久記憶體方案的 P95 延遲均有明顯降低,降幅分別為 72.16%、60.10% 和 73.13%。
在單節點執行 4 臺虛擬機器時,搭載英特爾傲騰持久記憶體方案在混合讀寫、只讀、只寫方面的吞吐率,分別比未搭載持久記憶體的方案提升了 1.39 倍、2.49 倍、2.98 倍:使用持久記憶體方案的 P95 延遲除了混合讀寫場景外,在只讀和只寫的場景下皆有明顯降低,降幅分別為 46.48% 和 50.28%13。
而在與實際應用場景接近的 MySQL 資料庫實測中,採用英特爾傲騰持久記憶體後的全閃超融合解決方案在效能上得到很大程度的提升。新方案在最佳化超融合系統自身基礎架構的同時,大幅改善了其上執行的業務系統的延遲,實現了端到端的 IO 加速。此外,虛擬機器端 IO 延遲的大幅度降低也使得 SMTX OS 產品完全具備承載對延遲要求非常苛刻的核心業務的能力。
總的來說,從上述測試資料中也可以看到,透過引入英特爾傲騰持久記憶體技術,能夠顯著提高超融合系統的效能,幫助消除企業對超融合產品效能的疑慮、解決關鍵應用場景實際部署的難題。從這個角度來看,SmartX 與英特爾攜手提供了英特爾傲騰持久記憶體在超融合部署上的最佳實踐,真正為實現利用新一代全閃超融合系統替換更多裸金屬伺服器和全閃陣列的可能。