论文部分内容阅读
随着实时大数据处理框架越来越广泛的应用,对基于大数据框架上的应用程序性能的优化需求也越来越多,且要求也越来越高。Spark作为业界使用度最广、认可度最高的分布式实时大数据处理框架,由于其较高的流处理性能而被广泛应用于实时图像处理领域。Spark基于分布式硬件集群,通过各种配置化参数调整Spark作业的运行效率。在Spark性能的优化上需考虑众多因素,因此在具有较大优化空间的基础上,优化难度也是很大的,尤其是针对具体要求情况下,优化多个参数的多目标优化问题。现阶段,针对Spark的性能预测与优化主要有两种方法:机器学习算法、系统行为建模。而这两种方法均存在通用性差、无法较好的解决反向多参数优化和正向性能预测准确率较低等问题。本文针对以上提出的问题,依托项目中实际存在的优化需求,对Spark的运行机制进行研究,在充分挖掘影响Spark性能的重要因素后,提出了一种基于GBDT算法和遗传算法的Spark性能预测与反向多参数优化算法SGBDTP-GA。该算法不仅能够准确的对运行在Spark平台上的程序执行时间进行预测,还能够基于预测模型反向对多目标参数进行优化。本文中,对影响Spark性能的因素分为了两类:硬件配置参数、Spark集群软件配置参数,共计22个特征参数。输出为特定任务在Spark平台上的执行时间。本文所使用的实验数据为真实场景下的人脸照片,通过对人脸照片进行特征值提取得到实验数据,并对实验数据进行Spark平台上的算法运算得到负载时间。基于负载时间训练SGBDTP-GA模型。在此基础上,实现了人脸特征比对的Spark性能预测与优化系统,该系统具有人脸特征比对算法性能预测的功能,同时具备在特定约束条件下的反向多目标参数优化的能力,即可根据特定的执行时间要求与任务规模给出计算资源推荐与Spark平台最佳参数配置表。本文在Spark集群环境下进行了实验,实验结果表明SGBDTP-GA模型能够准确的预测未训练样本的性能,同时基于该预测模型能够反向基于遗传算法得到最佳的软硬件参数配置。对实际项目部署过程中硬件集群参数配置和软件平台的搭建具有指导作用。