高性能存储SIG月度动态:EROFS支持直接索引容器镜像tar包,io_uring将支持并优化NVMe直通

news2025/1/8 4:28:26

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

01 本月 SIG 整体进展

1)本月合入 Anolis 主线 PR 共计 11 个,包含重要组件的特性支持,性能优化和 bugfix 等。

2)ANCK 5.10 支持 erofs subpage block 特性,提升容器镜像 tar 包解压性能以及 golden image 的安全性。

3)ublk 零拷贝方案仍在社区讨论中。

4)ANCK 5.10 计划支持 io_uring nvme passthrough 特性,以进一步优化内核 IO 栈开销,提升业务性能。

5)DSMS Anolis 8.6 联调持续进行中。

02 项目具体进展

1、Anolis OS

cve:CVE-2023-1611(PR1548/PR1549)

erofs & fscache:优化按需场景 IO 性能(PR1557),erofs block-based IO 切换到 iomap 框架(PR1531),erofs 支持 subpage block for tarfs(PR1561)

io_uring:修复 IORING_OP_URING_CMD 的兼容问题(PR1564/PR9)

xfs:修复多个 xfstests 问题,xfs/191,xfs/144,xfs/549(PR15)

virtiofs:修复 cache=none 模式下 fd 长时间不释放的问题(PR1533)

misc:修复 nilfs2 sysfs 接口生命周期 bug(PR1559),修复 nfsd server crash 问题(PR1590)

2、容器镜像加速

随着 Linux v6.4 合并窗口开启,erofs 文件系统的 long xattr name prefixes 特性正式合入社区主线,优化存储 overlayfs xattr 元数据(例如 composefs 模式)重复 name 的额外开销:https://lwn.net/Articles/928610/。

ANCK 5.10 支持 erofs subpage block 特性,可应用于容器镜像场景中 erofs 直接索引容器镜像的 tar 包,省去容器镜像生命周期管理中 tar 包的 untar 以及清理流程,从而提升性能和稳定性,并提升容器镜像作为 golden image 的安全性。

ANCK 5.10 支持 erofs 的 flattened block device 模式,使得 multi-blob images 存储于同一个 block device,该特性可以应用于机密容器的存储方案。

3、用户态存储

截止目前,上游社区一共提出了三种 ublk 零拷贝方案: https://lwn.net/Articles/926118/

近期 io_uring 社区核心开发者 Pavel 也提出一个方案,目前还在讨论中。目前判断该方案对 io_uring 侵入较小,最终接收到主线的可能性较高: https://lore.kernel.org/all/cover.1682701588.git.asml.silence@gmail.com/

另外,向上游社区 blktests 贡献了 6 个测试用例,覆盖 ublk 设备的正常删除、crash 后删除、文件系统挂载和故障恢复等特性: https://lore.kernel.org/linux-block/20230505032808.356768-1-ZiyangZhang@linux.alibaba.com/T/#t

4、io_uring

基于分布式存储业务需求,开始调研 nvme passthrough 技术。我们测试发现性能并没有想象中那么好,经过分析我们认为可以做得更好,并抛出了我们的方案,获得了三星开发人员的认可:https://lore.kernel.org/io-uring/24179a47-ab37-fa32-d177-1086668fbd3d@linux.alibaba.com/

另外,我们计划在 ANCK 5.10 中支持 nvme passthrough 技术。该技术基于已经支持的 io_uring uring_cmd 方案,允许 nvme 请求通过 io_uring 直接发送到 nvme 块设备驱动,从而优化 nvme 设备读写经历的软件栈提升性能。

5、DSMS

dsms 是一个分布式存储系统管理平台,旨在实现可视化的存储集群管理,提升分布式存储软件的易用性。项目地址:https://gitee.com/anolis/dsms/

目前 dsms 持续在 Anlios 8.6 上面进行 dsms-engine、dsms-storage 以及 dsms-ui 等组件的功能联调。

