首页 > 其他分享 >高性能存储 SIG 月度动态:erofs 新增支持多个重要特性,持续构建容器场景竞争力

高性能存储 SIG 月度动态:erofs 新增支持多个重要特性,持续构建容器场景竞争力

时间:2023-09-07 18:01:05浏览次数:47  
标签:场景 uring 5.10 高性能 SIG io xfs erofs

高性能存储 SIG(Special Interest Group)目标:存储领域的发展历程,本质上是存储介质与软件栈相互促进发展的过程。高性能存储 SIG 致力于存储栈性能挖掘,当前主要聚焦内核 io_uring 技术优化异步 IO 性能,使用持久化内存提升业务单成本性能,容器场景存储技术优化等课题。高性能存储 SIG 期望通过社区合作,打造标准的高性能存储技术软件栈,推动软硬件协同发展。

01

SIG 整体进展

本次月报综合了 SIG 在 7、8 两个月的工作进展,涵盖多个重要模块的 CVE 修复,特性增强,性能优化和 bugfix 等。

  • erofs 新增支持多个重要特性,持续构建容器场景下的竞争力。
  • 与中兴同学合作修复一起 xfs 死锁问题,并初步达成后续共同加固 ANCK xfs 质量的合作意向。
  • 启动当前版本 io_uring 代码质量加固,预计下个版本发布。

02

项目具体进展

1)CVE

CVE-2023-2124:修复 xfs out-of-bounds 内存访问问题(PR1918/PR2027)。

CVE-2023-34256:修复 ext4 crc16 out-of-bounds read 问题(PR1793/PR2004)。

CVE-2023-3212:修复 gfs2 NULL pointer dereference 问题(PR2030/PR2041)。

CVE-2023-3111:修复 btrfs UAF 问题(PR2039/PR2040)。

2)erofs

ANCK 5.10

因 RAFSv6 的系列补丁引入,导致 erofs 通过块接口挂载会 crash。该问题在 ANCK 5.10.134-15.1 紧急做了修复。(PR1987)

回合主线透明压缩特性,支持 LZ4/LZMA 压缩算法,支持 ztailpacking 和压缩去重等。(PR2076/PR2080/PR2081/PR2082)

erofs-utils

fuse 模式支持 xattr long name prefix 特性。该特性可以优化存储 overlayfs xattr 元数据重复 name 的额外开销,在典型负载下可节省 ~15% 的镜像存储空间。

支持 xattr bloom filter 特性,该特性可以加速 negative xattr lookup 的性能,例如 “ls -lR” 负载下可优化 ~20% 性能。

支持 rebuild 模式,该模式主要应用于 tarfs 场景,可以将多个 OCI 层转换而来的 erofs 镜像按照类似 overlayfs 模型合并为一个 erofs 镜像。

外部会议

已申报 9 月底上海 Kubecon + Open Source Summit 2023 会议议题,届时将同步 erofs 在各种场景(尤其是云场景)的最新进展。

3)xfs

Revert “anolis: xfs: account extra freespace btree splits for multiple allocations”,该补丁之前是为了解决一个小概率 extent-to-btree conversion 失败问题,但由于其修改了分配策略,可能增加其他 corner case 的发生概率。(PR1837)

中兴同学报告了一起 xfs_create() 与 xfs_fs_destroy_inode() 流程死锁问题,该问题在最新上游主线 v6.5-rc1 已经修复:https://github.com/torvalds/linux/commit/b742d7b4f0e03df25c2a772adcded35044b625ca

为了方便后续补丁的回合,本次修复方案尽可能回合了相关依赖补丁。(PR1990)

此外,与中兴同学就社区 xfs 的维护这块达成合作意向,后续将共同加固 ANCK xfs 质量。

4)ext4

将社区上游针对 fast commit 的一系列 bugfix 回合到 ANCK 5.10。(PR2066)
ext4 fast commit 对 fsync 比较频繁的场景有比较明显的性能提升,如 benchmark fs_mark,数据库 MySQL/PostgreSQL 等。

ext4 delalloc append 写场景(如 append 写日志),目前存在大量没有必要的 i_disksize 更新的操作,这将影响该场景下的性能。

Liu Song 针对该场景进行了优化,测试结果显示,在 Kafka 2.6.2 版本及包大小 2K 的场景,性能提升 10%。

目前该优化已经合入社区上游主线,并及时回合到 ANCK 5.10。(PR2083)

5)io-uring

在随机写场景,io_uring sqthread 和文件系统 IO 处理 kworker 可能运行在同一个 cpu 上。

由于之前修改了 sqthread 的 nice 值,可能导致文件系统 IO 处理 kworker 得不到及时调度,这将显著影响性能。

因此,我们将之前修改 sqthread nice 值的补丁做了回退处理。(PR1888/PR1889)

在更新 liburing 版本后,相应的 io_uring 的 testcase 也得到了更新。

在新的 testcase 下,当前 ANCK 5.10 暴露出较多的问题,这些实际在社区高版本内核中都已得到解决,但回合比较困难。

