多流技术:不同寿命数据存在SSD的不同块

SSDFans 2025-03-13 08:00
Automatic I/O stream management based on file characteristics
Yuqi Zhang,Ni Xue,Yangxu Zhou
Samsung R&D Institute China
Xi’an, Samsung Electronics
Xi’an, China

【概要】

    根据数据的寿命将数据存放在SSD的不同块内可以显著提高SSD的GC效率、减少WAF、提高SSD的寿命和性能。多流技术(Multi-stream technology)可以设置数据放置策略从而减少WAF和数据碎片。本文提出了FileStream,利用聚类算法学习文件特征从而给文件分配数据流,使得相似寿命的数据存放在SSD的同一块内。最后作者测试了六个不同的benchmark,和baseline和两个自动流管理技术相比,分别平均减少了写放大34.5%和21.6%。


【背景与相关工作】

1. 多流技术

    用户可以在写请求中传递一个hint(流ID,Stream ID),流ID不同的数据会被放在SSD的不同的地方(如不同的块内)。所以当主机根据数据的寿命分配不同的流ID时,寿命不同的数据将被分开存放,从而提高GC效率。

    目前,NVMe已经添加了多流技术,而Linux 4.13内核也增加了“write lifetime hints”来携带流ID。同时,多流技术不仅仅可以用于多流SSD,还可以用于其他设备如OpenChannel SSD、Zoned Namespace SSD。


2. 流ID分配的相关工作

  • 手动分流

    在应用的代码中实现一个固定的流分配策略(基于文件类型和一些内部的机制)。缺点是无法适应多样的工作集和应对工作集的特征的改变。同时,把这些策略应用在生产中成本略高,因为需要修改应用代码或者内核代码。

表1 手动分流的相关论文

  • 自动分流

    不依赖于具体应用进行流分配。如下表,现存的自动分流策略无法直接用在某些通用的工作集中,而且比不过手动分流。

表2 各种自动分流策略一览


表3 自动分流的相关论文


FileStream——基于文件特征实现自动分流

1)动态适应多样的工作集

2)在Linux用户态实现,除了传递stream ID之外,不会影响应用和内核。


文件特征分析

  • 只附加写的文件(Append-only File)

    这类文件只会顺序写入,不允许修改旧数据,更新的数据会写入一个新文件,如日志结构的文件(例如RocksDB和Cassandra的写前日志和数据文件,它们使用LSM树进行管理)。

    文件中的数据寿命很难通过LBA的访问次数得出。一个文件的数据的LBA可能不连续,而且数据可能被其他文件覆写。

    文件中的数据的寿命和文件的类型有关,如下图,数据文件有多个等级(L0~L3),低等级的文件在合并入高等级文件后会被删除,所以它们的寿命更短。然而,文件的等级只能通过修改应用代码获得,所以这种分流思路只能适用于手动分流。

不过,从图中可以得到两个信息:

① 这类文件从创建到结束写入的时间很短,而且同时正写入的文件很少,而同一文件的数据的寿命通常类似。同时,根据经验,不同时间使用同一流ID写入SSD的数据通常不会写入同一块。

② 写前日志的寿命比数据文件短,不同类型文件的寿命不同。

综上,可以通过文件类型区分文件中的数据寿命。

图1 RocksDB 文件的操作


  • 就地更新的文件(In-place Update File)

    这类文件允许随机写,允许文件内更新数据,如关系数据库中的数据文件(例如MySQL和PostgreSQL中的表文件)。这类文件的存在时间通常比较长,它们随着表的创建和删除而创建或删除。

    若对一个LBA的写很频繁,意味着大部分写入这个LBA的数据寿命较短。下图显示了同一个表文件中LBA的访问频率相似,而不同表文件中LBA的访问频率不同。为了从文件的角度看待LBA的访问频率,作者提出USM(unit-size-modification)——文件被修改的次数比上文件的大小。对于这类文件,可以通过USM区分文件中的数据寿命。

