ZNS SSD+F2FS文件系统|如何降低GC开销?--2

在F2FS(Flash-Friendly File System)中,Over-provisioning,OP配置是一种优化策略,旨在通过预留一部分存储空间不分配给用户使用,以提升文件系统的性能、耐用性和可靠性。在F2FS与ZNS SSD的结合中,OP策略得到了进一步优化。由于ZNS SSD具有固定的区域(zone)大小和顺序写入特性,F2FS能够更加精确地管理OP配置空间,以适应ZNS特有的存储管理需求。:

  • 基于section的OP配置:F2FS在ZNS SSD上按照section(一组连续segment)进行OP配置。section的设计与ZNS SSD的zone大小相对应,确保在section内部按顺序使用segment,以符合ZNS的顺序写入要求。通过预留一定数量的section作为OP配置空间,F2FS可以更有效地控制垃圾收集活动,尤其是在高利用率情况下。

  • 动态调整OP配置:根据实际工作负载和性能需求,F2FS允许系统管理员或自动调整算法动态改变OP配置的数量。例如,对于写密集型应用,可能需要增加OP配置以减少垃圾回收的压力;反之,对于读取为主的应用,可以适当减少OP配置以提高存储利用率。

  • 平衡磁盘利用率与性能:在F2FS中,OP配置的大小是一个关键的权衡因素。过高的OP配置虽然可以显著减少垃圾收集,但会降低硬盘的实际可用容量。相反,过低的OP配置可能导致频繁的垃圾收集和性能下降。因此,F2FS通过实验和数据分析,寻找最优的OP配置比例,以在硬盘利用率和性能之间找到最佳平衡点。

在F2FS与ZNS SSD的环境中,OP配置与垃圾回收过程密切相关。当OP配置充足时,文件系统可以在清理无效数据(即执行垃圾回收)时,有更多的空间可供移动有效数据,从而避免因空间不足导致的性能瓶颈。此外,OP配置还能为文件系统提供额外的缓冲空间,使其在处理突发写入请求时有足够的余地,进一步降低垃圾回收的触发频率。

图片

比如,上图中在给定条件下(45个zone的ZNS SSD、95%文件系统利用率)最适宜的F2FS预留section数量。选择这些配置可以最大限度地减少垃圾收集(GC)开销,提高I/O密集型应用的执行效率。

在OP配置空间较低的配置下,当运行I/O密集型应用时,系统会出现崩溃现象。究其原因,LFS模式下的空闲段搜索机制在面对高硬盘利用率时,尤其是在ZNS SSD(分区域命名空间固态硬盘)上,无法有效地找到可用的空闲段进行数据写入

F2FS具备两种垃圾回收GC模式:前台(FG)模式和后台(BG)模式。其中,FG模式在可用空闲段不足时触发,负责紧急的垃圾回收任务;而BG模式则周期性地在文件系统空闲时进行,即使在无I/O操作时也会运行,侧重于预防性的空间清理和整理。

针对ZNS SSD的特性,研究者发现尽管F2FS利用大比例的OP配置空间在一定程度上降低了GC开销,但在高磁盘利用率下,特别是在写密集型工作负载中,GC过程仍可能导致显著的性能下降。为解决这一问题,研究者提出了以下优化措施:

  1. 改进的空闲段查找策略:针对低OP配置空间配置下系统易崩溃的问题,研究者在LFS模式中新增了空闲段搜索机制。当常规的向前搜索无法找到可用的空闲段时,系统会从主数据区的起始位置开始,通过位图遍历整个设备,直至找到空闲段为止。这一改动显著降低了在多写应用高利用率场景下系统崩溃的风险。

在LFS模式下,F2FS采用向前(右方向)搜索的方式寻找空闲段。当接收到新的写请求时,F2FS首先检查当前段是否有足够的空间处理这些写入。如果没有,它会尝试在当前段右侧使用位图搜索下一个空闲段。若向前搜索无法找到可用的空闲段,则会触发警报并向用户侧发送通知,最终导致应用程序崩溃。

相比之下,在传统的SSD上,由于采取一对一的段与section映射,即使在高硬盘利用率下,也较容易在右侧找到空闲段。然而,ZNS SSD的特性决定了其section数量与zone数量相匹配,这意味着在高利用率下,尤其是在存在多个并发写入者的情况下,ZNS SSD上很难找到可用的空闲section。

