论文部分内容阅读
大数据时代,分布式文件系统存储服务面临巨大的压力与挑战,元数据管理技术是新型分布式文件系统实现可扩展性的关键因素,近年来受到了工业界和学术界的普遍关注。相比于数据,元数据有尺寸小等特点,元数据最基本的功能是记录文件目录。如何在数据存储过程中高效地组织元数据,并快速检索文件属性及数据存储位置信息,是新型分布式文件系统设计实现的重点与难点。 树形结构是管理元数据的基础,这种结构可以高效的组织元数据目录信息,实现文件快速检索功能。然而,随着数据量的不断增加,元数据量也在不断增加,与此同时,文件访问请求的数量也在不断增加。单一元数据服务器架构无法满足大规模数据存储可扩展与性能可扩展需求,于是分布式元数据管理架构应运而生,它将一个全局树划分为多个子树,由元数据服务器集群统一维护,这样的分布式管理架构解决了大规模元数据的组织存储问题。但在突发高负载模式下,此分布式管理架构的请求处理能力不足,具体表现在以下几种情形:(一)热点元数据导致元数据服务器集群频繁出现负载倾斜问题,进而影响元数据服务性能;(二)元数据子树间关系的强一致性维护机制会加剧降低元数据服务性能;(三)跨节点操作完成时间依赖于所有子操作完成时间,这种“木桶效应”将进一步影响元数据服务性能。 由此,本文针对以上三个影响元数据服务性能的情形,在分布式环境中研究提升子树结构元数据服务性能的一系列新技术,主要贡献如下: 1)负载感知的元数据预取与缓存方法:元数据尺寸小、数量大,预取错误元数据带来的代价远远小于预取错误数据带来的代价。针对元数据的以上鲜明特点,提出一种基于时间片段的元数据预取策略,该策略可以有效预估热点分布情况,在突发高负载模式下,降低元数据集群发生负载倾斜的频度。同时,实现一种基于预取机制的元数据缓存替换算法,该缓存算法结合了预取策略中的热点分布预估技术,相比于已有缓存替换算法更适合负载倾斜频繁变化场景。在已有元数据管理层之上设计实现了一个分布式缓存层,专门管理热点元数据,均衡不断变化的负载,有利于最大化元数据服务器集群整体吞吐量。与已有的元数据缓存技术相比,这种基于预取技术的元数据缓存技术灵活度更高,对负载的感知能力更强,并且避免了热点元数据重新分布、迁移引起的元数据命名空间结构被破坏的情况。最后,在一个真实的分布式文件系统中验证了框架及方法的性能优势。 2)元数据一致性可调配机制:包括一种树形元数据一致性可调配模型和基于该模型的一致性策略切换方法,通过融入元数据树形结构语义,该模型可以细粒度的表达元数据自身的一致性属性,采用数值偏差、顺序偏差和时间偏差参数实现模型对一致性冲突范围的刻画,进而实现元数据一致性可调配机制。通过在元数据测试基准NNbench上的大量实验,证实了元数据一致性可调配机制的服务性能优势。 3)元数据跨节点访问性能优化技术:针对跨节点访问中同步协议消息延时过长问题,设计了一种兼顾元数据树形结构语义与负载模式的同步协议,该协议考虑了不同应用请求权重、跨节点访问比例等因素,可以有效应对突发高负载模式下同步消息的延时问题。同时提出一种基于访问请求权重分析的SLOs边界控制方法,该方法可以提高元数据应用的SLOs完成比例。上述技术可以有效解决大规模元数据处理解决方案中的性能稳定性问题,尤其是在突发高负载模式下,相比于现有跨节点访问技术可以提高30%左右响应时间。 本文基于上述研究成果,实现了一个面向突发高负载模式的分布式文件系统元数据服务性能优化框架,该框架可以中间件形态用于元数据与数据分离架构的分布式文件系统。