龙蜥社区高性能存储技术 SIG 11 月运营回顾 | 龙蜥 SIG

高性能存储技术 SIG 目标:高性能存储技术兴趣组致力于存储栈性能挖掘,当前主要聚焦内核 io_uring 技术优化异步 IO 性能,使用持久化内存提升业务单成本性能,容器场景存储技术优化等课题。期望通过社区平台,打造标准的高性能存储技术软件栈,推动软硬件协同发展。

01 本月 SIG 整体进展

本月共合入 Anolis 主线 PR 23 个,包含多个主要组件的性能优化、CVE 修复,以及 bugfix 等。

erofs over fscache 回合上游新特性 shared domain 和 failover。这两个特性是由火山引擎内核与虚拟化团队同学贡献,Jeffle Xu 和 gaoxiang 参与 review。shared domain 特性支持多镜像间共享相同内容的 blob 存储空间;failover 特性支持 daemon 崩溃后恢复。这两个特性的合入,进一步促进了 erofs over fscache 镜像加速方案的生产可用。

xfs 社区长期存在一个 inode extent-to-btree 转换失败,最终导致 fs shutdown 的问题。gaoxiang 通过构造相关场景,并成功抓取到问题发生时的 dump,最终将解决方案发到社区,并提前在 ANCK 中修复。同时,该修复合入后发现 xfstests 用例需要同步更新,正在推社区的过程中。

回合社区主线 fsdax-rmap 相关基础补丁,用于支持 fsdax 场景 tracking shared page。后续将基于该方案进一步支持 xfs fsdax reflink。

凝思软件贡献 DSMS 项目到高性能存储 SIG。当前项目仓库已经构建,并发布整体工作计划,预计 2023.6 发布第一个版本。

02 项目具体进展

1、Anolis OS

cve:CVE-2022-3649(PR813),CVE-2022-2503(PR856),CVE-2022-26365(PR859),CVE-2022-3621(PR858),CVE-2022-3646(PR878)。

erofs:misc fixes for fscache mode(PR881/PR884),use kill_anon_super() to kill super in fscache mode(PR883),支持 fscache shared domain 特性(PR893),支持 fscache failover 特性(PR894/PR915)。

xfs:修复 syscalls/quotactl07 case 失败(PR877),修复 inode extent-to-btree 转换失败导致的 fs shutdown(PR891),fsck 支持恢复日志(PR14)。

fuse:修复 getattr 优化的问题(PR854)。

crypto:SM4 XTS symmetric algorithm support(PR895)。

dax:支持 dax cow(PR905)。

io_uring:sqthread park/unpark race fixes(PR857),don't convert to jiffies for waiting on timeouts(PR868/PR869),移除异步 ioctl 支持(PR923),解决 IORING_ENTER_SQ_SUBMIT_ON_IDLE 与上游特性的冲突(PR924),anolis23 liburing(PR6)

2、容器镜像加速

针对之前回合到龙蜥社区的容器镜像加速方案 (erofs over fscache),从主线社区回合一系列修复补丁。

share domain 特性回合到 ANCK 5.10 内核,支持镜像之间层 (image layer) 粒度的共享,从而节省镜像在磁盘上的存储空间。该特性于 v6.1 合入主线内核。

failover 特性回合到 ANCK 5.10 内核,支持 user daemon 异常退出并恢复之后,容器内对容器镜像的访问可以自动恢复,整体过程对容器无感透明。该特性目前仍在主线社区讨论中,但是该方案已经在字节内部生产环境上部署。

share domain 与 failover 特性回合 ANCK 4.19 内核仍在进行中。

3、用户态存储

ublk 已经开始在分布式存储场景 POC,代码适配中。

目前我们正在为 ublk 开发零拷贝特性,方案设计已初步完成,预计12月下旬完成编码和测试工作。

4、io_uring

Anolis 23 的 liburing 打包中,选型 2.3 上游版本 + 自研特性。

io_uring + async_simple 协程优化目前正在进行初步性能分析,预计 12 月底完成评估。后续计划使能 io_uring 新的高级特性,进一步性能优化。

async_simple git repo:

https://github.com/alibaba/as...

5、dsms

