红帽为 Linux 5.14 大幅优化设备映射器,最高提升十倍性能
近日,红帽的工程师们对 DeviceMapper(DM,设备映射器)的代码进行了大幅的性能优化,这项改动现在已经进入了 Linux 5.14 的合并队列中。
设备映射器是一个由 Linux 内核提供的框架,用于将物理块设备映射到更高级别的虚拟块设备上。它构成了逻辑卷管理器(LVM)、软件 RAID 和 dm-crypt 磁盘加密的基础,并提供了额外的功能,如文件系统快照。
设备映射器的工作原理是将数据从一个虚拟块设备(由设备映射器本身提供)传递到另一个块设备,数据也可以在转换中被修改。
该提交「dm space maps: improve performance with inc/dec on ranges of blocks 」(DM space maps:通过对区块范围的 inc/dec 提高性能)被总结为:"当我们打破 btree 节点上的共享时,我们通常需要对节点中持有的每个值增加引用计数。这可能会导致对 space maps 的大量重复调用。通过改变 space map inc/dec 方法的接口来解决这个问题,以获取要操作的相邻块的范围。"
虽然看起来这是一项很小的改动,但对性能的影响却是巨大的。对于使用大量快照的安装,这将使基本操作的 CPU 开销降低多达 10 倍。
具体而言,此次更新的补丁在处理 DM 快照上,CPU 的开销可以降低 10 倍之多。除此之外另一个补丁,可以用于缓存少量的索引条目,有了这个变化,提供一个新的块相比以往可以降低 20% 的 CPU 时间。
红帽的工程师们在持续改进 Linux 存储支持方面做了大量的工作,这些 DM 的改进也有助于 Stratis 存储工作。
关注公众号
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
JetBrains 旨在通过更好的垃圾回收机制来改善 Kotlin/Native
在 2020 年,JetBrains 的 Kotlin 团队曾发布了重新设计 Kotlin/Native 中内存管理方法的计划。现如今,该团队则对其进展进行了更新,并分享了一些关于内存管理设计的细节。此外,官方透露,他们计划在 2021 年夏季结束前提供一个开发预览。 根据 JetBrains 的说法,最初的 Kotlin/Native 自动内存管理器使用了一个延迟引用计数的垃圾收集器,主要原因是在于它的简单性。然而,现在这个早期的设计选择已经成为提高 Kotlin/Native 性能和开发者体验的障碍,因此该团队正在寻求改进它。 博客内容指出,现代追踪式垃圾收集算法比引用计数式垃圾收集器更加灵活可调,并且更容易适应多线程应用程序的需求。但是,所有追踪式垃圾收集器都有一个共同的弱点--它们需要来自编程语言运行时和编译器的相当复杂的基础架构。 目前,Kotlin 团队正在研究新的基础架构。并透露,他们的第一个任务是确定 roots--内存中所有可以存储对动态分配内存的引用的位置。“这将使我们能够开始追踪一个对象图。” 同时,其还需要一个特殊的基础架构来实现并发垃圾回收算法,以避免阻塞应用...
-
下一篇
字节 97 年前端:大四接触开源,毕业即成框架核心开发者
类型系统在前端领域曾经是存在感很低的概念,而随着 TypeScript 语言的兴起和流行,类型系统逐步进入前端开发者的视野,它所带来的错误检测能力、抽象能力和安全方面的提升正是现代 Web 开发所迫切需要的。 然而 TypeScript 的出现并没有解决所有场景下的类型安全问题,在 HTTP 请求、RPC、跨端接口调用等等场景中,依然会遇到无法做到类型安全的情况。 为此,知乎知名前端专家工业聚开发了一个类型友好的函数式风格 Node.js Web 框架 Farrow。该框架致力于解决服务器端开发时的类型安全问题和客户端与服务器端的类型同步问题,提供一种基于 TypeScript 实现端到端类型安全的方案。 来自字节跳动 Web Infra 团队的前端工程师马天琦是 Farrow 项目的核心贡献者之一,97 年出生的他在校园时期就开始关注开源社区,通过为开源项目贡献代码来提升自己的开发技能,并在毕业后不久就成为了 Farrow 框架的核心贡献者。我们联系到了这位年轻有为的开源贡献者,希望能从他的身上找到一些适合年轻人学习的成长经验。 1、请给大家尽量详细地介绍一下自己吧! 答:我叫马天琦...
相关文章
文章评论
共有0条评论来说两句吧...


微信收款码
支付宝收款码