论文部分内容阅读
大数据时代的到来意味着新技术,新产品,和新系统的出现。如基准测试在过去三十年推动数据库技术和系统长足发展一样。基准测试将在大数据系统发展过程中起到举足轻重的作用。然而,当前大数据系统系统基准测试的研究还无法满足技术发展的实际需求。首先,缺少一个被广泛接受的大数据基准测试集,用于准确评估不同的大数据解决方案。其次,已有的负载分析方法无法准确分析大数据负载的特征,无法进一步指导系统选型和性能优化。最后,在大数据系统基准测试和负载分析的过程中,我们发现手动调优方式在大数据系统环境下低效且优化效果不佳。因而,本文研究了大数据系统基准测试研究需要迫切解决的几个基本问题,从大数据基准测试集构建方法,大数据负载性能量化分析方法,大数据系统性能自动调优方法等三个方面开展研究。首先,提出了以真实应用和数据为基础的跨层次的程序行为相似性分析方法,开发并开源发布了第一个面向交通大数据系统的基准测试集SZTS(http://cloud.siat.ac.cn/szts.php)。SZTS的构建与传统的基准测试构建过程相比有三个优势:(1)SZTS使用真实的应用和数据,比通用算法和合成数据更准确的刻画了实际的大数据负载特征。(2)SZTS使用跨层次的程序特征分析方法,比基于单层次的特征分析方法更全面反映了大数据负载的程序行为,(3)SZTS使用聚类技术进行程序行为相似性分析,以量化方法选择有代表性的大数据程序和输入数据集。与传统的基于经验手动选择的方式相比,更好的满足了基准测试集对程序行为的多样性要求,同时也消除了基准测试集内部的冗余。其次,提出了基于软硬件特征的大数据负载重要性量化分析方法和工具(MIA)。该方法使用跨层次的程序特征建立性能模型,量化了影响性能关键因素的重要性。并以MIA为基础,进一步提出了基于特征重要性量化分析的雷达图(MKP)和相似性矩阵(BSM)用于分析程序行为的相似性。与传统的雷达图和相似性矩阵相比,基于MIA的方法既量化程序行为的差异性,同时也揭示了引起这些差异的根本原因。更重要的是,MIA方法能够指导系统性能优化,帮助基准测试实施者专注于影响性能的关键因素,忽略对性能影响较小或无关的因素。实验结果显示,指标TMI(中间数据的I/O总量)是影响性能指标DPS(数据处理速度)的最关键因素。我们利用这个结论,仅通过调整一个参数-io.sort.factor,减少了大量的中间数据I/O操作,使程序执行时间减少37.5%。最后,提出了基于机器学习的NO-SQL数据库性能调优方法和工具(ATH)。该方法建立了以分布式数据库可配置参数为输入,以性能指标如吞吐为输出的基于随机森林的性能模型。然后将性能模型作为遗传算法的输入,在巨大的参数空间为给定的NO-SQL负载计算最优配置。ATH方法在HBase平台上进行了验证,与传统的手动性能调优方法相比,ATH方法效率更高,且优化效果不依赖于实施者的个人经验和技术背景。实验结果显示,与默认配置相比,该方法性能平均提升41%,最大提升97%。