另外,经过 SIG 例会讨论,ceph 15 确定在 dsms 项目中维护,先整体基于 Anolis 8 开发,后续再迁移至 Anolis 23 并发布。

03 SIG 下一步计划

支持 erofs 的 bloom filter 特性,进一步提升 erofs 的 xattr 访问性能;在 ANCK 4.19 中支持 erofs subpage block 与 flattened block device 等特性。

ANCK 4.19 支持 virtual fuse 模块,其可以方便云原生场景下 FUSE 文件系统的部署,可应用于大数据和 AI 训练的存储接入;ANCK 4.19 增强 fuse 的缓存一致性,使其支持分布式文件系统后端,可应用于大数据和 AI 训练的存储接入方案。ANCK 5.10 支持 io_uring nvme passthrough 特性,并在分布式存储项目完成 POC,同时在社区推进更加高效的 nvme passthrough 方案。

dsms 继续进行 dsms-engine、dsms-storage 以及 dsms-ui 等组件的功能联调,并开始适配 Anolis 23。

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

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

—— 完 ——

为给大家提供更好的内容和服务,龙蜥社区诚挚地邀请大家参与问卷调研,请扫描下方二维码或点此链接填写,我们将筛选出优质反馈,送出龙蜥周边!

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/515344.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

bugku——变量1

拿到题目后是一串PHP代码,给到提示是flag在变量中,接下来进行代码审计 error_reporting(0):关闭错误报告 include “flag1.php”:包含flag1.php文件 highlight_file(_file_):页面进行语法高亮显示 isset($_GET[‘args’])&#xf…

AI模型推理(4)—— 认识ServingRuntime

参考: Serving Runtimes - KServe Documentation Website 模型推理服务化:如何基于Triton开发自己的推理引擎? - 知乎 GitHub - openai/triton: Development repository for the Triton language and compiler 前言 ServingRuntime&#…

Qt quick基础3(基础动画,包含旋转动画、串行并行动画及其嵌套)

Qt quick基础3(基础动画) 目录 Qt quick基础3(基础动画)前言前期准备工作Animation on property 元素加载后自动运行动画Behavior on property 当元素值改变后运行动画Standalone Animation 单独动画旋转动画分组动画串行动画并行…

干货 | 科研决策怎么做?四个步骤一招解决!

Hello,大家好! 这里是壹脑云科研圈,我是喵君姐姐~ 又是给大家带来满满干货的一天,今天要给大家介绍的是狐少侠对于科学决策的四个步骤的详细解读! 最近,有读者问了我几个关于决策的问题:要不要…

ubuntu22.04 编译安装 Kate 编辑器

ubuntu22.04 编译安装 Kate 编辑器 文章目录 ubuntu22.04 编译安装 Kate 编辑器0x0 目的0x1 在 Ubuntu 22.04 编译安装 Kate0x11 Download dependencies0x12 Build kate and kwrite0x13 Setup paths for binary and shared libraries0x14 Misc trials 0x2 配置 Kate渲染空白字符…

R语言 | 数据分析与处理

目录 一、随机抽样 1.1 将随机抽样应用于扑克牌 1.2 种子值 ​1.3 模拟骰子 1.4 比重的设置 二、再谈向量数据的抽取——以islands为实例 三、数据框数据的抽取——重复值的处理 ​3.1 重复值的搜索 3.2 which()函数 3.3 抽取数据是去除重复值 四、数据框数据的抽取…

Linux命令·scp

scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。可能会稍微影响一下速度。当你服务器硬盘变为只读 read only system时&#xff0c…

【深度学习】第一门课 神经网络和深度学习 Week 2 神经网络基础

2.1 二元分类 前言 第二周的主题是学习神经网络的基础知识。 实现神经网络需要用到一些重要的技术和技巧,比如怎样处理包含大量样本的训练集。 在神经网络的计算中,还会有前向暂停、前向传播、反向暂停和反向传播等步骤,本周会对它们进行…

面试一个6年经验测试员:一年经验硬生生用了六年....

