ICPP 2022 Paper 分布式元数据论文阅读笔记整理
问题
负载平衡是分布式文件系统(DFS)中的一个关键问题。以往的工作集中在从文件级[12,14,18,33,38,42]将数据均匀地分布在不同的节点或存储设备上。这些技术可分为两类,基于哈希[12,38]和基于启发式[14,18]的方法。基于哈希的方法在每个存储节点平均划分整个哈希空间,并将文件哈希到相应的存储节点。基于启发式的方法通过分析存储使用情况,并根据贪婪容量优化规则选择存储节点。
但从文件级进行负载均衡面临4个问题:
-
文件访问的热度变化快。导致热点迁移后没有显著减少负载不平衡[36]。
-
对偏斜负载不敏感。异步文件级模型需要对负载和存储消耗的趋势做出反应[18]。
-
文件级方法很少使用目录树的结构信息或位置,也不考虑不同目录之间的相关性。
-
一些流行的文件系统仍然采用一维负载平衡策略。然而研究[28]指出,在实际的DFS中,存储节点容量不平衡是可以容忍的,因为冷数据不平衡不会导致显著的性能下降。
本文方法
通过对工作负载的分析,目录访问热点比相同时间窗口内单个文件的访问热点更持久、更稳定。
本文提出了基于学习的目录放置策略 LDPP,通过预测负载来确定数据布局。
-
建立目录请求特征和状态信息之间的关系,以预测目录的状态信息(存储容量、带宽和IOPS)。收集目录请求数据,提取请求频率、请求类型、请求大小,使用lightGBM进行训练和预测目录未来状态。
-
根据预测的状态信息,基于曼哈顿距离以多维方式将新目录放置在不同的节点上。
-
通过负载预测模块处理同类目录和对等目录。考虑目录间的资源竞争,放置在合适存储节点上。
大量实验表明,LDPP有效地缓解了负载不平衡,提高了资源利用率,将服务延迟降低36%,IOPS和带宽分别提高8%和9%。
总结
针对DFS的负载均衡问题,现有方法多数基于文件级,将文件在不同存储节点间负载均衡。本文分析发现相同时间窗口内,目录访问热点比文件访问热点更持久、更稳定。提出基于机器学习的目录放置策略 LDPP,包括3个技术:(1)收集目录请求数据,提取请求频率、请求类型、请求大小,使用lightGBM进行训练和预测目录未来状态(存储容量、带宽和IOPS)。(2)根据状态信息,基于曼哈顿距离以多维方式将目录放置在不同的节点。(3)基于聚类将目录分类,考虑同类目录间的资源竞争,放置在合适存储节点上。