CSAL: the Next-Gen Local Disks for the Cloud——论文泛读

EuroSys 2024 Paper 论文阅读笔记整理

问题

云本地磁盘以其实惠的价格和高性能而极具吸引力。在云本地磁盘中,物理存储设备直接连接到计算服务器,并作为块设备虚拟化到虚拟机(VM)。在这种设置下,计算节点受其有限的计算和存储资源的限制,只能提供有限数量的VM(也称为ECS实例)。

随着CPU的性能的快速增长,促使进一步复用资源,为每台服务器提供更多实例。然而,这种想法受到存储设备发展的限制。一方面,硬盘驱动器拥有高密度,但带宽仍在每个驱动器250MB/s左右,从而阻止本地磁盘在实现相同服务级别目标(SLO)的同时增加容量。另一方面,高性能存储类内存(SCM)固态硬盘,提供了有竞争力的性能,但存储容量有限,成本高得多[22]。

一种新方法是采用新兴的QLC SSD[26,32,39,40,50]作为本地磁盘。QLC固态硬盘的高密度(比SLC高4倍)和低成本(不到SLC的1/4)提供了可接受的大容量。

本文方法

本文探讨了利用基于QLC的高容量固态硬盘制作云本地磁盘的可能性。并进行了三次初步的尝试:部署QLC SSD作为替代品,使用高性能SSD(HP-SSD)构建分层系统(即OpenCAS[8]),使用dm分区(内核设备映射器)[4]。但QLC固态硬盘不能简单地作为替代品,原因有两点:

  • QLC SSD采用粗粒度的逻辑到物理(L2P)映射(例如,Intel P5316 QLC SSD中的64KB间接单元[21,26,28,51])。64KB比传统NVMe SSD中的4KB L2P条目大得多,从而导致高设备级写入放大(即,4KB逻辑写入变为64KB NAND写入)。

  • 使用闪存转换层(FTL)管理QLC内部的地址映射,导致垃圾收集的严重NAND级写入放大,因为具有不同寿命的数据混合在一起[17]。

基于以上经验教训,本文提出了CSAL,即阿里云的下一代云本地磁盘。CSAL需要大约3GB的DRAM用于内存数据结构,管理HP-SSD作为写缓冲区,并使用大容量分区命名空间(ZNS)QLC SSD进行持久性。

  • 设计了两级L2P表,以实现细粒度(4KB)数据访问,从而减轻设备级写放大。

  • 周期性执行压缩,将冷数据聚合为对底层ZNS QLC SSD的大顺序写入来回收写入缓冲区空间。压缩是由用户(即VM)进行的,因此可以尽最大努力减少NAND级别的写入放大。

开源代码:https://github.com/spdk/spdk

实验结果表明,CSAL始终以优异的性能占据优势,在微观、应用和部署基准方面,与排名第二的方法相比,CSAL分别可以实现2.22倍、1.82倍和2.03倍的加速。

总结

本文针对云本地磁盘,探讨利用QLC SSD的可能性,通过三次初步实验分析了主要的性能瓶颈:(1)QLC SSD采用粗粒度的逻辑到物理(L2P)映射(64KB),比传统NVMe SSD中的4KB L2P条目大得多,导致高设备级写入放大。(2)使用闪存转换层(FTL)管理QLC内部的地址映射,导致垃圾收集的NAND级写放大,因为不同寿命的数据混合在一起。本文提出CSAL,使用大约3GB的DRAM用于内存数据结构,使用HP-SSD作为写缓冲区,使用大容量分区命名空间(ZNS)QLC SSD进行持久化。包括两个技术:(1)两级L2P表,以实现细粒度(4KB)数据访问,减轻设备级写放大。(2)周期性执行压缩,将冷数据聚合为对底层ZNS QLC SSD的大顺序写入来回收写入缓冲区空间,减少NAND级别的写入放大。

  • 20
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

妙BOOK言

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值