图片

上图显示,采用新搜索策略的ZNS-OP-SS配置能够在整个设计空间(包括高利用率区域)内保持稳定运行,而未采用新策略的ZNS-OP配置在磁盘利用率增高时性能明显下降,甚至可能导致应用崩溃。

  1. 并行垃圾回收(P-GC)方案鉴于ZNS SSD的顺序写入特性使得LFS模式无法重用无效块,必须先清理整个section才能重用其中的脏块,这加速了空闲段的消耗并触发GC。为应对这一挑战,研究者提出了P-GC方案。当FG GC模式触发时,P-GC策略会根据victim section中有效块数量与总块数之比决定是否采用并行方式执行GC。若有效块数量大于或等于总块数的一半,则采用并行GC,否则采用单线程处理。通过并行化处理,P-GC能够加速GC过程,从而减少由GC导致的性能下降。

图片

为了验证上述优化措施的有效性,研究者进行了详细的实验评估。实验结果表明,采用P-GC方案后,F2FS在各种工作负载下,包括写密集型工作负载,平均性能提升可达42%。这充分证明了P-GC方案在降低GC开销、提升文件系统性能方面的显著效果。

图片

在FG GC(前台垃圾回收)期间,由于GC线程的工作,应用程序会被暂停,直到整个section被完全释放。这突显出FG GC的延迟对于决定应用程序性能至关重要。

图片

根据实验室数据显示,有力地证实了P-GC方案能够有效地管理慢速的GC请求,显著缩短GC过程中的延迟,从而提升应用程序的性能,有效地解决了由于FG GC延迟导致的性能瓶颈问题。

  • 对于YCSB-A workload:P-GC的平均速度比Vanilla(原始或基线方案)高出29%,并且在最慢的情况下,P-GC的表现比Vanilla快超过2.03倍。

  • 对于YCSB-F workload:P-GC的平均速度比Vanilla快7%。而在最慢的情形下,P-GC的速度更是达到了Vanilla的2.98倍。


 

参考文献:

  • Dongjoo Seo, Ping-Xiang Chen, Huaicheng Li, Matias Bjørling, and Nikil Dutt. 2023. Is Garbage Collection Overhead Gone? Case study of F2FS on ZNS SSDs. In 15th ACM Workshop on Hot Topics in Storage and File Systems (HotStorage ’23), July 9, 2023, Boston, MA, USA. ACM, New York, NY, USA, 7 pages.

  • https://www.kernel.org/doc/html/latest/filesystems/f2fs.html


如果您看完有所受益,欢迎点击文章底部左下角“关注”并点击“分享”、“在看”,非常感谢!

精彩推荐:

  • 漫谈HAMR硬盘的可靠性

  • 万物皆可计算|下一个风口:近内存计算

  • SSD数据错误如何修复?

  • CXL与PCIe世界的尽头|你相信光吗?

  • 全景剖析SSD SLC Cache缓存设计原理

  • 存储革新:下一代低功耗PCM相变存储器

  • 3D DRAM虽困难重重,最快明年到来

  • 字节跳动入局存储内存SCM

  • 解读“CFMS中国闪存市场峰会”存储技术看点

  • 首个业内DNA存储技术规范发布

  • 如何突破SSD容量提升的瓶颈?

  • 固态存储是未来|浅析SSD架构的演进与创新技术

  • 论文解读:NAND闪存中读电压和LDPC纠错码的高效设计

  • 华为新发布磁电存储“王炸”,到底是什么?

  • SSD LDPC软错误探测方案解读

  • 关于SSD LDPC纠错能力的基础探究

  • 存储系统如何规避数据静默错误?

  • PCIe P2P DMA全景解读

  • 深度解读NVMe计算存储协议

  • 对于超低延迟SSD,IO调度器已经过时了吗?

  • 浅析CXL P2P DMA加速数据传输的原理

  • NVMe over CXL技术如何加速Host与SSD数据传输?

  • 浅析LDPC软解码对SSD延迟的影响

  • 为什么QLC NAND才是ZNS SSD最大的赢家?

  • SSD在AI发展中的关键作用:从高速缓存到数据湖

  • 浅析不同NAND架构的差异与影响

  • SSD基础架构与NAND IO并发问题探讨

  • 字节跳动ZNS SSD应用案例解析

  • CXL崛起:2024启航,2025年开启新时代

  • NVMe SSD:ZNS与FDP对决,你选谁?

  • 浅析PCI配置空间

  • 浅析PCIe系统性能

  • 存储随笔《NVMe专题》大合集及PDF版正式发布!