图2 在MySQL和PostgreSQL中的数据写入


【方法】

1. Mapper:初分流

    因为append-only文件从打开到结束写入的时间很短,所以有必要在文件一打开就决定文件中数据的流ID,而此时我们并没有很多文件的修改信息。FileStream的设计思路为,最小化同一流内不同寿命的文件的写入量。设具有同一个父路径和扩展的文件为同类文件。

对于选定时刻的选定流内的选定文件fi将来要写入的数据量的计算方式如下:

    设m(fi)是fi每秒的修改量,cd(fi)是fi的当前已持续写入的时间,wd(fi)是fi这类文件平均写持续时间,amount(fi)是fi将来要写入的数据量。则:

对于fi和新打开的文件fo之间的寿命差异计算如下:

    设Fi是和fi同类型的文件,Ni是这类文件的数量,l(fa)是Fi中的文件的寿命。Fo、No和l(fb)的定义同理。dif(fi,fo)是fi和fo的寿命差异(最大值为1)。则:

综上,设Fs为流s中正在写入的文件集,对某一流s的评分如下:

在分配时选择评分低的s分配给fo。其中,流编号为1到d。


2. Remapper:再分流

    如果一个文件打开了T秒,则启动remapper来根据文件的访问情况分配新的流ID。此时可以认为该文件是就地更新的文件,文件中的数据寿命可以根据USM决定。

作者每T秒启动一个聚类算法(Kmeans++),为这类文件分配编号为d+1到N的流。(N是SSD允许的最大流编号)


3. Devider:决定mapper和remapper映射的流ID区间

    divider每T秒调节d的大小。若mapper中处理的文件较多、更新较频繁,则d更大。调节方式如下:

       设FNm和FNr分别表示mapper和remapper管理的文件数量,MNm和MNr分别表示它们的文件修改总次数。首先计算一个系数proportion:

      

       随后计算d为:



【实验】

1. 实验设置

    本文在真实的多流SSD——SAMSUNG PM963 SSD(支持8流)上进行了测试。内核4.13不支持传入流ID信息,所以作者在内核上打了补丁。

    实验测试了6个工作集,具体信息如下表:

    实验比较了FileStream和四个方案的性能差异:

①baseline:没有多流技术

②AutoStream:根据LBA的访问情况(连续性、更新频次、时间)自动分流

③LKStream:通过相关的数据集的特点(I/O大小、I/O数目和带宽),预测数据的温度来进行分流

④ManualStream:手动分流。数据先根据文件类型区分,然后对于数据文件,根据文件的等级(对于RocksDB和Cassandra)或者更新频次(对于MySQL、PostgreSQL和MongoDB)分流。

T被设置为60s。


2. 结果分析

  • WAF

在几乎所有策略中,FileStream表现最好,甚至比手动分流还要好。和baseline、AutoStream和LKStream相比,FileStream平均减少了WAF34.5%、22.3%和20.8%。Docker是一个混合了多类工作集的复杂工作集,FileStream可以很好地区分不同的数据寿命,所以它的表现比其他策略更好。


  • Throughput

注:对于MySQL和PostgreSQL,使用每分钟的事务数表示带宽;对于RocksDB、Cassandra、MongoDB,使用每秒钟操作数表示带宽;对于Docker,使用IOPS表示带宽。


    FileStream和其他策略相比,带宽明显更高。和AutoStream和LKStream相比,带宽分别平均提高了21.9%和25.8%。因为mapper把append-only文件的数据分到不同的流中,比手动分流分得更加彻底,所以FileStream的带宽更好。


  • 不同模块的分析

图中mapper+remapper表示mapper和remapper平均分配N流,从图中可以看出来,此时并不能达到最优,所以divider是很有必要的。


  • T的分析

从图可知,60s并没有达到最优,后续或许可以进行动态调整。然而,WAF对T的变化并不敏感。


  • 资源消耗分析

因为聚类只使用USM,所以对CPU的占用只有微弱的提升。同时内存消耗不会超过50MB。


