过度加大SSD内部并发何尝不是一种伤害-part2

方案设计完了,如何验证效果如何呢?作者是这么做的。

第一步,选择模拟环境:PLAN方案在定制的FEMU(Flash Emulation Module)上实现,该模块支持TRIM和多流功能,具体参数如下:

图片

第二步,选择不同的IO负载:多种不同I/O特性的工作负载评估。

    • 使用FIO的 workload,同时运行4个FIO进程,每个进程向不同大小的文件(大小比为1:10:30:64)发出总共256GiB的I/O(读写各占50%)。

    • TPC-C workload,使用30个终端和30个仓库的BenchBase,在MySQL上运行,InnoDB页面大小为4KiB。

    • YCSB workload,首先插入1亿个键值对,然后在RocksDB上执行5000万次操作(工作负载A:读取占50%,更新占50%)。

    • Fileserver workload,来自Filebench,包含100万个128KiB的文件和16个实例。

    • GCC Linux内核编译工作负载,进行100次迭代。每次迭代都将Linux内核源代码复制到SSD,编译内核,然后删除源代码和编译后的二进制文件。

第三步,模拟器验证设置:对于每个工作负载,都在以下设置下运行,并使用相同数量的并发打开的超级块,并为每个超级块使用所有8个通道:

    • 基线:传统SSD,不使用数据分类方案。

    • 部分GC:传统SSD但使用部分GC,即SSD仍然对超级块使用全并行性和跨所有可用通道和芯片的数据条带化,但SSD选择具有最少有效页数的块作为GC目标块。

    • 多流Multi-Stream:传统SSD使用多流方案。

    • AutoStream:传统SSD使用AutoStream(SFR)方案。

    • PLAN-NoPred-1/4:不使用任何数据分类方案的PLAN。所有大型顺序请求被发送到默认的大超级块,而所有小型随机请求被发送到默认的小超级块。小超级块使用所有通道和每通道2个芯片(1/4并行性)。

    • PLAN-NoPred-1/8:与PLAN-NoPred-1/4类似,但小超级块使用每通道1个芯片(1/8并行性)。

    • PLAN-Pred-1/4:使用SSD内部寿命预测的PLAN。小超级块使用所有通道和每通道2个芯片(1/4并行性)。这是推荐的配置。

    • PLAN-Pred-1/8:与PLAN-Pred-1/4类似,但小超级块使用每通道1个芯片(1/8并行性)。

最后,实验结果分析显示有如下几个方面的信息:

    • 降低写放大(WAF)PLAN可以降低各种工作负载的WAF,特别是对于发出许多小型随机写入的工作负载(如FIO、TPC-C、Fileserver和GCC),PLAN-Pred-1/4可以将WAF至少降低25%。

      图片

    • 擦除总块数PLAN在减少擦除的块数方面显示出最大的优势,特别是在FIO和GCC工作负载上。与基线相比,PLAN-Pred-1/4在FIO和GCC工作负载上分别将擦除的块数减少了高达46%和69%。在不影响或甚至提高性能的同时,显著减少垃圾收集活动对SSD的影响,特别是通过减少所需的擦除操作数量。

      图片

    • GC受影响超级块的有效数据比率:通过累积分布函数(CDF)展示了每次GC期间受影响超级块(即待擦除的超级块)的有效数据比率。曲线越偏向左边,表示在GC过程中需要重定位的有效页面越少,也就是说GC效率越高。PLAN的曲线在FIO、TPC-C、Fileserver和GCC工作负载中相比其他方法更偏向左边,这表明PLAN在这些工作负载上的GC性能更好。而对于YCSB工作负载,多流方案表现最佳,因为RocksDB数据库能够最好地预测数据的生命周期;数据库直接为写请求标记流ID,SSD将使用这些流ID相应地对传入数据进行分组。

      图片

    • 归一化带宽尽管PLAN降低了某些超级块的并行性,但即使对于包含大量大型顺序I/O的YCSB工作负载,吞吐量也没有受到影响。对于CPU受限的工作负载,如TPC-C、YCSB和GCC,PLAN在降低写放大因子的同时保持(甚至提高)了性能。同时,Fileserver在使用PLAN后性能提高了约10%,因为改进的GC效率释放了SSD内部资源,使得SSD能够处理更多的主机I/O请求。在PLAN-Pred-1/4上运行的FIO吞吐量提高了30%。

      图片

