问题
在设计大规模分布式存储系统时,I/O活动的建模至关重要。具有代表性的/O跟踪,可以对现有硬件、配置和策略进行详细的性能评估。假设跟踪进一步支持分析假设情况,例如部署新的存储硬件、更改配置和修改数据放置策略。如果没有代表性的跟踪,就很难准确地获得I/O请求到达时间和排队效果等信息。如何没有假设跟踪,分析方法是部署预期的更改并衡量其随时间的影响,这是昂贵、耗时和有风险的。
获得磁盘的代表性I/O跟踪的一种方法是无损地(以全分辨率)捕获它们。但收集和保存每个操作的痕迹不仅在存储和处理成本方面很昂贵,而且还会干扰前台工作负载。因此使用下采样的I/O跟踪是一种常规做法[15,59,76]。但I/O操作的子集不足以表征存储服务器或磁盘的完整行为,而且无法模拟假设更改的影响。如何用下采样的I/O跟踪,合成准确和全分辨率I/O跟踪和假设I/O跟踪存在挑战。
挑战
-
分布式存储集群是异构的,包含不同型号、大小、填充度和利用率的磁盘。在不考虑这种异构性的情况下,任意组合I/O样本将创建不代表任何一个磁盘上的I/O的合成轨迹。
-
确定要组合哪些I/O样本以及多少I/O样本,这取决于采样率、采样类型和突发期间的下降率。
本文方法
本文提出了Thesios,使用来自多个服务器的多个磁盘上的下采样I/O轨迹,准确地合成代表性和假设的全分辨率I/O轨迹。
合成代表性全分辨率I/O轨迹:
利用数据中心中现有的采样基础架构,该架构收集存储服务器接收的请求的I/O样本。包含:操作类型、文件名、I/O大小、到达服务器的时间、磁盘时间、延迟等信息。
-
组合具有相似磁盘特征的磁盘的I/O样本,并在一段时间内跟踪特征。磁盘特性包括容量、热/冷数据比率、填充度。跟踪特征捕获这些磁盘上的I/O行为,如服务器的缓存命中率、读/写比率、读/写吞吐量。
-
重新加权跟踪的数量以避免偏差和偏斜,并补偿由于突发而丢失的样本,生成服务器级别I/O跟踪。
-
为了获得磁盘级别的到达时间和延迟,必须考虑排队延迟和特定于请求序列的基于优先级的重排序。因此,设计了一种方法来重新组织合成的跟踪,同时考虑请求的优先级和服务器上的排队。
将Thesios应用于谷歌定期采样的真实世界的跟踪表明,与从实际磁盘收集的指标相比,合成跟踪在读/写请求数方面实现了95--99.5%的准确率,在利用率方面实现了90--97%的准确率,在读延迟方面实现了80--99.8%的准确率,还可以捕获超过95%置信度的日波动和周波动。
合成假设全分辨率I/O轨迹:
假设I/O轨迹的性能,如延迟、能耗和缓存命中率,可以使用轻量级服务器模拟器进行评估,也可以使用成熟的服务器模拟器执行轨迹重放。服务器模拟器和服务器模拟器可以结合预期的策略或硬件变化。通过进行四个案例研究来说明Thesios的多功能性:
-
评估磁盘利用率、填充度和容量的影响,为不同的容量、利用率和填充度的磁盘假设I/O跟踪。
-
评估新的数据放置策略,使用不同的工作负载过滤标准进行数据分离实验,以形成热磁盘和冷磁盘。
-
评估部署低转速(RPM)磁盘对能耗和延迟的影响。
-
评估服务器缓冲区缓存大小对缓存命中率的影响。
总结
针对大型数据中心中,如何以部分采样的I/O轨迹合成准确的全分辨率I/O轨迹。本文提出Thesios,利用多个下采样I/O轨迹合成全分辨率I/O轨迹。合成代表性I/O轨迹:(1)利用现有的采样基础架构,收集下采样I/O轨迹。(2)组合具有相似磁盘特征的磁盘的I/O样本。利用I/O轨迹分析磁盘特征,如容量、热/冷数据比率、填充度。(3)重新加权I/O跟踪,以避免偏差和偏斜,并补偿由于突发而丢失的样本,生成服务器级别I/O跟踪。(4)为获得磁盘级别的到达时间和延迟,考虑排队延迟和特定于请求序列的基于优先级的重排序。合成假设的全分辨率I/O轨迹:使用轻量级服务器模拟器进行评估,或使用成熟的服务器模拟器执行轨迹重放。