Redian新闻
>
NVMe SSD性能影响因素一探究竟(下)

NVMe SSD性能影响因素一探究竟(下)

公众号新闻

上篇“NVMe SSD性能影响因素一探究竟(上)”分享了影响SSD性能的硬件因素、软件因素,今天接着分享客观因素
3.2 IO Pattern对性能的影响
IO Pattern会对SSD的性能产生严重影响,主要表现在如下几个方面:
1, 不同的IO Pattern会产生不同的写放大系数,不同的写放大系数占用后端NAND Flash带宽不同。当前端应用对SSD采用完全顺序的方式进行写入时,此时是最佳的IO Pattern,对于SSD而言写放大系数接近1,SSD内部的背景流量基本可以忽略,前端性能达到最佳。在实际应用中,很难采用这种完全顺序的数据写模型,但可以通过优化逼近顺序写入。
2, 不同请求大小的IO之间会产生干扰;读写请求之间会产生干扰。小请求会受到大请求的干扰,从而导致小请求的延迟增加,这个比较容易理解,在HDD上同样会存在这种情况。由于NAND Flash介质存在严重的读写不对称性,因此读写请求之间也会互相干扰,尤其是写请求对读请求产生严重的性能影响。
3.2.1 顺序写入Pattern对SSD性能优化的奥秘
在针对闪存系统的设计中,需要考虑IO Pattern对性能产生的影响,通过软件的优化来最优化SSD的使用。在实际应用中完全顺序写入的IO Pattern基本上是不存在的,除非用作顺序写入的日志设备。对于顺序写入优化性能这个结论,需要从SSD内部实现来深入理解,知道根源之后,可以采用合理的方式来逼近顺序写入的模式,从而最优化SSD的性能。
SSD内部采用log-structured的数据记录模式,并发写入的IO数据按照时间顺序汇聚成大数据块,合并形成的大数据块以Page stripe的方式写入NAND Flash。多个Page stripe会被写入同一个GC单元(Chunk orSuperblock),当一个GC单元被写完成之后,该GC单元进入sealed模式(只读),分配新的GC单元写新的数据。在这种模式下,如果多个业务的数据流并发随机地往SSD中写入数据,那么多个应用的数据就会交错在一起被存储到同一个GC单元中。如下图所示,不同应用的数据生命周期不同,当需要回收一个GC单元的时候,会存在大量数据的迁移,这些迁移的数据就会形成写放大,影响性能和使用寿命。
不同应用的数据交错存储在同一个GC单元,本质上就是不同冷热程度的数据交错存储的问题。从GC的角度来讲,相同冷热程度的数据存储在同一个GC单元上是最佳的,为此三星推出了Multi-stream SSD,该SSD就允许不同应用的数据存储到不同的Stream单元(GC单元),从而提升GC效率,降低写放大。Multi-stream是一种显式的设计方式,需要更改SSD接口以及应用程序。从IO Pattern的角度考虑,可以通过顺序大块的方式也可以逼近类似的效果。假设操作SSD只存在一个线程,不同的应用都采用大数据块的方式写入数据,那么在一个时间片段内只存在一个应用的数据往SSD中写入数据,那么在一个GC单元内存储的数据会变得有序和规则。如下图所示,采用上述方法之后,一个GC单元内存储的数据将会变得冷热均匀。在GC过程中会大大减少数据的搬移,从而减少背景流量。
在实际应用中,上述IO Pattern很难产生,主要是应用很难产生非常大粒度的请求。为此在存储系统设计过程中,可以引入Optane高性能存储介质作为SSD的写缓存。前端不同业务的写请求首先写到Optane持久化介质中,在Optane持久化介质中聚合形成大数据块。一旦聚合形成大数据块之后,再写入SSD,通过这种方式可以最大程度地逼近SSD顺序写入过程,提升SSD的性能和使用寿命。
3.2.2 读写冲突Pattern对性能的影响
如下图所示,NAND Flash介质具有很强的读写不对称性。Block Erase和Page Program的延迟会远远高于Page Read所耗费的时间。那么在这种情况下,如果read请求在同一个Flash Channel上和Erase、Program操作冲突,那么read操作将会被Erase/program操作影响。这是在读写混合情况下,读性能会受到影响的重要因素。
在实际应用过程中,经常会发现应用的测试结果和SSD Spec对不上,会比Spec给出的值要来的低。Spec给出的值通常为纯读或者纯写情况下的性能指标,在读写混合的场景下,性能表现和Spec给出的值就会存在非常大的出入。
对于不同的SSD,通过测试可以发现在读写混合情况下的性能表现差距会比较大。在SSD处于稳态条件下,应用随机读的情况下,如果引入一个压力不是很大的顺序写,那么会发现不同SSD的抗干扰能力是不同的。有些SSD在写干扰的情况下,读性能会急剧下降,延迟快速上升,QoS性能得不到保证。下图是两个SSD在相同情况下的测试结果,从结果来看,有些SSD的抗写干扰能力比较强,读性能不会急剧下降。
为什么有些SSD会具备比较强的抗写干扰能力呢?其中的奥秘就在于SSD内部的IO调度器。IO调度器会对write、read 和Erase请求进行调度处理,该调度器算法的不同就会表现出不同的抗干扰能力。目前很多NANDFlash可以支持Program/Erase Suspension的功能,在IO调度处理的过程中,为了提升读性能,降低读请求延迟,可以采用Suspension命令对Program/Erase命令暂停,对read请求优先调度处理。
读写冲突是SSD内部影响IO QoS的重要因素。在SSD内部通过IO调度器的优化可以提升SSD性能的QoS能力,但是还是无法与存储软件结合来协同优化QoS。为了达到最佳的SSD性能QoS,需要关注Openchannel技术。Openchannel其实只是一种软硬件层次划分的方法,通常来讲,SSD内部的逻辑可以划分为面向NAND资源的物理资源管理层以及面向数据布局的资源映射层。物理资源管理由于和NAND Flash密切相关,因此可以放到SSD内部。传统的NVMe SSD需要对外暴露标准的块设备接口,因此需要在SSD内部实现资源映射层。从端至端的角度来看,资源映射层可以与存储软件层结合起来,为此将资源映射层从SSD内部剥离出来,集成至存储软件层。一旦资源映射层从SSD内部剥离之后,需要定义一个新的SSD接口,其中的一种接口方式就是Openchannel。
盘古分布式存储针对SSD QoS问题进行了大量研究,提出了Object SSD的概念,Object SSD也是一种新的SSD接口方式,其采用对象方式对SSD进行读写删操作,每个对象采用Append write操作方式。这种接口方式可以很好的与分布式存储无缝结合。采用Object SSD之后,SSD内部的大量工作被简化,IO的调度会更加灵活,存储软件与SSD协同配合,达到IO性能的最优化,以及QoS的最大化。
4 SSD写性能分析模型
SSD内部的数据流分成两大类,一类为前端用户数据流;另一类为内部背景数据流。前端用户数据流和背景数据流会汇聚成NAND Flash后端流量。当背景数据流不存在时,NAND Flash带宽会被用户数据流全部占据,此时SSD对外表现的性能达到最佳。当SSD具有较大写放大时,会产生很大的背景数据流,背景流会抢占NANDFlash带宽,导致前端用户IO性能降低。为了稳定前端IO性能,在SSD内部的调度器会均衡前端和背景流量,保证前端性能的一致性。背景流量的占比反应了SSD的写放大系数,因此,站在NAND Flash带宽占用的角度可以分析SSD在稳态情况下的性能。
下图是Intel P4500和Samsung PM963随机写延迟和推导公式之间的对比。结果非常吻合。
由此可以推出,随机写性能由SSD内部后端带宽以及写放大系数来决定。因此,从存储软件的角度出发,我们可以通过优化IO Pattern的方式减小写放大系数,从而可以提升SSD的随机写性能。
5 小结
闪存存储技术正在飞速发展,闪存介质、SSD控制器、存储系统软件、存储硬件平台都在围绕闪存日新月异的发展。闪存给数据存储带来的价值显而易见,数据中心闪存化是重要发展趋势。NVMe SSD性能受到很多因素的影响,在软件层面可以通过IO Pattern优化SSD的性能,使得整体存储系统的性能达到最佳。
来源:NVMe SSD性能影响因素一探究竟(下)


