当前位置:问答库>论文摘要

题目:MapReduce性能模型和参数配置的研究与实现

关键词:MapReduce,性能模型,优化,参数,多目标

  摘要



随着数据量的急剧增长,传统的数据处理方法已不能满足数据处理要求的大吞吐量、低成本、简单灵活、高可靠性和可扩展的特征。于是,Google提出了用于海量数据处理的MapReduce框架,其开源实现Hadoop在实践中得到了广泛的应用。然而在实际使用过程中,Hadoop在集群资源利用率、作业执行性能、参数配置、任务调度等方面都存在诸多问题,对这些问题进行研究分析具有重大的意义。

针对提升作业执行性能、提高集群资源利用率的迫切需求,建立性能模型对作业执行性能进行预测分析是非常有意义的,可以有效地发现作业执行过程中出现的问题并进行相应的优化;在性能优化方面,Hadoop系统涉及许多的配置参数,合理的参数配置会在作业执行时获得较好的性能,参数的选择对于用户来说是较难的问题,所以自动地为用户选择参数则能够大大减少用户的工作量。

本文主要完成MapReduce性能建模和参数配置的相关研究,通过分析MapReduce作业执行时间及相关影响因素,获取作业执行过程中的各项资源成本,重点考察任务并行执行、资源竞争和任务失败对作业执行性能的影响,建立MapReduce性能模型以预测作业的执行时间,同时结合用户在时间和成本开销方面的多种需求,建立多目标函数,以期通过搜索算法找到一组满足多目标函数的参数配置值供用户使用,并通过实验对优化效果进行了验证。

首先,本文对作业执行过程中涉及到的参数进行了分类分析,总结出集群参数、系统配置参数、作业参数对作业的执行性能均有影响,同时针对不同的参数类型给出了参数的不同获取方法,这就为性能模型的可行性与实用性奠定了基础。

其次,本文建立了扩展性能模型,根据作业执行过程中的资源占用情况,如磁盘IO成本、网络传输成本和CPU成本,同时考虑集群运行环境中的任务并行度、资源竞争和任务失败这些复杂因素对作业性能的影响,对作业的每个阶段建立成本项,然后充分考虑成本项之间的关系(并行或顺序或重叠),建立性能模型,并通过实验验证了性能模型的准确性。

第三,本文实现了基于多目标函数的参数优化,MapReduce涉及众多的系统参数,这些系统参数对MapReduce作业执行性能有很大的影响,根据性能模型获取的作业执行时间,同时结合用户在作业执行时间和成本开销方面的要求,构建多目标函数,众多的参数构成了目标函数中的一个高维解空间,本文使用了一种搜索效果较好的并行遗传-禁忌搜索算法来寻找一组较优的参数配置值供用户使用。

最后,结合前面的工作,设计并实现了一个集作业参数获取、作业性能预测、分析和参数优化于一体的优化系统。用户规定它们的应用程序在执行时的截止时间和预算开支,优化器可以给出相应的较优资源供应类型和系统参数配置。最后通过实验验证了优化器的优化效果,证明了该优化器能够针对用户的不同需求提供较优的资源供应类型和参数配置。