在众多面试中,对于那个工作了6年的面试者,我印象很深刻,因为最开始拿到简历的时候,我一摸:"这简历,好厚啊!"再一看,工作6年。 于是我去找了我的领导,我说:“这人我应该没…

C++入门基础知识总结(超详细)

目录 C入门基础知识之什么是C? C入门基础知识看看C的历史版本: C入门基础知识关键字 C入门基础之C的命名空间 C入门基础命名空间的使用 C入门基础知识的输入和输出 C入门基础知识-缺省参数 C入门基础-C函数重载 extern “C” C入门基础知识-引用 C入门基…

图像处理:图像增广算法

目录 前言 图像增广算法 a.图像旋转 b.图像亮度调整 c.图像裁剪及拼接 实验分析 本章小结 前言 图像增广算法在计算机视觉领域扮演着至关重要的角色。随着深度学习的兴起,大规模数据集的需求变得更加迫切,而图像增广算法可以通过对原始图像进行一…

手把手教你安装PaddleDetection(最新CUDA11.7版本)

前言 本文记录一下在linux系安装PaddleDetection的过程,使用Conda的方式来安装; (尝试过docker的方式,无法获取镜像;尝试过pip的方式,提升找不到库;最终使用Conda成功安装了。) 目…

什么是中国版软件能力成熟度之CSMM

当前,中国软件产业蓬勃发展,产业增速迅猛,发展韧性和潜力进一步凸显。由于我国长期缺乏相关的自主标准,20多年来国外标准在我国软件评估领域占据主导地位,不仅阻碍了我国自主产业发展,甚至通过评估等手段可…

【STM32CubeMX项目】小时钟V1.0

前言 基于STM32CubeMxSTM32F103C6T6编写时钟功能。现在以及能实现时钟的简单功能,做文记录下。还有很多可以改进的地方,也算留下的基础版本下来备份吧。我愿称之为V1.0版本。可供学习参考。 实物 引脚接线: OLED STM32F103 SCL --> PB8 SD…

使用JS手动实现SementicUI的分页,解决页数过多的问题.

自己使用SemanticUI官网的分页组件, 但是有很多细节问题并没有解决方案,如果只是需要而分页,将页数渲染在分页组件上的话,那倒很简单,但是页面有很多的话,假如100页,那么整个tbody会随着tfoot…

C# PDF附件生成

最近项目上需要生成行业某证件,查阅了一下,大体有两个思路可以实现 1.图片格式 2.PDF格式 使用图片格式,GDI绘图的形式,GDI绘图相关库资料比较多,难度也还好,问题是生成的证不是很好看,看上去…

ESP32学习笔记 -- ESP32-S3使用自定义分区表

什么是分区表? 分区表(Partition Table),主要是用来对ESP32-S3外挂的SPI FLASH进行区域划分的一个表格,通过这个表格,可以根据多个不同的功能,将SPI FLASH划分为不同的区域,方便开发者存储数据。 分区表主要有两种格式,一种是方便开发人员进行更改的.csv格式,一种是…

【Spring框架全系列】初识Spring MVC(上)

🌃哈喽,大家好,我是小浪。接着上篇博客,我们学习了springboot配置日志文件,到此,那么springboot的内容也更新的差不多了,由于是初学阶段,所以不学习那么深入,那么我们学习…

数据结构:单链表增、删、查、改的实现

1.概念 链表是一种 物理存储结构上非连续 、非顺序的存储结构,数据元素的 逻辑顺序 是通过链表 中的 指针链接 次序实现的 。 2.形式 我们使用链表一般都是创建一个结构体。 typedef int SLTDataType; typedef struct SListNode {SLTDataType data;struct SListN…

USB2.0 HUB的MTT与STT

HUB:集线器 以前呀,我也不清楚MTT与STT的区别,记得有一次选型的时候,很懵逼,结果还是按照以前同事的方案去选了,到后面想起来才抽空整明白了。 所以今天就来说下USB HUB里面的MTT与STT,并在文…