查看原文
其他

高性能存储技术SIG 8月份运营月报 | 龙蜥SIG

龙蜥运营 OpenAnolis龙蜥 2022-05-30

高性能存储技术 SIG:存储领域的发展历程,本质上是存储介质与软件栈相互促进发展的过程。高性能存储技术兴趣组致力于存储栈性能挖掘。

SIG 目标:当前主要聚焦内核 io_uring 技术优化异步 IO 性能,使用持久化内存提升业务单成本性能,容器场景存储技术优化等课题。 期望通过龙蜥社区(OpenAnolis)合作,打造标准的高性能存储技术软件栈,推动软硬件协同发展。

欢迎更多开发者加入高性能存储技术SIG:

网址:https://openanolis.cn/sig/high-perf-storage

邮件列表:cloud-kernel@lists.openanolis.cn

SIG 本月亮点

统信软件合作
统信软件作为 SIG 的 Maintainer 之一,深度参与到高性能存储技术 SIG 当中。一期计划先基于龙蜥操作系统( Anolis OS) 搭载的 io_uring 进行了评测,并将相关技术移植到统信 OS 中。评测对象包括:使用 fio 基于 NVMe 盘对比测试 libaio 和 io_uring 的 IO 性能,使用 SIG 中 nginx 和 redis 支持 io_uring 的 POC 分支版本对比测试 io_uring 和 epoll 的网络性能等。初步测试结果表明,大部分场景 io_uring 的确能带来性能优化,与 SIG POC 数据基本一致,具体测试报告细节整理完成后会发布到 SIG 中。感谢统信同学 @wangleic、@HanGuangyu 的参与。
评测过程中问题发现及修复:
1、redis io_uring fast poll 支持问题

修复补丁:

783f39482587 fix wrong poll mask in fast poll(@maomao123)
2、redis-benchmark 工具 register files 支持

修复补丁:

02b8c5eaa2ab add missing register files in redis-benchmark
(@maomao123)
3、redis sqpoll 支持

修复补丁:

1b631b5a6350 add a sqpoll argument for server and benchmark

(@maomao123)
4、redis 在打开 NUMA 场景性能不及预期
测试中通过绑核解决。(@maomao123、@HanGuangyu)
5、nginx 短连接性能下降 20%

比 SIG POC 数据下降 5% ~ 10% 要差,初步分析原因与频繁 accept 连接

有关,后续需要重点分析和优化。(@maomao123)

软件包更新

1、支持 CPU 资源优化特性的 liburing 适配

优化补丁:a6cf7cd33634 support sqthread cpu resource

optimization(@maomao123)

SIG 项目进展

已完成项目

  • Cloud Kernel 4.19 支持 io_uring

  • io_uring 性能回归框架

  • io_uring 应用 POC

    • Redis
    • Nginx
    • Echo Server

进行中项目
  • io_uring 优化

    • RocksDB

    • Netty
  • virtio-fs per-file dax 支持

  • 16k 原子写

计划中项目

  • 容器镜像加速

  • IO 业务模型分析

SIG 项目动态

结合异步 IO 业务场景,围绕 io_uring 我们将继续探索对 RocksDB 以及 Netty 的优化。其中 RocksDB 是广泛应用的 KV 存储引擎,Netty 作为 Java 网络应用的基础框架同样有着非常广泛的应用。(@wangxiaoguang)
virtiofs 目前已经在容器化存储场景(kata)默认使用,我们针对高性能场景提出 per-file DAX 优化,已经发到 v4 版本,正在上游社区推进中。(@Jingbo Xu)
我们也在积极探索数据库场景的垂直优化,目前针对 MySQL double write 带来的性能和带宽开销做了一些研究,期望通过文件系统层的优化来消除 double write。(@gaoxiang、@josephqi)

由于上述工作都会涉及到 Anolis Kernel,而当前 Kernel SIG 相关流程规范还在讨论中。待 Kernel SIG 的流程规范公布后,我们会第一时间将我们的研究成果开放在高性能存储技术 SIG 中,并期望有更多的同学参与进来一起完善。

—— 完 ——
关于龙蜥社区 SIG

SIG 是开放的,并争取让交付成果成为社区发行的一部分,由组内核心成员主导治理,可通过邮件列表和组内的成员进行交流。龙蜥社区SIG目前已超 20 个,包括跟踪诊断技术 SIG、商密软件栈、高性能存储技术 SIG、Java 语言与虚拟机 SIG、Cloud Kernel、OceanBase SIG 等。

SIG网址:https://openanolis.cn/sig

加入龙蜥社群

加入微信群:添加社区助理-龙蜥社区小龙(微信:openanolis_assis),备注【龙蜥】拉你入群;加入钉钉群:扫描下方钉钉群二维码。欢迎开发者/用户加入龙蜥社区(OpenAnolis)交流,共同推进龙蜥社区的发展,一起打造一个活跃的、健康的开源操作系统生态!


            

龙蜥社区钉钉交流群          龙蜥社区-小龙

往期精彩回顾

1.浪潮云加入龙蜥社区,打造统一Linux操作系统平台

2.教你一招:看GIMP怎么用Anolis OS完成你的私人定制 | 征文活动

3.龙蜥社区成立Anolis OS Course SIG,打造龙蜥OS学习平台

4.来,通过CPU Burst温习下概率论 | 龙蜥技术

5.龙蜥社区8月事件回顾

6.Happy Hacking!如何在Anolis OS中打造属于自己的Linux内核?| 征文活动

7.“不服跑个分?” 是噱头还是实力?| 龙蜥技术

8.龙蜥社区开发者自述:我是如何趣味玩转Anolis OS的?|征文活动

9.依然顺滑!Dragonwell 11如何改造全新垃圾回收器ZGC?| 龙蜥技术

10.龙蜥操作系统(Anolis OS)正式登陆阿里云公共云

项目详情点击“阅读原文”进入SIG主页查看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存