【总结与未来的工作】

  • FileStream总结

(1)使用mapper,基于流的使用情况和文件类型把新打开的文件分到不同的流中

(2)使用remapper,利用Kmeans++聚类,把文件分到不同类中

实验显示FileStream可以减少WAF、提高带宽。


  • 未来工作

(1)将FileStream扩展到更多的设备上,如Zoned Namespace SSD。

(2)当文件内的数据寿命不一致时,结合文件信息和LBA相关的信息进行进一步决策。

The End

致谢


感谢本次论文解读者,来自华东师范大学的硕士生俞丁翠,主要研究方向为智能存储。


 点一下“阅读原文”获取论文

SSDFans AI+IOT+闪存,万物存储、万物智能、万物互联的闪存2.0时代即将到来,你,准备好了吗?
评论 (0)
  • MASSAGE GUN 筋膜枪拆解 今天给车子做保养,厂家送了一个筋膜枪。产品拿在手里还是挺有分量的。标价108元。通过海鲜市场一搜索,几十元不等,而且还是爆款。不多说,我们就来看看里面用了什么料,到底值几个钱。外观篇 首先给它来个开箱照,从外观看,确实还是很精致,一点都不逊色品牌产品。 从箱中取出筋膜枪,沉甸甸的。附上产品的各方位视角 产品的全家福 我装上球头,使用了一番,还真不赖,有不同的敲击速度和根据力度调节不同的档位。拆解篇 拿出我的螺丝套装,对产品开始进行拆解,首先
    zhusx123 2025-04-13 16:52 65浏览
  •     电气间隙是指两个带电体在空气中的最短距离。导体、电介质(空气),最短距离,就是这个术语的要素了。        (图源:TI)    电气间隙是由安装类别决定的,或者更本质地说,是瞬态过电压的最大值来决定的,而不是工作电压的高低。安装类别见协议标准第007篇,瞬态过电压另见协议标准第009篇。    实际设计中怎么确定电气间隙?可以按照CAT,工作电压和绝缘等级来定。 
    电子知识打边炉 2025-04-13 18:01 58浏览
  • 华为Freebuds pro 耳机拆解 2020年双十一花了1000大洋买了华为的Freebuds pro,这个耳机的降噪效果真是杠杠的。完全听不到外边的噪音。几年后当我再次使用这款耳机的时候。发现左耳没带多久就自动断连了。后来查了小红书说耳机的电池没电了导致,需要重新配一只,华为售后不支持维修支持更换。而且配件的价格要好几百。真是欲哭无泪,还没用多久呢。后来百度了都说这个不是很好拆(没有好工具的前提下)。 虽然网上已经有很多拆解的视频和介绍了,今天我还是要拆解看看里面是怎么样的构造(暴力)。拿
    zhusx123 2025-04-12 23:20 44浏览
  • 在公共安全、工业调度、户外作业等场景中,对讲机作为关键通信工具,正面临从“功能单一化”向“智能融合化”的转型需求。WT2605C蓝牙语音芯片凭借双模蓝牙架构、高扩展存储方案与全场景音频处理能力,推动传统对讲机实现无屏化操控、专业级音频解码与蓝牙音箱功能融合,为行业用户打造更高效、更灵活、更低成本的通信解决方案。一、无屏化交互革命:BLE指令重构操作逻辑针对工业环境中对讲机操作复杂、屏幕易损的痛点,WT2605C通过双模蓝牙(BR/EDR+BLE)与AT指令集,实现全链路无屏控制:手机APP远程控
    广州唯创电子 2025-04-14 09:08 19浏览
  • 在制造业或任何高度依赖产品质量的行业里,QA(质量保证)经理和QC(质量控制)经理,几乎是最容易被外界混淆的一对角色。两者的分工虽清晰,但职责和目标往往高度交叉。因此,当我们谈到“谁更有可能升任质量总监”时,这并不是一个简单的职位比较问题,而更像是对两种思维方式、职业路径和管理视角的深度考察。QC经理,问题终结者QC经理的世界,是充满数据、样本和判定标准的世界。他们是产品出厂前的最后一道防线,手里握着的是批次报告、不合格品记录、纠正措施流程……QC经理更像是一位“问题终结者”,目标是把不合格扼杀
    优思学院 2025-04-14 12:09 30浏览
  • 在当今汽车电子化和智能化快速发展的时代,车规级电子元器件的质量直接关系到汽车安全性能。三星作为全球领先的电子元器件制造商,其车规电容备受青睐。然而,选择一个靠谱的三星车规电容代理商至关重要。本文以行业领军企业北京贞光科技有限公司为例,深入剖析如何选择优质代理商。选择靠谱代理商的关键标准1. 授权资质与行业地位选择三星车规电容代理商首先要验证其授权资质及行业地位。北京贞光科技作为中国电子元器件行业的领军者,长期走在行业前沿,拥有完备的授权资质。公司专注于市场分销和整体布局,在电子元器件领域建立了卓
    贞光科技 2025-04-14 16:18 43浏览
  • 你知道精益管理中的“看板”真正的意思吗?在很多人眼中,它不过是车间墙上的一块卡片、一张单子,甚至只是个用来控制物料的工具。但如果你读过大野耐一的《丰田生产方式》,你就会发现,看板的意义远不止于此。它其实是丰田精益思想的核心之一,是让工厂动起来的“神经系统”。这篇文章,我们就带你一起从这本书出发,重新认识“看板”的深层含义。一、使“看板”和台车结合使用  所谓“看板”就是指纸卡片。“看板”的重要作用之一,就是连接生产现场上道工序和下道工序的信息工具。  “看板”是“准时化”生产的重要手段,它总是要
    优思学院 2025-04-14 15:02 35浏览
  • 一、磁场发生设备‌电磁铁‌:由铁芯和线圈组成,通过调节电流大小可产生3T以下的磁场,广泛应用于工业及实验室场景(如电磁起重机)。‌亥姆霍兹线圈‌:由一对平行共轴线圈组成,可在线圈间产生均匀磁场(几高斯至几百高斯),适用于物理实验中的磁场效应研究。‌螺线管‌:通过螺旋线圈产生长圆柱形均匀磁场,电流与磁场呈线性关系,常用于磁性材料研究及电子束聚焦。‌超导磁体‌:采用超导材料线圈,在低温下可产生3-20T的强磁场,用于核磁共振研究等高精度科研领域。‌多极电磁铁‌:支持四极、六极、八极等多极磁场,适用于
    锦正茂科技 2025-04-14 13:29 37浏览
  •   高空 SAR 目标智能成像系统软件:多领域应用的前沿利器   高空 SAR(合成孔径雷达)目标智能成像系统软件,专门针对卫星、无人机等高空平台搭载的 SAR传感器数据,融合人工智能与图像处理技术,打造出的高效目标检测、识别及成像系统。此软件借助智能算法,显著提升 SAR图像分辨率、目标特征提取能力以及实时处理效率,为军事侦察、灾害监测、资源勘探等领域,提供关键技术支撑。   应用案例系统软件供应可以来这里,这个首肌开始是幺伍扒,中间是幺幺叁叁,最后一个是泗柒泗泗,按照数字顺序组合
    华盛恒辉l58ll334744 2025-04-14 16:09 52浏览
  • 亥姆霍兹线圈的应用领域‌物理学研究‌:在原子物理中,用于研究塞曼效应;在磁学研究中,用于测试磁性材料的磁滞回线等特性;还可用于研究电子荷质比等实验‌。‌工程与技术领域‌:用于电子设备校准和测试,提供标准磁场环境;在大型加速器中用于磁场校准;用于电磁干扰模拟实验,测试电子设备在不同磁场干扰下的性能‌。‌生物医学领域‌:研究生物磁场效应,如探索磁场对生物细胞的影响;在生物医学工程基础研究中,提供可控磁场环境‌。‌其他应用‌:作为磁场发生装置产生标准磁场;用于地球磁场的抵消与补偿、地磁环境模拟;还可用
    锦正茂科技 2025-04-14 10:41 33浏览
  •  亥姆霍兹线圈的制造材料选择需兼顾导电性、绝缘性、机械强度及磁场性能,具体分类如下:一、‌导线材料1、‌高纯度铜线:‌作为线圈绕制的核心材料,铜因其you异的导电性(电阻率低)和热稳定性成为shou选。漆包铜线通过表面绝缘漆层实现匝间绝缘,避免短路‌。2、‌其他导电材料‌ 铝线等材料可用于特定场景(如轻量化需求),但导电性和抗氧化性较铜略逊二、‌磁源材料‌1、‌永磁体‌如钕铁硼(NdFeB)或铁氧体,适用于无需外部电源的静态磁场生成,但磁场强度有限。2、‌电磁铁‌通过电流控制磁场强度,
    锦正茂科技 2025-04-14 10:22 19浏览
  • 时源芯微 专业EMC解决方案提供商  为EMC创造可能(适用于高频时钟电路,提升EMC性能与信号稳定性)一、设计目标抑制电源噪声:阻断高频干扰(如DC-DC开关噪声)传入晶振电源。降低时钟抖动:确保晶振输出信号纯净,减少相位噪声。通过EMC测试:减少晶振谐波辐射(如30MHz~1GHz频段)。二、滤波电路架构典型拓扑:电源输入 → 磁珠(FB) → 大电容(C1) + 高频电容(C2) → 晶振VDD1. 磁珠(Ferrite Bead)选型阻抗特性:在目标频段(如100MHz~1GH
    时源芯微 2025-04-14 14:53 39浏览
  •   电磁干扰测试系统:电子设备电磁兼容性保障利器   北京华盛恒辉电磁干扰测试系统作为评估电子设备在电磁环境中电磁兼容性(EMC)的关键工具,主要用于检测与分析设备在电磁干扰环境下的性能表现,确保其符合相关标准,能够在实际应用中稳定运行。   应用案例   目前,已有多个电磁干扰测试系统在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润电磁干扰测试系统。这些成功案例为电磁干扰测试系统的推广和应用提供了有力支持。   系统组成   电磁干扰测试系统一般由以下核心部分构成:  
    华盛恒辉l58ll334744 2025-04-14 10:40 21浏览
  • 软瓦格化 RISC-V 处理器集群可加速设计并降低风险作者:John Min John Min是Arteris的客户成功副总裁。他拥有丰富的架构专业知识,能够成功管理可定制和标准处理器在功耗、尺寸和性能方面的设计权衡。他的背景包括利用 ARC、MIPS、x86 和定制媒体处理器来设计 CPU SoC,尤其擅长基于微处理器的 SoC。RISC-V 指令集架构 (ISA) 以其强大的功能、灵活性、低采用成本和开源基础而闻名,正在经历各个细分市场的快速增长。这种多功能 ISA 支持汽车、航空航天、国防
    ArterisIP 2025-04-14 10:52 41浏览
  •   电磁干扰测试系统软件:深度剖析   电磁干扰(EMI)测试系统软件,是电子设备电磁兼容性(EMC)测试的核心工具,在通信、汽车、航空航天、医疗设备等众多领域广泛应用。它的核心功能涵盖信号采集、频谱分析、干扰定位、合规性评估以及报告生成,旨在保障设备在复杂电磁环境中稳定运行。下面从功能、技术原理、应用场景、主流软件及发展趋势这五个方面展开详细解析。   应用案例  软件开发可以来这里,这个首肌开始是幺乌扒,中间是幺幺叁叁,最后一个是泗柒泗泗,按照你的顺序组合可以找到。   目前
    华盛恒辉l58ll334744 2025-04-14 10:02 21浏览
我要评论
0
0