高效能儲存SIG月度動態:ublk完成POC、dsms-storage在Anolis OS上成功適配
高效能儲存技術 SIG(Special Interest Group)目標:高效能儲存技術興趣組致力於儲存棧效能挖掘,當前主要聚焦核心 io_uring 技術最佳化非同步 IO 效能,使用持久化記憶體提升業務單成本效能,容器場景儲存技術最佳化等課題。期望透過社群平臺,打造標準的高效能儲存技術軟體棧,推動軟硬體協同發展。
01 本月 SIG 整體進展
儘管 SIG 成員在 1 月都經歷了新冠感染,但在本月仍然合入 anolis 主線 PR 23 個,包含多個主要元件的特性增強,效能最佳化,以及 bugfix 等。感謝所有 SIG 成員的辛勤付出,祝大家新年快樂!
ANCK 5.10 支援 ublk 程式碼已基本完成適配,同步測試中;另外在分散式儲存專案中完成 POC,從 POC 資料來看,效果很不錯,比之前的 tcmu 方案有很大程度的最佳化。該特性支援預計將在 ANCK 5.10-14 版本正式釋出。
erofs 容器映象 page cache 共享特性程式碼已傳送到社群,需要進一步跟進並根據社群的 review 意見修改,並最終合入社群主線。
ANCK 4.19/5.10 fuse 回合 killpriv_v2 特性,極大地提升了 small write 效能(70% ~ 120%)。
DSMS 第一階段適配工作已基本完成,dsms-storage 已可以在 Anolis OS 上正常執行。
浪潮資訊 cuishiwei 同學在測試多個 nvme 盤併發建立和刪除分割槽時發現可能導致當機,報告到社群並在社群主線修復後,積極提交 PR 在 ANCK 4.19/5.10 兩個版本完成修復。感謝 cuishiwei 同學的貢獻。
02 專案具體進展
1、Anolis OS
erofs:fix potential NULL in error path(PR1022)
ext4:fix bug_on ext4_mb_use_inode_pa(PR1055),fix check to prevent false positive report of incorrect used inodes(PR1056),fix bug for rename with RENAME_WHITEOUT(PR1064),stable fixes(PR1091)
xfs:Speed up file fsyncs by reducing iolock cycling(PR1024),validate inode fork size against fork format(PR1067)
block:unhash blkdev part inode when the part is deleted(PR1081/PR1082)
fuse:support FUSE_HANDLE_KILLPRIV_V2(PR1084/PR1085),simply use flags instead for fuse passthrough(PR1088)
dax:fsdax COW bug fixes(PR1033),mark the iomap argument to dax_iomap_sector as const(PR1086)
io_uring:Improve IOCB_NOWAIT O_DIRECT reads(PR1034),fix referencing uninitialized io_uring_ctx(PR1040),fix CQ waiting timeout handling(PR1070),add IO_WQ_WORK_MM for uring_cmd(PR1077)
liburing:add IORING_SETUP_SQE128 and uring-cmd support(PR3),Add missing fields for uring_cmd in struct io_uring_sqe(PR4)
miscs:fix documentation for unprivileged_userns_clone sysctl(PR1073/PR1074),stable fixes (dm/md/nfs)(PR1089)
2、容器映象加速
容器映象 page cache sharing 特性在社群持續迭代,增加對 readahead 的支援。以 tensorflow 映象為例,在建立同一映象的多個例項時,該特效能節省 ~97% 的(容器映象)記憶體佔用;tensorflow 小版本之間能節省 ~20% 的(容器映象)記憶體佔用。
ANCK fscache daemonless 特性已實現 RFC 版本,支援 fscache daemon 的退出和重新拉起,持續迭代中。
3、使用者態儲存
ANCK 5.10 支援 ublk 程式碼已基本完成適配,40+ 補丁,待提交 PR review。
分散式儲存專案的 POC 進展順利,POC 基於 6.1 核心 ublk 適配,單個 IO 時延明顯低於 tcmu 版本,IOPS 也有大幅度提升。
ebpf + io_uring 零複製特性原計劃春節前發出 RFC,但因存在一些未解決的問題有些延遲;預計 2 月上旬發出 RFC 系列補丁到社群。
4、io_uring
最佳化 nowait O_DIRECT 讀效能。
回合 uring-cmd 特性後結合 ublk 進行測試,過程中發現一些 io hang 等問題,確認為 uring-cmd 回合引入的問題,目前已經修復。
開始分析 asio 中 io_uring 的程式碼流程,目前已討論出一些最佳化點,預計 2 月底會有一個階段性的進展。
5、DSMS
在解決包缺失問題後,適配工作進展比較順利,目前第一階段的適配已基本完成,dsms-storage 已經可以在 Anolis OS 上正常跑起來;下一步將進行視覺化相關開發工作。
當前選定 ceph 版本為 15.2.15。
相關工作計劃:
03 SIG 下一步計劃
1、推動容器映象 page cache 共享特性合入上游主線並回合到 ANCK。
2、erofs-utils 支援多執行緒解壓,最佳化 ISO 映象安裝效能。
3、ANCK 5.10 支援 ublk 測試和分散式儲存場景適配。
4、ebpf + io_uring 零複製方案社群 RFC 和討論推進。
5、io_uring + async_simple 協程最佳化。
6、dsms 視覺化管理平臺開發。
附錄:SIG 專案一覽
-
io_uring
-
virtiofs
-
容器映象加速
-
資料庫最佳化
-
使用者態儲存
-
DSMS
詳情內容見高效能儲存技術 SIG(參考連結可移步龍蜥公眾號(OpenAnolis龍蜥)2023年2月3日相同推送檢視。),歡迎各位感興趣的開發者加入共建。
—— 完 ——
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70004278/viewspace-2934020/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 高效能儲存SIG月度動態:DSMS開始適配Anolis OS、將在ANCK 5.10中支援ublk
- 高效能儲存SIG月度動態:ANCK ublk完成POC測試,EROFS最佳化xattr後設資料開銷
- 高效能儲存SIG月度動態:ANCK 5.10正式支援ublk、erofs容器映象按需讀時延最佳化60%
- 高效能儲存SIG月度動態:EROFS支援直接索引容器映象tar包等索引
- Cloud Kernel SIG月度動態:釋出 Anolis 8.8 映象、kABI 社群共建流程Cloud
- 商密SIG月度動態:檔案加密支援SM4演算法、Anolis 8.8將預設整合 | 龍蜥 SIG加密演算法
- 知名伺服器運維軟體廠商堡塔加入龍蜥社群,並完成與 Anolis OS 相容適配伺服器運維
- 高效能網路 SIG 月度動態:推動 virtio 支援動態中斷調節及更靈活的分流機制
- 高效能網路SIG月度動態:virtio 動態中斷調節最佳化、多項核心網路缺陷修復
- 自動儲存、靜態儲存和動態儲存
- 高效能網路 SIG 月度動態:長期投入得到業界認可,新增一位 virtio reviewerView
- 龍蜥社群高效能儲存技術 SIG 11 月運營回顧 | 龍蜥 SIG
- 高效能網路SIG月度動態:virtio-net 支援動態中斷調節,SMC v2 協議增加新擴充套件協議套件
- 移動適配:跳轉適配成功生效經驗分享
- 適配動態 | 12月份SequoiaDB與14款產品完成互認證
- 適配動態 | 11月份SequoiaDB與8款產品完成互認證
- Cloud Kernel SIG月度動態:釋出 ANCK 新版本及 Plugsched v1.2.0Cloud
- OpenCloudOS Kernel SIG 月度動態:釋出 OCK 6.6.30-4 版本,新增特性支援Cloud
- 移動端配適與掌握動態 REMREM
- 高效能網路SIG月度動態:virtio新裝置進入virtio規範、smc新特性IPC效能比tcp提升88%TCP
- 阿里雲Anolis OS 8.4阿里
- 適配動態 | 6月份SequoiaDB與5款產品完成互認證
- 動態儲存過程儲存過程
- 高效能網路SIG月度動態:SMC 與 IBM 就擴充套件協議達成一致,virtio 支援 XDP 新特性IBM套件協議
- Android動態UI適配(等比縮放)AndroidUI
- PK體系“配齊”!亞信科技資料庫與麒麟軟體OS、飛騰CPU完成產品適配資料庫
- SSD 儲存領域廠商大普微加入龍蜥社群,完成與龍蜥作業系統適配作業系統
- 為高效能FPGA平臺選擇合適的儲存器FPGA
- CentOS即將停止維護,擁抱阿里“龍蜥“(Anolis OS),VMware安裝Anolis OS與介紹CentOS阿里
- 實力加持!RestCloud完成多方國產化適配,攜手共建信創生態RESTCloud
- Android6.0許可權的動態適配Android
- 動態表單儲存設計
- 動態呼叫儲存過程 sample:儲存過程
- 谷歌將正式推出 Fuchsia OS,已有適配裝置谷歌
- 【移動適配】移動Web怎麼做螢幕適配(一)Web
- 【移動適配】移動Web怎麼做螢幕適配(三)Web
- 利用Dectorator分模組儲存Vuex狀態(上)Vue
- Cloud Kernel SIG月度動態:釋出ANCK 5.10、4.19新版本,ABS新增倉庫構建功能Cloud