申明:感谢原创作者的辛勤付出。本号转载的文章均会在文中注明,若遇到版权问题请联系我们处理。

推荐阅读

1、全店内容持续更新,现下单“架构师技术全店资料打包汇总(全)”一起发送服务器基础知识全解(终极版)存储系统基础知识全解 pdf及ppt版本,后续可享全店内容更新“免费”赠阅,价格仅收249元(原总价439元)。

2、随着电子书数量增加及内容更新,价格会随之增加,所以现在下单最划算,购买后续可享全店内容更新“免费”赠阅。

温馨提示:

扫描二维码关注公众号,点击阅读原文链接获取架构师技术全店资料打包汇总(全)电子书资料详情


微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
[评测]Crucial T500 NVMe M.2 SSD 2TB 评测10所美国头部计算机专业学校的横向比较(下)​大叔谈教育·我的教育观(下)[照片] 趁着年轻,俩人俩狗一起去远方——5天赶路+10天自驾内蒙古游记(下)精选SDE岗位 | Adobe、Nasdaq、Old Mission公司岗位发布!一文掌握RDMA、NVMe和NVMe-oF密苏里大学,超多项目任你选(下)|Virtual Open House等你来![评测]SK Hynix Platinum P41 NVMe M.2 SSD 2TB 评测这些年这些人这些事—回国散记之三年疫情名利场||一个转战币圈成富豪,一个与女明星携手半隐,千禧年最火的嘻哈兄弟这20年(下)细细密密的光丨第三十八章 西西弗斯(下)【晚安故事】悟空归正(下)细细密密的光丨第三十七章 一手好牌(下)[评测]WD_BLACK SN770M NVMe SSD 1TB 评测萌宠丨两只哈士奇的没有秋叶的Colorado秋日旅行(下)养老院的老人(下)养老金洞察|从供给侧角度探索企业年金个人投资选择权实现路径(下)对于出海中企,什么样的人才更“吃香”?年薪60万的学姐带你一探究竟!第4次辟谷 • 累计27天(下)| 生命再次重启:年轻了25岁,附检测数据。直挂云帆济沧海——夏威夷群岛之行(四)【科学教学】决策组合,学学物理学家的心智模式(下)雾还是那么浓[电脑] 都是PCIe4.0和8通道主控,企业级SSD和消费级SSD实力差距如何?LVMH集团主席最信赖的干将之一,Michael Burke 接掌 LVMH时尚集团渡十娘|恢复高考后的第一代大学生毕业四十年了(下)[电脑] YMTC 232L+NVMe 2.0--Lexar ARES 4TB M.2 SSD专业向评测容错率高的人生不是一场《大梦》(下)公立常春藤,密西根州立大学(下)| 心理学博士和社会工作硕博项目介绍乡村教师(下):最后一所村小消失的前夜|故事FM一探究竟,深静脉血栓形成和肺栓塞有无性别差异?2023的夏天散记深度|抗美援朝七十三周年祭: 雄关漫道七十载,长剑东风百万师(下)$35两荤一素一凉菜,这店还是湾区「性价比之王」据说现在流行莫言式的“两眼紧闭,面如死灰”。这个比“一样健壮的体格,一样麻木的神情”见长进吗?谷歌为什么输给了OpenAI?科技公司创始人兼谷歌前员工带你一探究竟
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。