Calcspar: A Contract-Aware LSM Store for Cloud Storage with Low Latency Spikes——论文泛读

ATC 2023 Paper 论文阅读笔记整理

问题

云存储变得越来越受欢迎,但还没有充分探索其合同模型和延迟特性。随着基于LSM树的键值存储(LSM存储)成为众多云应用程序的构建块,云存储将如何影响键值访问的性能至关重要。我们发现亚马逊弹性块存储(EBS)在各种I/O压力下的显著延迟差异,这对云存储上的LSM存储读取性能提出了挑战。

亚马逊的合同模型和延迟特性:EBS保证了一种称为服务级别协议(SLA)的服务协议,在该协议中,如果访问不超过付费IOPS,则每个请求的处理延迟都在适当的阈值内。当一个时间窗口中的请求超过IOPS协议时,每个连续请求的处理延迟都会显著增加,并且超过的IOPS会累计到下个时间窗口的IOPS计算,如果下个窗口的IOPS等于付费IOPS,延迟依旧会显著高于阈值。

挑战

  • 由于云存储容量不够灵活,无法及时跟上变化的工作负载,因此读取请求性能波动很大,导致LSM存储访问云存储卷的读取I/O数量变化很大。当I/O数量超过云存储卷的付费IOPS时,请求延迟会增加。

  • LSM存储的读取放大进一步增加了工作负载波动。例如在LSM树L0级发现的问题需要遍历多个表,因此读取单个键值对可能会生成多个I/O。

  • 云存储卷的速度限制机制与LSM存储内部的多线程并发机制相冲突,多线程之间的请求在云存储卷上拥塞导致延迟倍数增加。

  • LSM存储的内部固有机制放大了对云存储卷读取延迟。不规则的刷新操作或不确定大小的压缩操作会导致访问云存储卷的I/O数量突然增加,从而导致高尾延迟。

  • 成本和性能之间的权衡,如果获得更好的尾延迟,需要成本呈指数级增加,导致显著的资源浪费和有限的吞吐量提高。

本文方法

为了减少相应的尾延迟,我们提出了Calcspar,用于云存储的合同感知LSM存储,通过调节到云存储的I/O请求速率,用数据缓存吸收多余的I/O请求,来有效地解决挑战。

  • 提出波动感知缓存,结合热点感知的主动预取和偏移感知的被动缓存,以适应变化的工作负载。主动预取识别高负载时段的热点,并在低负载时段主动提取热点,从而平滑外部负载变化。在高负载期间,被动缓存利用时间局部性来挤出过时的预取数据,并在不发出额外请求的情况下适应热点转移。实现降低工作负载波动带来的高延迟。

  • 利用拥塞感知的IOPS分配器为不同的内部请求分配优先级,以减少LSM存储内部操作对读取延迟的影响。分配器采用多队列节流结构来防止线程拥塞。通过机会压缩将不同LSM级别的写入请求分配到不同的优先级队列中,从而平衡读取放大和写入节流。

在EBS上对Calcspar进行了评估,并将其与尖端的LSM存储进行了比较。结果表明,Calcspar可以在保持正常读写性能的同时显著降低尾部延迟,将99%尾延迟保持在550μs以下,将平均延迟降低66%。

实验

实验环境:采用AWS作为测试平台,EC2实例为m5d2xlarge,配置有8个vCPU和32 GB内存。默认情况下,性能评估使用具有100 GB容量和1000 IOPS的代表性io2存储卷。

数据集:YCSB,Mixgraph

实验对比:吞吐量、延迟、用户线程数、命中率、

总结

针对亚马逊EBS存储,探索其合同模型和延迟特性,发现超过付费IOPS的请求会显著增加延迟,而LSM存储又会放大工作负载的波动并产生内部请求拥塞。本文对亚马逊EBS下的LSM存储进行优化,来降低尾延迟:(1)利用波动感知缓存,通过热点感知进行主动预取,识别高负载时段的热点,并在低负载时段主动提取热点。通过偏移感知的被动缓存,在高负载期间利用时间局部性来挤出过时的预取数据,并在不发出额外请求的情况下适应热点转移。(2)利用拥塞感知的IOPS分配器为不同的内部请求分配优先级,采用多队列结构防止线程拥塞。通过机会压缩将不同LSM级别的写入请求分配到不同的优先级队列中,从而平衡读取放大和写入节流。

  • 20
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

妙BOOK言

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

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

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

打赏作者

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

抵扣说明:

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

余额充值