An In-depth Comparative Analysis of Cloud Block Storage Workloads: Findings and Implications——论文泛读

TOS 2023 Paper 分布式元数据论文阅读笔记整理

问题

云块存储系统支持现代云服务中的各种类型的应用程序,为了实现云块存储系统的性能优化和高效资源调配,关键是要表征和理解生产环境中应用程序的输入/输出(I/O)行为。

本文方法

本文从阿里云和腾讯云块存储收集了数十亿I/O请求的块级I/O跟踪,同时使微软剑桥研究院企业数据中心的公共块级I/O工作负载,对生产云块存储的工作负载进行了深入的比较分析。

研究了它们的负载强度、空间模式和时间模式,确定了三种跟踪的共性和差异。通过高水平分析提供了6个发现,通过对负载强度、空间模式和时间模式的详细分析提供了16个发现。并讨论了我们的发现对云块存储系统中的负载平衡、缓存效率和存储集群管理的影响。

开源数据:An In-Depth Comparative Analysis of Cloud Block Storage Workloads: Findings and Implications

负载介绍

AliCloud:阿里云I/O负载采集于2020年1月,涵盖了1000卷的一个月I/O行为,每个卷的原始容量从40 GB到5000 GB不等,工作负载跨越不同类型的云应用程序。每个I/O请求都包括:卷号、请求类型、请求偏移量、请求大小和时间戳(以微秒为单位)。

TencentCloud:腾讯云I/O负载采集于2018年10月1日12:00至10月10日1:00,涵盖了大约九天内4995卷的块级I/O行为。工作负载基于云应用程序的混合,包括以随机访问为主的应用程序和具有大量I/O活动的应用程序。每个I/O请求都包含:卷号、请求类型、请求偏移量、请求大小和时间戳(以秒为单位)。

MSRC:由微软剑桥研究所在2007年2月的一周时间内从微软Windows服务器的数据中心收集的,包括13台服务器中179个磁盘上的36个卷的块级I/O请求。工作负载涵盖多种应用程序,包括主目录、项目目录、web服务、源代码管理、媒体服务等。每个I/O请求包含:卷号、请求类型、请求偏移量、请求大小、时间戳、请求的响应时间,时间戳和响应时间均以100 ns为单位。

对比分析结论

整体分析:

  • 在阿里云和腾讯云,读取只在一小部分工作集中进行

  • 在在阿里云、腾讯云和微软云中小型I/O占据主导地位

  • 阿里云中有小部分卷在短时间内处于活动状态,但腾讯云和微软云中均长期活跃。

  • 阿里云和腾讯云的大部分卷都以写为主,微软云以读为主。

  • 在阿里云中,容量越大,WSS占总容量的比例越大。

  • 在阿里云中,较大的卷往往具有较大的写请求大小,但与较小的卷相比,具有相似的读请求大小。

详细分析:

  • 阿里云、腾讯云和微软云的卷平均负载强度相似,但阿里云和腾讯云的峰值负载强度普遍低于微软云。

  • 阿里云、腾讯云和微软云在部分卷中具有较高的突发性,但它们的总体突发性是温和的。

  • 与微软云相比,阿里云和腾讯云在卷间的突发性更为多样。

  • 从请求到达时间来看,阿里云和微软云都存在较高的短期突发性。

  • 阿里云、腾讯云和微软云中的大部分卷在整个跟踪期内都是活跃的,而阿里云和腾讯云的活跃度高于微软云。从活跃量和活跃时间段来看,腾讯云在这三条轨迹中的活跃度最高。

  • 写入是决定阿里云、腾讯云和微软云活跃度的主要因素。

  • 删除写请求表明,阿里云、腾讯云和微软云的活跃度大幅下降。阿里云的读活跃度低于微软云,腾讯云是读活跃度最高的。

  • 随机I/O在阿里云、腾讯云、微软云中都很常见。阿里云和腾讯云的卷的随机I/O比例高于微软云。

  • 在阿里云、腾讯云和微软云中,读写都聚集在部分卷的小工作集中,而腾讯云的读写聚集在这三个轨迹中最高。写入比读取更聚集。

  • 在阿里云和腾讯云中,读写往往分别聚合在读为主块和写为主块中。

  • 阿里云、腾讯云、微软云的RAW次数一般大于WAW次数。腾讯云的RAW次数通常小于阿里云和微软云,而阿里云的WAW次数通常大于腾讯云和微软云。此外,阿里云和腾讯云的WAW请求明显多于RAW请求。

  • 腾讯云具有最高的小RAR和WAR时间,以及最小的大RAR和WAR时间分数。微软云中存在极小的RAR和WAR时间。在三个跟踪中,WAR时间比RAR时间大得多,并且RAR请求比WAR请求多得多。

  • 写入块具有不同的更新间隔。

  • 腾讯云中的许多卷即使在较小的缓存下也命中率较高,而阿里云和微软云中具有较高命中率的卷较少。当缓存大小增加时,阿里云读命中率提升幅度分别最高,腾讯云写命中率提升幅度最高。

结论

负载平衡:数据放置策略应该意识到工作负载的多样性、单个卷的突发性以及随时间的流量分布。日志结构设计[35]已被证明可用于平衡基于闪存的云级存储[48]中的写入流量。

缓存效率:一种缓存策略是识别工作负载中的主要读和主要写的块,这些块可以吸收大量的I/O流量。可以将大部分读取和大部分写入块放入不同的设备中,以分别减少读取和写入延迟[23]。如果目标是通过缓存吸收写入,一种策略是缓存已写入的块,而不是已读取的块。

存储集群管理:使用日志结构存储设计[35]和I/O集群[31]可以帮助减轻小型和随机I/O的开销。一个思路是将闪存转换层(FTL)保持在系统级别[13],以灵活地协调向闪存发出的I/O。对于写入,如果写入的块在不同的节点上复制,可以选择只更新一个副本并使其他副本无效,以节省更新开销,因为写入的数据可能会被再次重写[18]。

总结

针对阿里云、腾讯云、微软云的I/O负载进行分析,通过分析负载强度、空间模式和时间模式,得到22个结论。并提出一些设计思路:(1)负载平衡,应该意识到工作负载的多样性、单个卷的突发性以及随时间的流量分布。(2)缓存策略,识别工作负载中的主要读和主要写的块,这些块可以吸收大量的I/O流量。如果目标是通过缓存吸收写入,可以缓存已写入的块,而不是已读取的块。(3)存储集群管理,将闪存转换层(FTL)保持在系统级别,以灵活地协调向闪存发出的I/O。对于写入,如果写入的块在不同的节点上复制,可以选择只更新一个副本并使其他副本无效,以节省更新开销,因为写入的数据可能会被再次重写。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

妙BOOK言

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

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

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

打赏作者

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

抵扣说明:

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

余额充值