高效能儲存SIG月度動態:ANCK 5.10正式支援ublk、erofs容器映象按需讀時延最佳化60%
高效能儲存技術 SIG(Special Interest Group)目標:高效能儲存技術興趣組致力於儲存棧效能挖掘,當前主要聚焦核心 io_uring 技術最佳化非同步 IO 效能,使用持久化記憶體提升業務單成本效能,容器場景儲存技術最佳化等課題。期望透過社群平臺,打造標準的高效能儲存技術軟體棧,推動軟硬體協同發展。
01 本月 SIG 整體進展
本月合入 Anolis 主線 PR 18 個,涉及多個重要元件的更新(特性支援、效能最佳化、以及 bugfix 等)。
ANCK 5.10 正式支援高效能使用者態塊裝置 ublk,將隨下一個 ANCK 版本 5.10-14 釋出。
tcmu zero copy 和 bypass data area 最佳化特性合入 ANCK 5.10,相比原生 tcmu 效能提升 1 倍以上。
erofs over fscache 最佳化 on-demand buffered 讀,按需讀取資料時延最佳化 ~60%。
dsms-storage 開始適配 Anolis 23,管理平臺相關開發工作按計劃進行中。
浪潮資訊同學貢獻多個 cve 修復和 bugfix。
02 專案具體進展
1、Anolis OS
CVE:CVE-2022-4696(PR1097),CVE-2022-1184(PR1140),CVE-2022-4139(PR1141),CVE-2022-47946 (PR1173) erofs:optimize on-demand IO path with buffered IO(PR1252)
ext4:fix fstests generic/626(PR1066),various bugfixes(PR1280/PR1292)
xfs:fix fstests xfs/546(PR1069/PR1144),stable fixes(PR1095)
reiserfs:remove useless new_opts in reiserfs_remount(PR1256/PR1302)
io_uring:fix uring-cmd task_work(PR1129)
ublk: [feature] support high performance ublk(PR1133),fix queue_size overflow(PR1230)
tcmu:[feature] improve tcmu performance(PR1255)
miscs: stable fixes for dm/md/nfs(PR1094)
2、容器映象加速
ANCK 5.10 erofs fscache 進一步最佳化 on-demand buffered 讀,在觸發按需讀資料時,使用者態 daemon 透過 buffered 寫方式將使用者申請訪問的資料寫入快取檔案,再使用 buffered 讀時命中快取,時延最佳化 ~60%。
erofs 支援非 4k 頁特性已合入上游主線,可支援非 4k 頁架構(如 aarch64)的執行。
erofs-utils 支援 subpage(即小於 PAGE_SIZE 的塊大小)特性,支援同一映象多壓縮演算法;另外,多執行緒解壓最佳化效果測試中。
3、使用者態儲存
ANCK 5.10 正式支援高效能使用者態塊裝置 ublk,將隨 5.10-14 版本釋出。接下來將基於該版本重新整理下分散式儲存專案的 POC 資料。配套的使用者態庫改造中,目前已經向上遊社群提出改造需求。
ebpf + io_uring 零複製方案已經傳送到社群,目前已經迭代到 v2 版本,需要繼續根據社群建議修改迭代。我們的想法是做成一個通用的解決方案,在通用塊層支援 ebpf 做資料過濾、重定向等,當前從零複製這個共性需求切入。
tcmu zero copy 和 bypass data area 最佳化特性合入 ANCK 5.10,相比原生 tcmu 效能有顯著提升,大塊 IO 如 512k 讀最 大提升 1 倍,寫提升 3 倍。
4、io_uring
目前正在對 c++ 庫 asio 的 io_uring 程式碼進行最佳化,asio 當前預設使用 io_uring 的 fast poll 特性去進行網路請求處理,初步測試效能相比 epoll 還要差 ~10%。
我們正在將其進行 io_uring 的 multi-shot 特性改造,目前適配工作還在進行中。
io_uring multi-shot 的資料可參考:
5、DSMS
dsms-storage 正在 Anolis 23 上進行適配,由於 Anolis 23 目前缺失一些相關依賴包,適配工作暫停。目前已經向社群提交了 issue,等待社群處理。dsms-engine 的開發工作按期進行中:
03 SIG 下一步計劃
mkfs.erofs 支援使用者設定的 block size(目前預設 4k),erofs 支援設定單獨的目錄 block size。
完成基於 5.10-014 核心版本的分散式儲存專案 POC 資料更新。
推動社群關於 ebpf + io_uring 零複製方案的 review 並繼續迭代。
完成 asio io_uring multi-shot 適配改造。
繼續推進 dsms 適配 Anolis23 相關工作。
附錄:SIG 專案一覽
-
io_uring
-
virtiofs
-
容器映象加速
-
資料庫最佳化
-
使用者態儲存
-
DSMS
詳情內容見 ,歡迎各位感興趣的開發者加入共建。
—— 完 ——
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70004278/viewspace-2938122/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 高效能儲存SIG月度動態:EROFS支援直接索引容器映象tar包等索引
- 高效能儲存SIG月度動態:DSMS開始適配Anolis OS、將在ANCK 5.10中支援ublk
- 高效能儲存SIG月度動態:ANCK ublk完成POC測試,EROFS最佳化xattr後設資料開銷
- 高效能儲存SIG月度動態:ublk完成POC、dsms-storage在Anolis OS上成功適配
- Cloud Kernel SIG 月度動態:釋出 ANCK 5.10-013 版本、完整支援 Intel SPR 處理器CloudIntel
- Cloud Kernel SIG月度動態:釋出ANCK 5.10、4.19新版本,ABS新增倉庫構建功能Cloud
- Cloud Kernel SIG月度動態:釋出 ANCK 新版本及 Plugsched v1.2.0Cloud
- Cloud Kernel SIG月度動態:釋出 Anolis 8.8 映象、kABI 社群共建流程Cloud
- 高效能網路 SIG 月度動態:推動 virtio 支援動態中斷調節及更靈活的分流機制
- 高效能網路SIG月度動態:virtio 動態中斷調節最佳化、多項核心網路缺陷修復
- OpenCloudOS Kernel SIG 月度動態:釋出 OCK 6.6.30-4 版本,新增特性支援Cloud
- 高效能網路SIG月度動態:virtio-net 支援動態中斷調節,SMC v2 協議增加新擴充套件協議套件
- Cloud Kernel SIG月度動態:建立社群第三方驅動研發流程、釋出ANCK 4.19-027版本Cloud
- 商密SIG月度動態:檔案加密支援SM4演算法、Anolis 8.8將預設整合 | 龍蜥 SIG加密演算法
- 高效能網路SIG月度動態:SMC 與 IBM 就擴充套件協議達成一致,virtio 支援 XDP 新特性IBM套件協議
- 袋鼠儲存 v1.3 正式支援移動端
- 龍蜥社群高效能儲存技術 SIG 11 月運營回顧 | 龍蜥 SIG
- Docker 基礎-映象&容器&網路&儲存Docker
- 高效能網路 SIG 月度動態:長期投入得到業界認可,新增一位 virtio reviewerView
- Docker配置本地映象與容器的儲存位置Docker
- 高效能網路SIG月度動態:virtio新裝置進入virtio規範、smc新特性IPC效能比tcp提升88%TCP
- docker 儲存映象Docker
- 如何延長儲存伺服器上資料的儲存時間?伺服器
- 一文讀懂容器儲存介面 CSI
- docker容器儲存Docker
- 配置pod拉取harbor容器映象倉庫私有映象:secret儲存賬號密碼密碼
- 袋鼠儲存 v1.2 正式支援獨立組網
- 兩個修改Docker本地映象與容器的儲存位置的方法Docker
- PostgreSQL DBA(60) - 列式儲存zedstoreSQLZed
- iNeuOS工業網際網路作業系統,釋出實時儲存方式:實時儲存、變化儲存、定時儲存,增加裝置振動狀態和電能狀態監測驅動,v3.6.2作業系統
- 容器附加儲存(CAS)是雲原生儲存
- 容器儲存介面--CSI
- 動態表單儲存設計
- 修改docker的預設儲存位置及映象儲存位置Docker
- 容器化RDS—— 計算儲存分離 or 本地儲存
- 海量資料儲存之動態SchemaOU
- 雲原生儲存詳解:容器儲存與 K8s 儲存卷K8S
- Laravel 支援動態多 env 配置讀取Laravel