这些结果表明,通过使用PLAN方案,可以更有效地管理SSD内部的并行性和数据放置,从而降低垃圾收集的开销。减少擦除的块数意味着GC过程更加高效,因为需要移动和重写的数据量减少了,这进一步降低了写放大因子(WAF)和提高了整体性能。

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

精彩推荐:

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

  • FIO测试参数与linux内核IO栈的关联分析

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

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

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

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

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

  • SSD数据在写入NAND之前为何要随机化?

  • 深度剖析:DMA对PCIe数据传输性能的影响

  • NAND Vpass对读干扰和IO性能有什么影响?

  • HDD与QLC SSD深度对比:功耗与存储密度的终极较量

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

  • 如何通过优化Read-Retry机制降低SSD读延迟?

  • 关于硬盘质量大数据分析的思考

  • 存储系统性能优化中IOMMU的作用是什么?

  • 全景解析SSD IO QoS性能优化

  • NVMe IO数据传输如何选择PRP or SGL?

  • 浅析nvme原子写的应用场景

  • 多维度深入剖析QLC SSD硬件延迟的来源

  • 浅析PCIe链路LTSSM状态机

  • 浅析Relaxed Ordering对PCIe系统稳定性的影响

  • 实战篇|浅析MPS对PCIe系统稳定性的影响

  • 浅析PCI配置空间

  • 浅析PCIe系统性能

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

modbus_tcp的实现 through python.

0.引言 当前科技似乎处于加速发展期,各个模块都在快速迭代,迭代的速度会让既有的一些经验产生问题,在用python实现modbus_tcp协议时,网上流传的一些代码中import语句会出现问题。导致pymodbus模块用起来很不好用。 这个原因出在…

基于YOLOv8深度学习的智能玉米害虫检测识别系统【python源码+Pyqt5界面+数据集+训练代码】目标检测、深度学习实战

《博主简介》 小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 《------往期经典推…

react当中生命周期(旧生命周期详解)

新生命周期https://blog.csdn.net/kkkys_kkk/article/details/135156102?spm1001.2014.3001.5501 目录 什么是生命周期 react中的生命周期 旧生命周期 生命周期图示 常用的生命周期钩子函数 初始化阶段 挂载阶段 在严格模式下挂载阶段的生命周期函数会执行两次原因 更…

W25Q128

什么是 W25Q128 ? W25Q128是一款由Winbond(威邦电子)公司生产的闪存存储器芯片,属于串行闪存系列。具体来说,W25Q128是一颗128Mb(兆位)容量的串行闪存芯片,其中"W"代表Wi…

Python匹配文件模块的实战技巧

更多资料获取 📚 个人网站:ipengtao.com 在Python中,文件匹配是许多应用中常见的需求,例如文件管理、数据处理等。本文将深入探讨Python中用于文件匹配的模块,包括glob、fnmatch和os.path等,通过丰富的示例…

第11章 GUI Page403~405 步骤三 设置滚动范围

