论文部分内容阅读
大数据时代,数据规模的爆炸式增长和复杂多样的大数据应用需求推动了大数据处理技术的迅猛发展。在大数据计算层面,除了经典的大数据批处理,近些年涌现的大数据流式处理、大数据SQL查询、大数据图计算等新型计算范式及其系统,有效提高了大数据计算任务的分析处理效率。在大数据存储层面,针对基于磁盘的分布式存储系统存在I/O效率低下的问题,有研究者提出以内存为中心的分布式存储系统,充分利用内存提升大数据应用的数据访问性能。Alluxio分布式存储系统是其中的典型代表。Alluxio采用基于MEM-SSD-HDD的分层式存储结构扩充系统总体存储空间。在这种分布式分层存储结构中,研究设计高效的缓存调度策略和综合调度算法对提升复杂应用的数据访问性能具有重要意义。基于Alluxio的MEM-SSD-HDD分层式存储结构,本文研究提出了一种通用的分层式大数据缓存调度框架,能够对MEM、SSD以及HDD构成的分层式存储系统进行缓存调度管理,并在需要时方便用户定制和添加各种缓存策略。在此基础上,本文分析了分层式大数据存储框架中的缓存调度策略,研究提出一组覆盖多种数据访问模式的缓存替换策略,以此适应不同大数据应用场景。同时,通过分析常用大数据应用的数据访问模式,本文研究出两种缓存策略的自适应调度算法以便在不同应用场景下进行缓存替换策略的自适应调度,从而进一步提升大数据应用的数据访问性能。本文的主要研究工作与贡献点包括:(1)基于分层式大数据存储系统,研究提出一种可扩展的通用化缓存策略调度框架,方便用户定制更多高效的缓存策略,从而适应更多复杂的大数据应用场景。(2)基于上述缓存策略调度框架,设计并实现一组覆盖多种数据访问模式的缓存替换策略(Cache Eviction),包括LRU、LRFU、LIRS以及ARC,并且通过典型的大数据应用分析验证了这些策略的有效性。实验结果表明,本文所设计实现的缓存替换策略都能够在特定场景提升应用的数据访问性能。(3)研究设计并实现了一种高效的缓存提升策略(Cache Promotion)。通过评估所有数据块的热度,研究实现的缓存提升策略能够自适应地将低性能存储设备上的热数据块提升到内存。实验证明,本文提出的缓存提升策略能够有效提升系统的读写访问性能。(4)针对单个缓存替换策略难以适应所有大数据应用场景的情况,研究设计了两种缓存策略的自适应调度算法:基于命中率的调度算法和基于数据访问模式的调度算法,分别在只运行一次的实时大数据应用场景以及需要反复运行多次的常规大数据应用场景进行缓存替换策略的自适应调度。实验结果表明,这两种缓存策略的自适应调度算法相比于其他单独运行的缓存替换策略具有明显的性能优势。(5)在上述通用框架和缓存调度策略研究基础上,本文以分布式内存文件系统Alluxio为基础,设计实现了包含本文研究设计的通用缓存调度框架、缓存调度策略以及自适应调度算法的原型系统。实验结果表明,本文的原型系统能够有效提升运行在Alluxio上层大数据应用的数据访问性能。本文实现的部分缓存策略已经贡献到Alluxio开源社区,并且已经在工业界得到了使用。