首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >KIOXIA:RAID 卸载优化数据冗余

KIOXIA:RAID 卸载优化数据冗余

作者头像
数据存储前沿技术
发布2025-02-11 19:20:32
发布2025-02-11 19:20:32
3900
举报

要点速览

  • 强化SSD侧的计算能力,构建计算型存储并不是新话题,本文从存储RAID计算切入,讨论在SSD上实现RAID卸载的xPUs 设计(Fig-2/3);
  • NVMe 在计算卸载中发挥重要作用(Fig-4);
  • 通过PoC测试比较了卸载前后的CPU/内存资源使用情况(Fig-6)。

KIOXIA:RAID 计算卸载优化数据迁移-Fig-1

存储服务的演化进程

  • 存储服务中的数据冗余需要大量计算资源
  • xPUs 正在用于加速存储服务栈的输入和输出。
  • xPUs 在未来的性能方面将面临挑战 —— 随着每一代 PCIe 的出现,NVMe™性能持续翻倍。

Note:SSD的生命周期按4-5年估算,这个周期内PCIe可能有1-2次更新,每次更新都是带宽2倍提升,如何规划SSD中xPU的计算能力,需要产业界达成一致。

左侧下图是存储系统服务抽象层,从上往下;

  • 面向业务/文件系统的 块设备、文件系统和数据库;
  • 存储池/虚拟卷;
  • 数据冗余计算层;
  • RAID、EC(纠删码)数据放置层。

右侧是整个数据堆栈的示意图,较左侧的软件层抽象,右侧主要关注硬件的网络架构。

  • 最下面是磁盘整列,通过PCIe交换机(扩展卡)接入主板上的NVMe协议层;
  • 在此之上是RAID/EC等数据放置层算法;
  • 核心是存储系统的控制器,负责调度存储阵列。

KIOXIA:RAID 计算卸载优化数据迁移-Fig-2

数据冗余存在哪些挑战?

  • 奇偶校验计算需要大量内存带宽和 CPU 资源(后面有PoC数据)。
  • 例如,RAID 5 的部分条带写入需要大约 10 倍的 DRAM 吞吐量,一个 4KB 块的 RAID 5 写入将消耗 40KB 的 DRAM 带宽。
  • RAID 6 / 纠删码(EC)使问题更加严重。
  • 为了满足这些需求,系统资源被过度配置。

KIOXIA:RAID 计算卸载优化数据迁移-Fig-3

左侧示意:存储系统的RAID/EC计算过程调用DRAM资源;

右侧示意:RAID/EC过程使用SSD阵列中自带的CMB(控制器内缓存)。

  • 铠侠(KIOXIA)NVMe SSD 特性:
    • 控制器内存缓冲(CMB)用于卸载 DRAM。
    • 专用或(XOR)引擎可计算多达 8 个奇偶校验。
    • 直接内存访问控制器(DMAC)。
    • 将数据放置在主机地址空间(包括远程 CMB)。
  • RAID 卸载能够实现并行计算和线性扩展。

Note:该技术实现依靠NVMe直接访存技术,与使用直连DRAM内存池相比,CMB除扩展DRAM容量之外还靠近SSD,具备落盘写入时延优势;存在的问题也很明显:是将每块SSD上的CMB单独使用,还是整合成大CMB缓存池?如何克服后者引入的分布式缓存一致性问题?

KIOXIA:RAID 计算卸载优化数据迁移-Fig-4

xPUs 如何利用 RAID - 示例命令流程

图上半部分展示了从 NVMe - oF™虚拟设备,接收新数据,然后将数据移动到 CMB,并涉及 xPU、DRAM 等组件。

  • 图的中间部分详细列出了三步流程:
    • 步骤 1:数据输入
      • 将新数据移动到 CMB
      • 从 CMB 读取旧数据
    • 步骤 2:计算
      • 计算新的奇偶校验
      • 从 CMB 读取旧的奇偶校验
    • 步骤 3:写入
      • 写入新数据
      • 写入新的奇偶校验

Note:从右下角SSDd和SSDp在执行RAID计算的过程来看,对CMB的利用似乎是限制在单块SSD上的,因为需要将旧数据从p读到d上执行,XOR计算主要是在d盘上发生的。

KIOXIA:RAID 计算卸载优化数据迁移-Fig-5

为什么 xPU 应该用于 SSD RAID 卸载?

左侧内容:

xPU 可以利用其自身加速器,但为什么要卸载到 SSD?

  • 加速器的性能会受到设计时间的限制。
  • 高内存带宽需求会增加 xPU 的成本。
  • SSD 卸载可以随着每个 SSD 添加到集群中线性扩展。

通过卸载……

  • 节省用于增值存储功能的计算和内存带宽。
  • 像数据清理这样的操作可以卸载到 SSD 上;数据清理操作的数据移动减少 99%。
  • 开发具有成本效益的数据处理系统和解决方案。
  • xPU 可以通过利用其远程直接内存访问(RDMA)功能扩展 RAID 解决方案。

KIOXIA:RAID 计算卸载优化数据迁移-Fig-6

RAID 卸载前后的基准测试数据

左侧是整个NVMe-oF网络拓扑结构,右侧是基准测试数据。

RAID 卸载性能提升

  • CPU 使用率降低 12%,释放了更多计算资源。
  • DRAM 带宽减少 91%,显著降低内存带宽占用。

数据清理性能提升:

  • 数据清理时间减少 29%。
  • DRAM 带宽需求降低 86%。
  • CPU 使用率减少 ~30%。
  • L3 缓存未命中次数显著减少(从 14.7M 降至 4M)。
  • PCIe 写入带宽减少超过 95%,从 3694 MB/s 降至 159 MB/s。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-12-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 王知鱼 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 要点速览
    • 存储服务的演化进程
    • 数据冗余存在哪些挑战?
    • xPUs 如何利用 RAID - 示例命令流程
    • 为什么 xPU 应该用于 SSD RAID 卸载?
    • RAID 卸载前后的基准测试数据
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档