设计工具
固态硬盘

通过FDP和Latency Monitor增强存储弹性

史蒂文·威尔斯| 2024年8月

简介- FDP和Latency Monitor是高弹性固态硬盘架构的附加成分.

在我最近的两个博客中, 我关注的话题似乎有些不相关,但在最近与行业同事进行了一些对话之后, 我得出的结论是,它们之间的联系比我意识到的要紧密, and this blog is going to explore that connection further; exploring latency mitigation and how strategies such as NVM Express’ Flexible Data Placement (FDP) and OCP 存储 Workgroup's Latency Monitor (LM) can both be considered vertically integrated high-resiliency ingredients.
 

概述-垂直整合弹性

从我的博客”致力于通过左移方法彻底改变固态硬盘弹性“我概述了与创建高弹性相关的所有主机和存储设备成分. 从 版本1 OCP 固态硬盘规范到今天的第三版(版本2.5),增加弹性成分的进展. 讨论了恐慌检测、恐慌恢复和标准化遥测. 然而, 有两点我想深入探讨一下, 1)灵活的数据放置和2)延迟监视器

垂直集成弹性的特点概述

图1 -垂直集成弹性特性摘要

 

NVM Express™灵活数据放置(FDP)通过尾部延迟缓解增强垂直集成弹性

增强固态硬盘弹性的FDP似乎是合理和明显的,因为减轻写放大为主机应用程序提供了延长的持久性. 这已经在业界和其他微米中广泛讨论过 我的同事写的博客. 如前所述,它还展示了可以使用FDP提高性能的多个场所. 这并不令人意外. 由于减少了垃圾收集,在行业中观察到的实际工作负载可以得到改善.

但是,延迟异常值缓解是否可以被视为垂直集成弹性特性? FDP是否有帮助? 我之前的博客标题是 为什么数据中心ssd的延迟很重要,美光如何成为同类中最好的 探讨了为什么延迟异常值在横向扩展解决方案中如此痛苦的理论,以及我们在美光实现的世界级解决方案的技术. 然而, 它没有假设垂直集成以及垂直集成的FDP解决方案如何进一步改善延迟.

如果FDP的作用是减少垃圾收集(GC)的数量, 那么很明显,FDP也会减少延迟异常值. 当然, 即使没有GC并且WAF=1,由于不同的通道死亡,仍然会有延迟变化, 带读数的飞机, 主机启动的程序和擦除. 然而, 当写放大在2-3左右或更多时, 碰撞的可能性和, 因此, 更大的延迟异常影响. 但是FDP能在多大程度上提高延迟异常值呢?

影响NAND操作的主机和内部操作的高级总结

图2-影响NAND操作的主机和内部操作的高级总结. 这些内部操作增加了流量,通常被称为“写放大”。

使用业界常见的方法,并在我的延迟博客中详细讨论, 让我们看看全压70%读数, 30%写入4KiB随机工作负载,并绘制读取延迟分布. 涵盖非fdp案例很简单,也符合行业惯例. 衡量WA为1作为FDP最佳情况的代理, 创建了一个新的名称空间,并且在运行70/30工作负载之前,只预置了总容量的一部分. 在这种情况下, 8TB的微米 7500 固态硬盘被预设为1TB, IOs被限制为1TB(以防止读取未映射的LBAs),直到物理介质被填满并开始GC.

下面的图3首先显示了读延迟分布,没有写压力,然后是持续写压力. 许多先前的结果表明,自由民主党的支持率在1左右, 因此, 可以预期尾延迟变化减少30%.

通过FDP减少垃圾收集压力可以显著减少尾部延迟分布

图3-通过FDP减少垃圾收集压力可以显著减少尾部延迟分布.

 

OCP存储工作组的延迟监视器增强了固态硬盘的弹性

在我之前沙巴体育安卓版下载延迟缓解的博客中, 我解释过,当数据库查询被分割成多个并行运行的子查询时, 尾延迟对总延迟的影响几率很低,但影响很大. 那篇博客讨论了发现和修复延迟异常值的原因是多么困难. 没有讨论的是如何证明延迟异常值是预期的. 像FIO这样的工具可以, 在系统级别,每个事务的时间戳和计算需要的延迟直方图. 然而, 如今的硬盘IOPS可达数百万, 在实际应用程序中,创建系统级实时块跟踪并查找异常值的计算成本太高. 即使我们可以, 当主机检测到异常值并发送带有所需调试数据的遥测主机发起请求时, 固态硬盘调试信息可能消失.