图片

如果您也想针对存储行业分享自己的想法和经验,诚挚欢迎您的大作。
投稿邮箱:Memory_logger@163.com (投稿就有惊喜哦~)

《存储随笔》自媒体矩阵

图片

更多存储随笔科普视频讲解,请移步B站账号

图片

如您有任何的建议与指正,敬请在文章底部留言,感谢您不吝指教!如有相关合作意向,请后台私信,小编会尽快给您取得联系,谢谢!

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

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

相关文章

Win10 打开有些软件主界面会白屏不显示,其他软件都正常

环境: Win10专业版 英伟达4070 显卡 问题描述: Win10 打开有些软件主界面会白屏不显示,打开远程协助软件AIRMdesk,白色,其他软件都正常 解决方案: 网上说电脑没有接显示器独立显卡的关系导致 我是只有一台主机,没…

mmclassification 训练自己的数据集

文章目录 从源码安装数据集准备config文件训练附录 从源码安装 git clone https://github.com/open-mmlab/mmpretrain.git cd mmpretrain pip install -U openmim && mim install -e .下面是我使用的版本 /media/xp/data/pydoc/mmlab/mmpretrain$ pip show mmcv mmpr…

Fisher判别示例:鸢尾花(iris)数据(R)

先读取iris数据,再用程序包MASS(记得要在使用MASS前下载好该程序包)中的线性函数lda()作判别分析: data(iris) #读入数据 iris #展示数据 attach(iris) #用变量名绑定对应数据 library(MASS) #加载MASS程序包 ldlda(Species~…

路由引入,过滤实验

实验拓补图 实验目的: 1、按照图示配置 IP 地址,R1,R3,R4 loopback口模拟业务网段 2、R1 和 R2 运行 RIPv2,R2,R3和R4运行 OSPF,各自协议内部互通 3、在 RIP 和 oSPF 间配置双向路由引入,要求除 R4 上的…

Jackson 2.x 系列【30】Spring Boot 集成之数据脱敏

有道无术,术尚可求,有术无道,止于术。 本系列Jackson 版本 2.17.0 本系列Spring Boot 版本 3.2.4 源码地址:https://gitee.com/pearl-organization/study-jaskson-demo 文章目录 1. 概述2. 实现思路3. 案例演示3.1 脱敏规则3.2 自…

【全网首发】Mogdb 5.0.6新特性:CM双网卡生产落地方案