社区 5.10 stable 已经同步io_uring 的版本至 5.15.85,因此我们决策也跟随 stable 版本进行升级,目前大部分自研特性都已经完成移植。

由于 sqthread 从 kthreadd 创建的内核线程,演变为应用进程 fork 的子进程,我们的 percpu sqthread poll 特性需要相应适配,预计在下个版本完成。

6)dsms

继续跟进社区对 dsms 软件包的反馈,继续修复 dsms-storage 模块安全漏洞和预览版未处理的 BUG。

dsms-engine 任务管理器的处理流程和 dsms-ui 前端界面优化进行中。

03

下一步计划

1. erofs-utils 支持多线程压缩,并发布 1.7 版本。

2. erofs 实现基于 fsverity 的全镜像校验,压缩特性支持 64k/16k page size + 4k block size。

3. io_uring 基于 5.10 stable 升级,加固 ANCK 5.10 io_uring 质量。

4. dsms 问题修复和持续优化。

相关链接:

高性能存储 SIG 主页:

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

注:更多龙蜥 SIG 月度动态可点击这里查看。


—— 完 ——

标签:场景,uring,5.10,高性能,SIG,io,xfs,erofs
From: https://blog.51cto.com/u_15308345/7399464

相关文章

  • appium运行报错UiAutomator exited unexpectedly with code 0, signal null
    增加配置desired_caps['automationName']="UiAutomator2"再次运行后,正常 ......
  • 基于高性能Cortex®-M33内核STM32H562RIV6、STM32H562RIT6、STM32H562RGV6 32-bit ARM
    简介STM32H562xx器件是基于高性能ARM®Cortex®-M3332位RISC内核的高性能微控制器系列(STM32H5系列)。它们的工作频率高达250MHz。Cortex®-M33内核具有单精度浮点单元(FPU)、支持所有ARM®单精度数据处理指令和所有数据类型。该系列微控制器具有1至2MB的Flash存储器、640KB的SRA......
  • Android内存优化案例——不合适和高性能的写法(一)
    安卓内存优化是一个很重要的话题,有很多方面可以考虑,比如避免内存泄漏、减少内存抖动、优化图片加载、使用缓存和对象池等。下面我举一些代码案例,分别展示不合适的写法和高性能的写法。1.避免使用枚举类型。枚举类型会占用更多的内存,因为它是一个类对象,而不是一个基本类型。如果......
  • 数字信号处理 Digital Signal Processing
    通信、控制和信号处理导论IntroductionToCommunication,Control,AndSignalProcessing6.011|Spring2010|Undergraduate(本科生)课程描述本课程将信号、系统和推理作为通信、控制和信号处理的统一主题进行研究。课题包括由确定性和随机信号驱动的线性系统的输入输出和......
  • 升讯威在线客服系统的并发高性能数据处理技术:高性能TCP服务器技术
    我在业余时间开发维护了一款免费开源的升讯威在线客服系统,也收获了许多用户。对我来说,只要能获得用户的认可,就是我最大的动力。最近客服系统成功经受住了客户现场组织的压力测试,获得了客户的认可。客户组织多名客服上线后,所有员工同一时间打开访客页面疯狂不停的给在线客服发消......
  • Android官方资料--Signing Builds for Release
    SigningBuildsforReleaseINTHISDOCUMENTReleasekeysSigningOTApackagesSignaturesandsideloadingCertificatesandprivatekeysAdvancedsigningoptionsManuallygeneratingkeysCreatingimagefilesAndroidOSimagesusecryptographicsignaturesintwo......
  • Azure SignalR支持replication啦
    经过漫长的设计和调试,本人主导的replication功能终于在AzureSignalR上实现了出来,并且进入了公开预览阶段。那么replication和使用sdk做sharding有什么不同和相同点哪?先说说相同点:备灾,如果一个region出现了软件或硬件问题,还有其它region可以使用。分流,每个region的负载不会过......
  • avue表单组件后台拖拉拽框架avue-form-design在移动端vant框架与uniapp框架下的动态渲
    avue表单组件后台拖拉拽框架avue-form-design:https://github.com/sscfaith/avue-form-designavue表单组件后台拖拉拽框架avue-form-design在移动端vant框架与uniapp框架下的动态渲染转换适配待补充......
  • 云计算环境中高性能计算的挑战与对策
    文章目录云计算中的高性能计算挑战1.资源竞争:2.网络延迟:3.数据传输效率:4.虚拟化开销:5.节点异构性:高性能计算在云计算环境中的对策1.定制化虚拟机镜像:2.弹性资源调整:3.高效数据传输:4.任务并行度:未来发展和展望1.边缘计算的结合:2.量子计算的应用:3.智能任务调度:结论......
  • 服务器显卡:驱动高性能计算和人工智能应用
    本文分享自天翼云开发者社区《服务器显卡:驱动高性能计算和人工智能应用》,作者:不知不觉一、引言随着高性能计算和人工智能应用的不断发展,服务器显卡的性能显得越来越重要。服务器显卡是服务器硬件配置中的一个关键组件,它不仅提供基本的图形渲染能力,还在高性能计算和人工智能应......