运行效果: 源代码: /**************************************************************** Name: wxMyPainterApp.h* Purpose: Defines Application Class* Author: yanzhenxi (3065598272qq.com)* Created: 2023-12-21* Copyright: yanzhen…

C# 跨越配置

跨越配置1 项目框架 .NET Framework 1.web.config配置 在system.webServer节点中添httpProtocol子节点 Access-Control-Allow-Origin值为“*”” <httpProtocol><customHeaders><add name"Access-Control-Allow-Origin" value"*" /><…

基于DeepSpeed对 llama2-7b的LORA精调

DeepSpeed数据并行研究 1. 技术调研 a. DeepSpeed DeepSpeed是一个开源深度学习训练优化库&#xff0c;其中包含一个新的显存优化技术—— ZeRO&#xff08;零冗余优化器&#xff09;。该框架包含四个技术亮点&#xff1a; 用 3D 并行化实现万亿参数模型训练&#xff1a; D…

【算法】使用二分查找解决算法问题:理解二分法思想,模板讲解与例题实践

文章目录 二分算法思想 / 性质 / 朴素模板二分查找的引入&#xff08;二段性&#xff09;704.二分查找 模板34.在排序数组中查找元素的第一个和最后一个位置 二分查找的前提条件 / 时间复杂度分析 算法题69.x的平方根35.搜索插入位置852.山脉数组的峰顶索引162.寻找峰值153.寻找…

服务熔断(Hystrix)

服务雪崩 多个微服务之间调用的时候&#xff0c;假设微服务A调用微服务B和微服务C&#xff0c;微服务B和微服务C又调用其他的微服务&#xff0c;这就是所谓的“扇出”&#xff0c;如果扇出的链路上某个微服务的调用响应时间过长&#xff0c;或者不可用&#xff0c;对微服务A的…

《每天一分钟学习C语言·六》

1、 1字节&#xff08;Byte&#xff09;8位&#xff0c;1KB1024字节&#xff0c;1M1024KB&#xff0c;1G1024MB 2、 char ch A; printf(“ch %d\n”, ch);ch为65 这里是ASCII码转换 3、 scanf("%d", &i); //一般scanf直接加输入控制符 scanf("m%d&qu…

TKEStack容器管理平台实战之部署wordpress应用

TKEStack容器管理平台实战之部署wordpress应用 一、TKEStack介绍1.1 TKEStack简介1.2 TKEStack特点1.3 TKEStack架构图 二、kubernetes集群介绍2.1 k8s简介2.2 k8s架构图 三、本次实践介绍3.1 实践环境要求3.2 本次实践环境规划3.3 本次实践简介 四、安装容器管理平台4.1 安装T…

WinRAR如何设置和清除密码?

WinRAR是一款功能强大的压缩管理器&#xff0c;除了能把文件打包变小&#xff0c;还能给压缩包设置密码保护&#xff0c;让文件不能随意打开&#xff0c;不需要时还可以把密码取消。下面来说说具体怎么操作吧。 WinRAR根据需要可以设置单次密码和永久密码&#xff0c;我们分别…

C++ Qt开发:Charts绘图组件概述

Qt 是一个跨平台C图形界面开发库&#xff0c;利用Qt可以快速开发跨平台窗体应用程序&#xff0c;在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置&#xff0c;实现图形化开发极大的方便了开发效率&#xff0c;本章将重点介绍QCharts二维绘图组件的常用方法及灵活运用。 …

Git 配置多个 SSH-Key

Git 配置多个 SSH-Key &#xff08;两个都是gitee&#xff09; 先看图&#xff0c;官网固然重要&#xff0c;但是不完全行&#xff08;因为官网示例是一个gitee一个github&#xff09;&#xff0c;现在想是想多个都是gitee在他上面稍微更改即可 一般不对遇到这种问题&#xf…

Windows电脑向ipad和iOS系统共享文件夹

Windows电脑向ipad和iOS系统共享文件夹 这个方案不需要下载任何软件&#xff0c;但是要求 iOS 和 Windows 在同一个局域网内。再大的文件都可以在 iOS13 自带的的“文件App”里实时显示&#xff0c;可以直接打开。这个解决方案需要你 Windows 电脑上登陆了微软账号&#xff0c…

数字技术:引领未来的创新驱动力

数字技术&#xff0c;作为当代最具创新性和影响力的技术领域之一&#xff0c;已经在全球范围内引起了广泛的关注和研究。当前&#xff0c;数字技术正以惊人的速度改变着我们的世界&#xff0c;从日常生活到商业领域&#xff0c;无一不受到其影响。数字技术的发展不仅改变了人们…

深度学习美化图片,绝对可行,美化效果挺好 DPED

一、背景 要美化生成的图片的效果&#xff0c;找到一个 效果如下&#xff1a; 二、步骤 1、python3.6环境&#xff0c;TensorFlow 2.0.0 2、下载代码&#xff1a;https://github.com/aiff22/DPEDx 3、将要增强的照片放在以下目录中&#xff0c;没有就新建&#xff1a; dpe…

基于改进YOLOv7的绝缘子缺陷检测算法

摘要 现有的检测方法面临着巨大的挑战&#xff0c;在识别绝缘子的微小缺陷时&#xff0c;针对输电线路图像与复杂的背景。为保证输电线路的安全运行&#xff0c;提出一种改进的YOLOv 7模型&#xff0c;以提高检测结果。 首先&#xff0c;基于K-means对绝缘子数据集的目标盒进…