凝思软件的同学 yxpeng 介绍了 dsms 项目背景,整体架构和工作计划,相关仓库已经创建,预计 2023.6 发布第一个版本。

03 SIG下一步计划

1、share domain 与 failover 特性回合到 ANCK 4.19 内核。

2、chunk 级别 page cache 共享,以节省内存占用,实现资源超卖,计划合入上游主线 v6.3,然后再回合到 ANCK 5.10/4.19。

3、完成基于 io_uring + ebpf 的 ublk 零拷贝特性开发。

4、io_uring + async_simple 性能调优。

5、dsms 完成分布式存储的选修以及在 Anolis 上的移植与开发测试。

附录:SIG 项目一览

  • io_uring
  • virtiofs
  • 容器镜像加速
  • 数据库优化
  • 用户态存储
  • DSMS

详情内容见高性能存储技术 SIG,欢迎各位感兴趣的开发者加入共建。

高性能存储技术SIG :https://openanolis.cn/sig/hig...

—— 完 ——


OpenAnolis龙蜥社区
OpenAnolis龙蜥社区 由国内外头部企业联合建立的操作系统开源社区。加入我们,一起打造面向未来的开源操...

OpenAnolis龙蜥社区由国内外头部企业联合建立的操作系统开源社区。

29 声望
8 粉丝
0 条评论
推荐阅读
龙蜥白皮书精选:龙蜥全面支持 Intel 第四代可扩展处理器 SPR 平台
Intel Sapphire Rapids(简称SPR)即第四代至强可扩展处理器,是 Intel 承上启下的一代产品。新引入增强指令、硬件加速器、 AMX 矩阵计算、SGX 机密计算、Scalable IOV、PCIe 5.0、CXL1.1 协议,涵盖了计算、安全、...

龙蜥社区

封面图
祝贺姜宁连任 2023 Apache 软件基金会董事
在刚刚结束的 ASF Annual Meeting 上,2023 年新任董事会成员诞生了。Apache 软件基金会通过官方 blog 向大家公布了新一任董事的选举成果。

鸣飞4阅读 7.6k评论 1

姜宁 ASF 2022 董事竞选宣言:我希望能够帮助 ASF 打破地域、文化、语言的障碍
在刚刚结束的 ASF Annual Meeting 上,2022 年新任 ASF Member 及董事会成员诞生了。Apache 软件基金会通过官方 blog 向大家公布了新一任董事的选举成果。Apache 软件基金会孵化器导师,ALC Beijing 发起人,华为...

鸣飞4阅读 12.3k

封面图
张晋涛:我的 2022 总结
大家好,我是张晋涛。2022 年已经结束,我每年都会惯例的做个小回顾,今年因为阳了在恢复身体,一直拖到了今天才写。生活在 2022 年初做回顾的时候,觉得 2021 是魔幻的一年,但现在看来 2022 年其实更加魔幻。一...

张晋涛6阅读 1.1k评论 2

封面图
阿里云被曝 UI 抄袭,复刻 SkyWalking Trace Profiling 页面
2023 年 1 月 3 日,SkyWalking 官网发布消息,称阿里云抄袭了 SkyWalking Trace Profiling 整体页面 UI,包括页面布局、文字和分析任务设置,唯一的区别仅有颜色方案。

鸣飞5阅读 5.4k

权威发布丨2022 中国开源先锋 33 人之心尖上的开源人物
开源社主办的 COSCon'22 中国开源年会上,我们也以「开源站在十字路口」为主论坛主题展开了讨论。面对机遇与挑战并存,分裂与合作共生,风云变幻的世界,我们该何去何从?且看开源先锋们「榜样的力量」!

SegmentFault思否2阅读 2.2k

封面图
Mysql索引覆盖
通常情况下,我们创建索引的时候只关注where条件,不过这只是索引优化的一个方向。优秀的索引设计应该纵观整个查询,而不仅仅是where条件部分,还应该关注查询所包含的列。索引确实是一种高效的查找数据方式,但...

京东云开发者2阅读 973

封面图

OpenAnolis龙蜥社区由国内外头部企业联合建立的操作系统开源社区。

29 声望
8 粉丝
宣传栏