您好,我是碼農飛哥,感謝您閱讀本文,歡迎一鍵三連哦。
今天開始學習BoostKit鲲鵬全局緩存技術,該技術是鲲鵬實驗室最新開源的技術。
本文将從如下幾個方面展開闡述。
- 存儲行業特點及挑戰
- 全局緩存創新與價值
- 全局緩存功能介紹
- 全局緩存使用介紹
文章目錄
- 1. 存儲行業特點及挑戰
- 1.1.Ceph開源存儲方案面臨的性能挑戰
- 2. 全局緩存創新與價值
- 2.1. 緩存前背景分離,縮短IO路徑
- 2.2. IO聚合,實作磁盤帶寬性能
- 2.3. 智能預取,提高讀緩存命中率
- 3. 全局緩存功能介紹
- 3.1. 全局緩存技術的整體架構
- 3.2. 全局緩存功能規格一覽
- 4. 全局緩存使用介紹
- 總結
1. 存儲行業特點及挑戰
有統計資料顯示,企業應用每增加100ms存儲時延會造成1%的銷售損失。如下圖所示:
從21年到23年,關鍵業務的占比從25%增加到60%,資料庫等中高負載業務從45%減少到15%,一般業務從 30%減少到25%。
對于關鍵業務一般使用的存儲類型是 增強型\極速SSD雲硬碟(全閃存),這種方式主要的痛點是 要求極緻時延和IOPS SSD使用成本高。
對于資料庫等中高負載業務使用的存儲類型是超高IO雲硬碟(全閃存、均衡型SAS),這種方式的主要痛點是對成本效益降低延遲時間。
對于一般業務使用的是高IO雲硬碟(均衡型SATA)
1.1.Ceph開源存儲方案面臨的性能挑戰
Ceph開源存儲方案面臨的性能挑戰主要是: IOPS性能低,IO時延高。 而造成這種情況的原因主要有如下三個方面:
- IO請求流程多,線程切換開銷大
- IO處理流程長,隊列等待多,端到端時延高。
- IO随機性大,磁盤帶寬使用率低。
IO的寫入流程是:
- Message 接受入隊
- 三副本資料處理
- 資料持久化
- 中繼資料持久化
- 資源釋放,響應完成。
我們可以看到一個完整的IO寫入流程包括了5大流程,流程真的很長。
那麼BoostKit鲲鵬全局緩存技術又是如何應對這些挑戰的呢?
2. 全局緩存創新與價值
BoostKit鲲鵬全局緩存技術主要有三大創新技術,通過三大創新技術可以實作存儲性能飛躍式提升。
- 緩存前背景分離,縮短IO路徑
- IO聚合,實作磁盤帶寬性能
-
智能預取,提高讀緩存命中率。
下面我分别就這三大創新技術進行一個簡要的說明。
2.1. 緩存前背景分離,縮短IO路徑
- 在計算側(前台)重定向到全局緩存,讀寫IO請求直接在緩存中命中并實時回報給上層應用。
-
全局緩存的IO資料異步下刷到後端存儲側(背景)或提前預取資料到全局緩存
其實作流程如下圖所示:
-
從圖中可以看出讀IO和寫IO都是在全局緩存中實作的。
寫IO首先将資料寫入緩存中,然後異步下刷到磁盤中。
異步IO批量預取提前命中,異步資料預取,讀IO直接從緩存中取資料。
這樣做的好處就是 提高了異步刷盤速率,保證寫緩存100%命中,降低寫時延。
提高預取準确率,加大緩存容量,保證讀緩存80%命中,降低讀時延。
如下圖所示:展示了緩存前背景的具體實作。
- 流程解耦:寫緩存刷盤,讀緩存淘汰無需互斥,可靈活控制各自水位。
- 資源解耦:讀寫緩存并發,Quota資源等解耦,避免互相影響。
- 媒體類型解耦:讀寫緩存可分為管理異構緩存媒體(RAM,NVMeSSD),實作媒體分離。
- 備援政策優化:讀cache使用單副本,提高cache空間使用率,寫cache使用三副本,保證資料可靠性。
2.2. IO聚合,實作磁盤帶寬性能
- IO聚合:通過聚合算法,回寫政策和垃圾回收等能力,實作随機寫小IO聚合成順序寫大IO,實作磁盤帶寬的使用率,使性能得到大幅提升。
- 按需讀取:從中繼資料中擷取小IO映射關系,下盤讀取小IO資料,無讀放大。
-
通過高效的索引算法和資料排列,僅提高有效資料塊,并和新寫入的資料進行IO聚合,減少IO開銷和降低垃圾對業務的影響。
具體實作如下圖所示:
2.3. 智能預取,提高讀緩存命中率
基于創新的負載識别算法,識别不同應用通路Pattern(如流式、關聯、熱點等),并通過歸一化特征模型制定最優參數(預取門限,長度等),實作80%以上緩存命中率和2倍+讀性能提升。
如下圖所示:展示了智能預取分離技術架構:
這裡主要有兩個技術
- 雙引擎分離:創新性的Client端推薦引擎+Server端執行引擎分離的智能預取架構。
- 全局精準推薦:推薦引擎擁有全局資料通路視圖,進而進行全局精準推薦。
3. 全局緩存功能介紹
3.1. 全局緩存技術的整體架構
說完了全局緩存的創新點之後,接下來讓我們來看看全局緩存的各個核心功能。
全局緩存技術的整體架構如下圖所示:
可以用三橫+兩縱來總結全局緩存技術架構。
三橫:用戶端叢集、緩存叢集、存儲叢集
兩縱:讀寫路徑分離雙驅加速的邏輯布局。
- 寫緩存:資料寫入、删除功能、保證Cache前背景寫低延遲時間、
- 讀緩存:資料讀取功能,資料預取和淘汰、保證高Cache命中。
- 中繼資料管理:高性能中繼資料管理引擎、小IO聚合、垃圾回收
- 叢集管理:叢集管理、運作狀态管理,故障處理架構。
- 持久化:資料持久化存儲,三副本資源池,媒體管理。
- 适配層:對接開源Ceph存儲,終結Ceph語義。
- 基礎設施:系統啟動、記憶體管理、日志、指令行、系統排程。
3.2. 全局緩存功能規格一覽
1. 高性能
支援單節點 14W IOPS,1ms時延。
2. 叢集相容性
- 提供無侵入式接口API支援主流ceph叢集接入
- 支援塊存儲服務,對象存儲服務
- 支援快照及克隆功能
-
支援鲲鵬平台硬體,openEuler,RedHat系統
4. 可靠性
- 資料持久化存儲防掉電丢失。
- 資料三副本以節點域存儲,防止單點故障。
-
支援叢集故障自動檢測,自動故障切換和恢複。
5. 安全性
-
資料通道和管理通道預設支援TLS1.3 安全傳輸
7. 擴充性
- 支援按需增加緩存節點擴充緩存規模
- 支援線上更新
- 資料持久化存儲防掉電丢失
- 資料三副本以節點域存儲,防止單點故障
- 支援叢集故障自動檢測,自動故障切換和恢複。
4. 全局緩存使用介紹
說完了那麼多BoostKit鲲鵬全局緩存技術的功能和好處,那麼如何使用BoostKit鲲鵬全局緩存呢?
首先找到使用者指南,指南位址是:https://support.huawei.com/enterprise/zh/doc/EDOC1100228002?idPath=23710424%7C251364417%7C9856629%7C253662285
按照使用者指南一步步去操作使用吧!!!!