【ODCC】2024年FDP_SSD技术与应用白皮书_41页_2mb
报告摘要
FDP SSD 技术与应用报告总结
核心内容
FDP(Flexible Data Placement)SSD 是一种新型的 SSD 技术,旨在减少写放大(Write Amplification, WAF)并简化软件生态系统的集成。该技术由三星、Meta 和谷歌共同推动,并在 2022 年被批准为 NVMe 规范的一部分(TP4146)。FDP SSD 通过允许主机端直接参与数据放置和管理,实现了对不同类型数据的分流,从而减少垃圾回收带来的写放大问题。
主要观点
-
FDP SSD 的优势:
- 减少写放大:通过将生命周期相似的数据放在同一个数据流中,避免垃圾回收操作,从而显著降低写放大系数。
- 简化软件集成:FDP SSD 提供了简单易用的接口,无需对现有软件栈进行大规模改动,即可享受其带来的性能提升。
- 灵活的数据管理:FDP SSD 支持两种模式:开启 FDP(分流)和关闭 FDP(不分流),在关闭模式下可兼容传统 SSD。
-
FDP SSD 的关键特性:
- Endurance Group:SSD 内部的 NAND 块寿命相同,提供统一的寿命管理。
- Reclaim Group:用于数据隔离,支持多个 Reclaim Unit 的集合。
- Reclaim Unit:数据写入的基本单元,大小对性能有重要影响。
- Reclaim Unit Handle:用于管理数据写入位置,可看作是数据流的入口。
- 数据放置指令(Data Placement Directive):通过 DSPEC 字段指定数据写入的 Reclaim Group 和 Reclaim Unit Handle。
-
FDP SSD 的适配方式:
- Linux 内核支持:自 v6.2 起支持 FDP SSD 的 I/O Pass-through 接口。
- 用户态支持:SPDK(Storage Performance Development Kit)自 v23.05 开始支持 FDP。
- 文件系统适配:Linux 内核文件系统(如 ext4 和 XFS)正在适配 FDP SSD,以支持数据分流。
-
兼容性验证:
- 浪潮信息服务器 NF5280M7:使用三星 FDP SSD(PM9D3a)进行了多项兼容性测试,包括基本信息识别、性能测试、压力测试、重启测试和热拔插测试,均显示良好兼容性。
- FDP 模式下的性能表现:在 FDP 模式下,系统应用在裸盘和文件系统上均表现出显著的写放大收益,具体数据如表所示。
关键信息
一、数据放置 SSD 背景与发展历程
- 写放大问题:在传统 SSD 中,由于垃圾回收机制,写放大是影响 SSD 性能和寿命的重要因素。
- Open-Channel SSD:允许主机控制数据放置,但需要复杂 FTL 实现,且软件生态不够完善。
- ZNS SSD:提供标准接口,支持顺序写,但依然需要主机端软件栈的较大改动。
- FDP SSD:在 Open-Channel 和 ZNS 的基础上提出,提供更灵活的数据管理方式,减少软件改动。
二、FDP SSD 技术详解
- 资源结构:
- Endurance Group:统一管理 NAND 块寿命。
- Reclaim Group:数据隔离单元,支持多个 Reclaim Unit。
- Reclaim Unit:数据写入的基本单元,支持随机写,提升灵活性。
- Reclaim Unit Handle:管理数据写入位置,实现数据分流。
- 数据放置指令:通过 DSPEC 字段指定写入位置,支持不同生命周期的数据。
- 写放大收益:
- 裸盘场景:FDP 模式下,写放大几乎为零。
- 文件系统场景:ext4 和 XFS 文件系统在 FDP 模式下分别降低 40% 和 41% 的写放大。
- 数据库场景:
- RocksDB:在 FDP 模式下,写放大下降 52.2%。
- MySQL:在 FDP 模式下,写放大下降 12.5%。
三、兼容性验证
- 服务器配置:
- 机型:浪潮信息 NF5280M7
- BIOS 版本:06.03.01
- BMC 版本:5.06.00
- OS 版本:CentOS 7.9 + Kernel 6.1.70
- CPU:INTEL (R) XEON (R) PLATINUM 8562Y+
- 内存:Samsung DDR5 4800MHz 64 GB
- SSD:PM9D3a(支持 FDP 功能)
- 测试项目:
- 基本信息识别
- 性能测试(单盘性能、性能一致性)
- 压力测试(24 小时)
- 重启测试(200 轮带 IO)
- 热拔插测试(320 次)
- 测试结论:三星 PM9D3a 在 NF5280M7 上通过所有测试,兼容性良好,仅单盘写性能略有下降。
四、FDP SSD 在不同场景下的写放大收益
- 验证环境:
- CPU:AMD EPYCTM 7763(128 核)
- 内存:256 GB
- 操作系统:Ubuntu 22.04
- 内核版本:6.8
- FDP SSD 规格:PM9D3a(7.68 TB,U.2 接口,8 个 Initially Isolated Reclaim Unit Handle,1 个 Reclaim Group)
- FIO 场景:
- 负载设计:两种数据类型(读写混合、写密集型)
- FDP 模式下写放大显著降低。
- Filebench 场景:
- 模拟邮件服务器负载(varmail),测试 FDP 对文件系统写放大的影响。
- ext4 文件系统在 FDP 模式下写放大降低 17.28%,XFS 降低 8.23%。
- 数据库场景:
- RocksDB:使用自定义插件与 FDP SSD 交互,写放大下降 52.2%。
- MySQL:数据按生命周期配置,写放大下降 12.5%。
结论
FDP SSD 是一项具有明显优势和广泛应用前景的 SSD 技术。其通过灵活的数据管理机制和简单的接口设计,有效减少了写放大问题,同时保持了与现有软件生态的兼容性。在多种测试场景下,FDP SSD 显示出良好的性能表现和稳定性,特别是在数据分类和生命周期管理方面。未来,随着 Linux 内核和文件系统的进一步适配,FDP SSD 将在大规模数据中心中发挥更大作用。
展开完整摘要
试读结束,高清完整版pdf/doc/ppt,请点下载