当前位置: 首页 > news >正文

高性能存储 SIG 月度动态:优化 fuse 提升 AI 存储接入能力,erofs 工具发布新版本

本次月报综合了 SIG 在 7、8 两个月的工作进展,包含多项新特性、优化、Bugfix 等。

SIG 整体进展

  • fuse 支持 failover,并优化 background 读写公平性,提升 AI 存储接入场景的能力。

  • erofs page cache 共享特性已发到上游社区,review 迭代中,目前已更新到 v4 版本。

  • erofs-utils 发布 1.8.1 新版本,支持多线程压缩,Intel IAA 加速器,增量构建及优化构建性能等。

  • 基于 io_uring passthrough 框架完成 virtio-blk passthrough 方案原型开发,后续将发到社区上游。

  • 回合多个内核存储模块的社区补丁,加固代码质量。 

项目具体进展

1、Cloud Kernel

cve

[Bugfix] 修复 CVE-2024-41012(PR#3784)

erofs

[Release] erofs-utils 发布新版本 1.8.1,支持多个新特性,如多线程压缩,Intel IAA 加速器,增量构建,以及构建性能优化等。

链接:erofs-utils: userspace tools for EROFS filesystem

[Feature] 支持 large folio。该特性在压测过程中发现一例 hang,经过调查分析确认为内存 migrate 导致,已提交补丁到上游社区并修复。

链接:Re: [PATCH v2] mm/migrate: fix deadlock in migrate_pages_batch() on large folios

[Feature] page cache 共享特性已发到社区,目前已更新到 v4 版本,继续 review 迭代中。

链接:[PATCH RFC v4 0/4] erofs: introduce page cache share feature

ext4

[Bugfix] 社区 stable 补丁回合。(PR#3456/PR#3477/PR#3593/PR#3596)

io_uring

[Bugfix] 社区 stable 补丁回合。(PR#3476)

[Feature] 类似 nvme passthrough,基于 io_uring passthrough 框架实现 virtio-blk passthrough 方案,旨在用于前后端高效通信场景。目前已完成原型开发,并扩展 fio ioengine io_uring_cmd 支持 virtio-blk passthrough 设备,本地验证性能提升 ~17%,后续将发出 RFC 到上游 virtio 社区。

fuse/virtio-fs

[Feature] 支持 failover 特性。该特性允许 fuse daemon 在异常恢复后,可以通过 attach 操作重新连接到原 fuse connection,重发请求等操作完成故障恢复。(PR#3433/PR#3512)

[Bugfix] 社区 stable 补丁回合。(PR#3510)

[Feature] fuse background 读写公平性优化,避免因大量回写饿死读 IO。该特性需通过 FUSE_SEPARATE_BACKGROUND 特性位开启。(PR#3532)

[Feature] 支持 max_write 对齐,这对某些后端有很大性能提升。(PR#3533)

block

[Bugfix] 社区 stable 补丁回合(PR#3471/PR#3597)

[Bugfix] 修复 mq-deadline 调度器在多硬件队列设备上发生的 IO hang(PR#3542)

[Bugfix] 修复更新 block 限流配置时,可能因计算 bps 限流时出现负值导致限流不符合预期问题(PR#3654)

misc

[Bugfix] virtio-blk 模块社区 stable 补丁回合。(PR#3479)

[Bugfix] kernfs、procfs、debugfs 等模块社区 stable 补丁回合。(PR#3475/PR#3545/PR#3614)

[Bugfix] device mapper 即 dm 模块社区 stable 补丁回合。(PR#3514)

[Bugfix] multiple device 即 md 模块社区 stable 补丁回合。(PR#3515/PR#3585/PR#3583)

[Bugfix] nfs 模块社区 stable 补丁回合。(PR#3519/PR#3538/PR#3540/PR#3547)

[Bugfix] cifs 模块社区 stable 补丁回合。(PR#3536/PR#3621/PR#3625/PR#3642/PR#3678)

[Bugfix] ntfs 模块社区 stable 补丁回合。(PR#3537/PR#3613)

[Bugfix] loop 模块社区 stable 补丁回合。(PR#3543)

[Bugfix] null_blk 模块社区 stable 补丁回合。(PR#3544)

[Bugfix] vfs 社区 stable 补丁回合。(PR#3572/PR#3573/PR#3574/PR#3575/PR#3576/PR#3579/PR#3580/PR#3604/PR#3679)

[Bugfix] overlayfs 模块社区 stable 补丁回合。(PR#3581)

[Bugfix] quota 模块社区 stable 补丁回合。(PR#3590)

[Bugfix] dax 模块社区 stable 补丁回合。(PR#3599)

[Bugfix] ceph 模块社区 stable 补丁回合。(PR#3632/PR#3677)

[Bugfix] nbd 模块社区 stable 补丁回合。(PR#3659)

2、dsms

[Bugfix] 修复 ceph-deploy 工具在 bucket disable 后重新部署不会 enable 的 bug。

[Release] dsms 新版本将确定选择 ceph16 作为 dsms-storage 的基线,适配工作基本完成,且基本功能测试正常。

[Proposal] ceph 和 rbd 模块社区补丁回合,将通过 dsms 项目例行跟踪维护。

更多详细进展,请参见项目主页:Dsms: 分布式存储管理系统 DSMS (Distributed Storage Management System)是一个分布式存储系统管理平台。该软件实现可视化的存储集群管理,提升分布式存储软件的易用性。

3、mdadm & ledmon

[Release] mdadm & ledmon 确定将直接使用上游的 tag 作为 release 版本,与其他发行版保持一致。对于重要的 bugfix,再采用从主线 cherry-pick 的方式。

[Proposal] multiple device 即 dm 模块社区补丁回合,将通过 mdadm 项目例行跟踪维护。

相关链接:

高性能存储 SIG 主页:High Performance Storage SIG - OpenAnolis龙蜥操作系统开源社区

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

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

更多龙蜥SIG主页点击查看:SIG - OpenAnolis龙蜥操作系统开源社区

相关文章:

高性能存储 SIG 月度动态:优化 fuse 提升 AI 存储接入能力,erofs 工具发布新版本

本次月报综合了 SIG 在 7、8 两个月的工作进展,包含多项新特性、优化、Bugfix 等。 SIG 整体进展 fuse 支持 failover,并优化 background 读写公平性,提升 AI 存储接入场景的能力。 erofs page cache 共享特性已发到上游社区,re…...

2024 年最新 Protobuf 结构化数据序列化和反序列化详细教程

Protobuf 序列化概述 Protobuf(Protocol Buffers)是由Google开发的一种语言中立、平台中立、可扩展的序列化结构数据的方法。它用于在不同系统之间高效地交换数据。Protobuf使用定义文件(.proto)来描述数据结构,并通过…...

【小程序】微信小程序课程 -4 项目实战

目录 1、 效果图 2、创建项目 2.1 创建小程序端 2.1.1 先创建纯净项目 2.1.2 删除components 2.1.4 删除app.json红色部分 2.1.5 删除index.json红色部分 2.1.6 删除index.wxss全部内容 2.1.7 删除index.wxml全部内容 2.1.8 app.json创建4个页面 2.1.9 app.json添加…...

【期刊】论文索引库-SCI\SSCI\IE\南大核心\北大核心\CSCD等

外文期刊检索 SCI SCI即《科学引文索引》(Science Citation Index),是由美国科学信息研究所(Institute for Scientific Information)创建于1961年,收录文献的作者、题目、源期刊、摘要、关键词,不仅可以从文献引证的角度评估文章的学术价值,还可以迅速方便地组建研究课…...

开源链动 2+1 模式 S2B2C 商城小程序:社交电商团队为王的新引擎

摘要:本文深入探讨在社交电商领域中,团队的重要性以及如何借助开源链动 21 模式 S2B2C 商城小程序,打造具有强大竞争力的团队,实现个人价值与影响力的放大,创造被动收入,迈向财富自由之路,同时为…...

使用Fiddler Classic抓包工具批量下载音频资料

1. 通过F12开发者工具,下载音频文件 浏览器打开音频列表->F12快捷键->网络->媒体,播放一个音频文件,右边媒体下生成一个音频文件,右击“在新标签页中打开”,可以下载这个音频文件。 2.通过Fiddler Classic抓…...

QT开发:基于Qt实现的交通信号灯模拟器:实现一个带有倒计时功能的图形界面应用

介绍 本文将介绍如何使用Qt框架实现一个简单的交通信号灯控制程序。本程序包括一个图形界面,显示红、黄、绿三色信号灯,并通过定时器控制信号灯的切换。同时,我们还将实现一个带有按钮的界面,用于展示信号灯的状态。 1. 安装Qt开…...

【编程基础知识】网络I/O模型详解:从阻塞到异步

引言 网络I/O模型是网络编程的核心,它们决定了应用程序如何进行读写操作以与网络进行数据交换。了解不同的网络I/O模型对于设计高效、可扩展的网络应用程序至关重要。 一、阻塞I/O(Blocking I/O) 1. 定义 阻塞调用:当应用程序…...

yolo自动化项目实例解析(六)自建UI(主窗口、预览窗口)

前面我们大致把各个代码块梳理出来了,但是还是不知道从那块开始,我们这里主要先通过ui页面的元素去推理整个执行过程,我们首先需要知道ui功能里面有那些组件 qt设计师基础控件 Qt Designer 是一个图形界面设计工具,用于创建 Qt 应…...

Unity优质教程分类汇总 【持续更新中】

以下收录的均为作者自己看过的觉得比较好的教程 基础 Unity入门: https://www.bilibili.com/video/BV1HX4y1V71E?p13 生命周期 https://docs.unity.cn/cn/2022.3/uploads/Main/monobehaviour_flowchart.svg https://zhuanlan.zhihu.com/p/551294000 编程技巧…...

真正掌握left join on 和 where 的差别

总结 用 where 是先连接然后再筛选用 on 是先筛选再连接数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户。在使用left jion时,on和where条件的区别如下: on条件是在生成临时表…...

神经网络在多分类问题中的应用

作者简介:热爱数据分析,学习Python、Stata、SPSS等统计语言的小高同学~个人主页:小高要坚强的博客当前专栏:Python之机器学习本文内容:神经网络在多分类问题中的应用作者“三要”格言:要坚强、要努力、要学习 目录 1. 引言 2.数据构造 3.划分数据集 4.神经网络实现多…...

nginx的安装和使用

源码安装 1.环境准备:卸载其他方式安装的web应用,防止端口冲突 2.下载nginx源码包 wget https://nginx.org/download/nginx-1.20.2.tar.gz 3.源码编译安装 yum install -y gcc pcre-devel zlib-devel #安装依赖包 useradd -M -s /sbin/nologin ngi…...

js采用覆盖键、覆盖鼠标滑动事件实现禁止网页通过 ctrl + +/- 和 ctrl + 滚轮 对页面进行缩放

一、兼容电脑端的禁止通过 ctrl /- 和 ctrl 滚轮 对页面进行缩放 const keyCodeMap {// 91: true, // command61: true,107: true, // 数字键盘 109: true, // 数字键盘 -173: true, // 火狐 - 号187: true, // 189: true, // -};二、覆盖ctrl||command ‘’/‘-’ // 覆…...

某客户Oracle RAC无法启动故障快速解决

某日,9:50左右接到好友协助需求,某个客户Oracle RAC无法启动,并发过来一个报错截图,如下: 和客户维护人员对接后,远程登录服务端进行故障分析。 查看hosts信息,首先进行心跳测试,测…...

【计算机网络 - 基础问题】每日 3 题(二十八)

✍个人博客:Pandaconda-CSDN博客 📣专栏地址:http://t.csdnimg.cn/fYaBd 📚专栏简介:在这个专栏中,我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话,欢迎点赞👍收藏&…...

探索甘肃非遗:Spring Boot网站开发案例

1 绪论 1.1 研究背景 当前社会各行业领域竞争压力非常大,随着当前时代的信息化,科学化发展,让社会各行业领域都争相使用新的信息技术,对行业内的各种相关数据进行科学化,规范化管理。这样的大环境让那些止步不前&#…...

产品管理- 互联网产品(6):产品测试

可用性测试 招募有代表性用户作为测试代表参与者,评估某产品符合特定可用性及符合程度。以具有代表性的用户为测试样本。 测试中多关注用户表情与动作。多鼓励与测试的用户更多的操作以用户角度发现问题。同时要做好询问工作,耐心聆听用户的意见&#x…...

奖金高达 110 万元,Spatial Joy 2024 全球 AR 应用开发大赛启动

今年是AR应用开发大赛第三届,恰逢Rokid成立十周年,我们推出全新的大赛品牌“Spatial Joy”,引领开发者享受开发乐趣,为其打造充满挑战和惊喜的开发之旅,逐渐成为空间计算时代全球最大AR应用开发大赛。回顾大赛发展&…...

git add成功后忘记commit的文件丢了?

本文目标:开发人员,在了解git fsck命令用法的条件下,进行git add成功但由于误操作导致丢失的文件找回,达到找回丢失文件的程度。 文章目录 1 痛点2 解决方案3 总结/练习 1 痛点 开发过程中,分支太多(基线分…...

Flask RESTful 示例

目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...

应用升级/灾备测试时使用guarantee 闪回点迅速回退

1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间, 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点,不需要开启数据库闪回。…...

CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型

CVPR 2025 | MIMO:支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题:MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者:Yanyuan Chen, Dexuan Xu, Yu Hu…...

无法与IP建立连接,未能下载VSCode服务器

如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...

关于nvm与node.js

1 安装nvm 安装过程中手动修改 nvm的安装路径, 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解,但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后,通常在该文件中会出现以下配置&…...

java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别

UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...

Python实现prophet 理论及参数优化

文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候,写过一篇简单实现,后期随着对该模型的深入研究,本次记录涉及到prophet 的公式以及参数调优,从公式可以更直观…...

Nuxt.js 中的路由配置详解

Nuxt.js 通过其内置的路由系统简化了应用的路由配置,使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...

高等数学(下)题型笔记(八)空间解析几何与向量代数

目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...

JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案

JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停​​ 1. ​​安全点(Safepoint)阻塞​​ ​​现象​​:JVM暂停但无GC日志,日志显示No GCs detected。​​原因​​:JVM等待所有线程进入安全点(如…...