在写这篇文章的时候,刚刚加班结束,顺手写了这篇文章。 前言 某大型全国性行业核心系统数据库需要A、B两个物理隔离的双网卡架构方案,已成为行业标准。而最新发布的MogDB 5.0.6的CM新增支持流复制双网段部署,用于网卡级高可用容灾(…

Vue--》深入了解 VueUse 功能性工具集

今天博主为大家介绍一款实用性的插件名字叫做 VueUse ,它是专门为 Vue.js 生态系统设计的功能性工具集合。其提供了许多可重用的功能函数,可以帮助开发者更轻松地构建 Vue.js 应用程序。其提供了大量的功能,包括状态管理、副作用管理、组合式…

SpringCloud系列(12)--服务提供者(Service Provider)集群搭建

前言:在上一章节中我们成功把微服务注册进了Eureka集群,但这还不够,虽然注册服务中心Eureka已经是服务配置了,但服务提供者目前只有一个,如果服务提供者宕机了或者流量过大,都会影响到用户即服务使用者的使…

GoJudge环境部署本地调用云服务器部署go-judge判题机详细部署教程go-judge多语言支持

前言 本文基于go-judge项目搭建,由于go-judge官网项目GitHub - criyle/go-judge: Sandbox Server in REST / gRPC API. Based on Linux container technologies.,资料太少,而且只给了C语言的调用样例,无法知道其他常见语言比如&am…

4.23学习总结

一.NIO(一) (一).简介: NIO 是 Java SE 1.4 引入的一组新的 I/O 相关的 API,它提供了非阻塞式 I/O、选择器、通道、缓冲区等新的概念和机制。相比与传统的 I/O 多出的 N 不是单纯的 New,更多的是代表了 Non-blocking 非阻塞,NIO具有更高的并…

OKCC搭建配置什么样的服务器合适

OKCC呼叫中心系统是一种采用软硬件结合的架构方式、及分布式的IP技术,从多角度为企业提供整合的一体化解决方案。因此,搭建OKCC呼叫中心系统所使用的服务器应该满足以下几点要求: 稳定性:服务器需要具有较高的稳定性和可靠性&…

JavaSE——程序逻辑控制

1. 顺序结构 顺序结构 比较简单,按照代码书写的顺序一行一行执行。 例如: public static void main(String[] args) {System.out.println(111);System.out.println(222);System.out.println(333);} 运行结果如下: 如果调整代码的书写顺序 , …

2024华中杯A题|太阳能路灯光伏板的朝向设计问题(思路、代码.....)

太阳能路灯由太阳能电池板组件部分(包括支架)、LED灯头、控制箱(包含控制器、蓄电池)、市电辅助器和灯杆几部分构成。太阳能电池板通过支架固定在灯杆上端。太阳能电池板也叫光伏板,它利用光伏效应接收太阳辐射能并转化为电能输出,经过充放电控制器储存在蓄电池中。太阳能…

Midjourney-01 初试上手 注册使用并生成你的第一张AI图片 详细流程 提示词 过程截图 生成结果 付费文生图的天花板!

背景介绍 Midjourney是一款基于人工智能技术的绘画软件,利用深度学习算法来辅助用户进行绘画创作。这款软件能够通过用户输入的文本描述生成图像,支持多种生成方式,包括文字生成图片、图片生成图片和混合图片生成图片。 图像生成方式&#…

开发区块链DApp应用,引领数字经济新潮流

随着区块链技术的飞速发展,分布式应用(DApp)正成为数字经济中的一股强劲力量。DApp以其去中心化、透明公正的特点,为用户带来了全新的数字体验,开创了数字经济的新潮流。作为一家专业的区块链DApp应用开发公司&#xf…

软件项目经理需要具备这 11 个能力

当前软件开发技术更新换代越来越快,各种项目实施管理思想也日新月异,作为一个软件项目经理,需要具备这 11 种能力: 1. 项目管理能力 了解项目管理的基本原则和方法,包括制定项目计划、资源分配、风险管理、问题解决和…

出海不出局 | 小游戏引爆高线市场,新竞争态势下的应用出海攻略

出海小游戏,出息了! 根据 Sensor Tower 近期发布的“2024 年 3 月中国手游收入 TOP30”榜单,出海小游戏在榜单中成了亮眼的存在。 其中,《菇勇者传说》3 月海外收入环比增长 63%,斩获出海手游收入增长冠军&#xff0c…

IUG-CF论文精读

Neural collaborative filtering with ideal user group labels (具有理想用户组标签的神经协同过滤) 论文地址:https://www.sciencedirect.com/science/article/pii/S0957417423023898 摘要: 人口统计信息是推荐系统(RSs)的关键…

Mysql用语句创建表/插入列【示例】

一、 创建表 COMMENT表示字段或列的注释 -- 新建student表 CREATE TABLE student (id BIGINT NOT NULL COMMENT 学生id, enroll_date DATE NOT NULL COMMENT 注册时间, NAME VARCHAR(18) DEFAULT NOT NULL COMMENT 学生姓名, deal_flag TINYINT(1) DEFAULT 0 NOT NULL COMM…

TLV61048非同步升压BOOST转换器输入电压2.6-5.5V输出电流4A输出电压最高15V

推荐原因: 输入电压较低,输出电流可达3.5A SOT23-6封装 批量价格约0.70元 TLV61048引脚 TLV61048引脚功能 7 详细说明 7.1 概述 TLV61048是一款非同步升压转换器,支持高达 15 V 的输出电压和输入范围从 2.61 V 到 5.5 V。该TLV61048集成了…