高效能儲存SIG月度動態:ANCK ublk完成POC測試,EROFS最佳化xattr後設資料開銷
高效能儲存技術 SIG(Special Interest Group)目標:高效能儲存技術興趣組致力於儲存棧效能挖掘,當前主要聚焦核心 io_uring 技術最佳化非同步 IO 效能,使用持久化記憶體提升業務單成本效能,容器場景儲存技術最佳化等課題。期望透過社群平臺,打造標準的高效能儲存技術軟體棧,推動軟硬體協同發展。
01 本月 SIG 整體進展
本月合入 Anolis 主線 PR 26 個,包含多個重要元件的更新。erofs 支援精簡的 long xattr name prefixes,最佳化 overlayfs 場景 xattr 後設資料開銷。ANCK 5.10 ublk 已完成 POC 測試,相比 tcmu 時延最佳化 1 倍。io_uring asio 協程最佳化方案已經確定,預計效能最佳化 10%。DSMS 管理平臺的開發基本完成,dsms-storage 適配 Anolis 23 進行中。感謝中興的同學提交了多個 bugfix。
02 專案具體進展
1、Anolis OS
ext4:修復 ext4_xattr_delete_inode hang(PR1362)
xfs:xfs_qm 清理(PR1326),修復 xfs_sysfs_init 記憶體洩露(PR1332/PR1334),移除 xfs_rename 中不正確的 ASSERT(PR1351),修復 force shutdown UAF(PR1376)
fuse:修復 fuse flush/resend 介面 bug(PR1302)nfs:修復 RECLAIM_COMPLETE EACCES 問題(PR1324/PR1325),修復 slot 分配失敗的記憶體洩露(PR1346/PR1347),修復遍歷 grace_list 缺少鎖保護問題(PR1350),修復引數解析空指標(PR1370),處理 CREATE_SESSION NFS4ERR_NOSPC(PR1368/PR1360)misc:修復 hugetlbfs_parse_param 空指標(PR1352),修復 configfs_create_dir 記憶體洩露(PR1357),修復 nbd_start_device_ioctl hang(PR1356),修復 rbd_sysfs_init() 記憶體洩露(PR1372/PR1373),修復 md_cluster unlock_all_bitmaps 野指標(PR1367),修復 nvme_alloc_admin_tags 空指標(PR1405)vfio:Clear the caps->buf to NULL after free(PR1422/1427),修復 drbd_create_device UAF(PR1251)VFS:修復 ltp/openat04(PR1489)
2、容器映象加速
erofs 檔案系統支援精簡的 long xattr name prefixes,用於解決儲存 overlayfs xattr 後設資料(例如 composefs 模式)重複 name 的額外開銷, 更多背景可參考:
erofs-utils 支援從 tarball 生成索引直接掛載,最新補丁正在測試中:
3、使用者態儲存
截止目前,上游社群一共提出了三種 ublk 零複製方案:
我們也在調研一種基於 io_uring register 模式的零複製的方案,預計後續將發出 RFC 補丁到上游社群。
ublk 在 ANCK 5.10 上已經完成回合,並在分散式儲存專案進行了 POC 測試,結果顯示 ublk 的單 I/O 時延能最佳化到 tcmu 的一半,有很大的優勢。
ACNK 5.10 和之前基於 6.1 主線上測試 ublk 的效能資料很接近,表明 ANCK 5.10 的 ublk 已經基本可用,後續將隨 5.10.134-014 版本釋出。
4、io_uring
對 io_uring echo server 測試框架進行最佳化,對每個 IO 請求引入工作負載從而模擬真實的業務環境,io_uring 的效能開始穩定的比 epoll 提高 10% 左右,原因是 io_uring 的提交 batch 有一定程度的提高。在進行 IO 請求的工作負載處理時,網路可能繼續有請求到來,從而可以在一次 io_uring_enter 中提交多個請求,提高 batch。
我們調整了 io_uring asio 協程的實現方案,透過基於 io_uring 的 mulit-shot recv 和 provid-buffer 機制,採用 completion models 模式來實現非同步程式設計。
此方案的好處是在網路中斷中直接觸發 io_uring recv 操作,縮短的整個 IO 鏈路。而傳統 Readiness 程式設計模型需要先等待 IO 事件,然後再發起 IO 操作。目前 POC 程式碼完成 60% 左右。
5、DSMS
dsms-engine 開發進行中,主要是部署部分功能,B 版本測試同步進行中。由於 Anolis 23 上的 ceph 版本為 17.x,dsms-storage 倉庫目前以來 15.x。經過 SIG 例會討論,決定放到 dsms 子倉庫中來維護。
03 SIG 下一步計劃
erofs Linux v6.4 合入視窗準備,erofs-utils 支援 tarball 模式合入主線,deflate 壓縮演算法支援等。
ublk 分散式儲存專案業務適配。
io_uring asio 最佳化方案實現和 POC 測試。
DSMS 繼續適配 Anolis 23。
附錄:SIG 專案一覽
-
io_uring
-
virtiofs
-
容器映象加速
-
資料庫最佳化
-
使用者態儲存
-
DSMS
詳情內容見 ,歡迎各位感興趣的開發者加入共建。
—— 完 ——
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70004278/viewspace-2946186/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 高效能儲存SIG月度動態:ANCK 5.10正式支援ublk、erofs容器映象按需讀時延最佳化60%
- 高效能儲存SIG月度動態:ublk完成POC、dsms-storage在Anolis OS上成功適配
- 高效能儲存SIG月度動態:DSMS開始適配Anolis OS、將在ANCK 5.10中支援ublk
- 高效能儲存SIG月度動態:EROFS支援直接索引容器映象tar包等索引
- Cloud Kernel SIG月度動態:釋出 ANCK 新版本及 Plugsched v1.2.0Cloud
- 高效能網路SIG月度動態:virtio 動態中斷調節最佳化、多項核心網路缺陷修復
- Cloud Kernel SIG月度動態:釋出ANCK 5.10、4.19新版本,ABS新增倉庫構建功能Cloud
- Cloud Kernel SIG 月度動態:釋出 ANCK 5.10-013 版本、完整支援 Intel SPR 處理器CloudIntel
- Cloud Kernel SIG月度動態:建立社群第三方驅動研發流程、釋出ANCK 4.19-027版本Cloud
- 高效能網路 SIG 月度動態:推動 virtio 支援動態中斷調節及更靈活的分流機制
- Postmark測試後端儲存效能後端
- 海量資料儲存之動態SchemaOU
- 自動儲存、靜態儲存和動態儲存
- mysql 動態生成測試資料MySql
- 高效能網路 SIG 月度動態:長期投入得到業界認可,新增一位 virtio reviewerView
- Cloud Kernel SIG月度動態:釋出 Anolis 8.8 映象、kABI 社群共建流程Cloud
- 龍蜥社群高效能儲存技術 SIG 11 月運營回顧 | 龍蜥 SIG
- MongoDB後設資料的儲存介紹MongoDB
- 商密SIG月度動態:檔案加密支援SM4演算法、Anolis 8.8將預設整合 | 龍蜥 SIG加密演算法
- 高效能網路SIG月度動態:virtio-net 支援動態中斷調節,SMC v2 協議增加新擴充套件協議套件
- 動態表單儲存設計
- 基於儲存過程的百萬級測試資料自動生成儲存過程
- oracle 匿名儲存過程插入大量測試資料Oracle儲存過程
- OpenCloudOS Kernel SIG 月度動態:釋出 OCK 6.6.30-4 版本,新增特性支援Cloud
- 高效能網路SIG月度動態:virtio新裝置進入virtio規範、smc新特性IPC效能比tcp提升88%TCP
- 資料儲存--面向列的儲存設計
- 自動化測試|Eolink Apikit 如何儲存、使用測試用例API
- 整合 IBM 後設資料儲存庫,第 1 部IBM
- 動態儲存過程儲存過程
- 高效能網路SIG月度動態:SMC 與 IBM 就擴充套件協議達成一致,virtio 支援 XDP 新特性IBM套件協議
- 軟體測試--前後端資料互動後端
- MySQL federated儲存引擎測試MySql儲存引擎
- Salesforce的多型儲存和SAPC4C的後設資料儲存倉庫Salesforce多型
- 動態測試
- ETL測試或資料倉儲測試入門
- 大資料元件-Hive部署基於MySQL作為後設資料儲存大資料元件HiveMySql
- 資料倉儲和後設資料
- 9i筆記-最佳化資料儲存筆記