我个人在工作中遇到了这个问题 FMS 2017论文; the 固态硬盘 controller was demonstrated to have enough computational power to record the time of arrival and departure of every command and measure the latency, 创建详细的直方图,并在值过高时触发断言. 在这种情况下,数据是在内部收集的,以便以后提取和分析. 所呈现的数据都是由固态硬盘本身内部生成的.

在这项工作的基础上,加上Meta的一些关键需求,正式确定了固态硬盘延迟监视器的概念,并首次包含在 OCP数据中心NVMe 固态硬盘规范第2版. 在高水平上, 每个出口命令都有时间戳, 将其与相关的入口时间戳进行比较,并计算延迟时间. 使用时间戳创建了四个主机可配置的直方图桶. 处理与请求调试日志的主机相关的延迟, 在命令出口,如果超过命令延迟阈值,则立即保存内部调试日志,以供以后的供应商分析. 随着OCP存储的标准化遥测技术的部署,甚至可以进一步调试延迟异常值的信息.

2022年的存储开发者大会, 来自Meta的Vineet Parekh和Venkat Ramesh讨论了在他们的车队中部署延迟监控,并给出了一个他们发现的关键问题的例子. 他们只是假设地指出这一点, 如果他们的整个舰队在1000 IOPS下有1秒9 / 9的异常值,那么每天将产生超过5000个延迟事件! Parekh和Ramesh展示了一个部署了Latency Monitor的有问题的固态硬盘驱动器的示例,该示例能够有效地调试延迟异常值问题,该问题在延迟监视器出现之前几个月都没有解决. 下面的图4总结了延迟监视器体系结构,以及它们难以成功调试的结果.

Latency Monitor的另一个好处是能够识别以前归咎于存储设备的主机延迟问题. 最近有两个例子. 其中一个问题与Linux的一个问题有关,该问题由于延迟异常值导致了NVMe规范增强的扩展. 另一个在a 我在美光的同事Sayali Shirode写的博客, 谁使用延迟监视器来显示测量的延迟异常值不是由固态硬盘引起的.

高效调试时延监控日志

图4 - Meta在2022年存储开发者大会上展示的延迟异常调试示例

 

结论:美光正在采用高弹性固态硬盘架构和设计

在我2023年11月的博客中,我谈到了弹性革命如何需要“向左转移”.“这个生态系统需要测量和检测, 并且还垂直集成以覆盖主机和供应商交互. 我已经提到了一些成分, 比如恐慌报告, 恐慌恢复和尾部延迟的大幅减少. 我想强调结合这两种理念的两个要素.

  1. OCP中的延迟监视器功能不仅在固态硬盘设备中,而且在软件生态系统中对于消除延迟异常值至关重要.
  2. 数据放置, 尤其是民主党, 有助于提高耐力和性能,并减少延迟异常值高达30%.

最后还有两个想法

  • 在FMS, 我正在主持一个沙巴体育安卓版下载超大规模应用的会议,Meta将进一步详细介绍他们在大规模部署延迟监视器的经验. 请加入我们. 我期待在今年秋天的会议上有一些沙巴体育安卓版下载自由民主党的精彩对话.
  • OCP 存储的NVMe-CLI插件是一种与供应商无关的无缝方式,可以配置和报告FDP和延迟监视器,以及解码标准化遥测等其他关键输入.

 

确认

  • 我要感谢美光的Chandra Guda为FDP实验设计和John Mazie为测试执行提供支持.

 

进一步的阅读

美光科技(微米 Technology Inc .):利用左键改变固态硬盘弹性.

为什么数据中心ssd的延迟很重要?美光如何成为同类中最好的|沙巴体育安卓版下载.

调试超大规模环境中观察到的Flash问题- SNIA SDC 2022 (sniadeveloper).org)

识别工作负载测试中的延迟异常值|沙巴体育安卓版下载.

通过I/O确定性避免昂贵的ssd读延迟变化(flashmemorysummit.com)

使用Aerospike在实际工作负载上灵活放置数据的好处.

消除I/O搅拌机:灵活数据放置的承诺|沙巴体育安卓版下载.

研究员,架构师存储系统

史蒂文·威尔斯

史蒂文·威尔斯是美光公司的研究员, 专注于下一代固态硬盘解决方案,在非易失性存储领域拥有超过65项专利. 自1987年以来,他一直参与闪存组件和固态硬盘设计,并在包括ISSCC在内的多个会议上发表过文章, JSSC, 闪存峰会, 存储开发者大会, OCP Global Summit,并担任NVM Express的董事会成员.