论文部分内容阅读
批量流式计算平台Spark Streaming将连续的数据流切分为离散的数据集,并采用批处理计算引擎Spark进行并行化处理。Spark Streaming能获得近实时的数据处理保证,因此被广泛应用。基于云环境部署的Spark Streaming追求两个优化目标,即最小化端到端响应延迟和资源使用成本。针对现有工作缺乏针对上述两个目标协同优化的问题,本文提出一种参数-资源协同配置方法,将参数配置和资源分配相结合,构建一体化性能-成本优化方法。该方法基于历史日志信息,周期性地利用张量补全理论构建Spark Streaming应用性能模型,并基于动态邻域粒子群算法寻找不同数据到达速率下的参数和资源配置优化方案,从而支持在样本稀疏的背景下应用性能的精确评估以及优化方案的在线实时获取。本文的主要贡献总结如下:(1)提出一种Spark Streaming中参数配置与资源分配协同优化方法框架。依据该方法框架,在Spark Streaming应用运行过程中,后台周期性地进行性能建模和参数-资源配置优化方案选取。当在线流式负载强度发生变化时,通过数据到达速率匹配实现在线优化方案的快速获取。(2)提出一种基于张量补全的Spark Streaming性能建模方法。依据Spark Streaming的处理流程,选取影响系统性能的关键因素作为张量模型的特征维度,根据张量补全原理进行模型求解。该方法在样本数据稀疏背景下能够达到较为准确的预测。(3)提出一种基于动态邻域粒子群的参数-资源协同配置优化方案选取方法。该方法以最小化资源使用量为主要优化目标,以最小化延迟为次要优化目标,依据性能模型,通过对粒子、邻域选取和适应度函数等要素的定义,实现参数-资源配置方案的启发式搜索,提高优化方案选取效率。(4)对所提出的方案进行原型系统实现及性能评测。性能评测结果表示,与动态参数调整方法DyBBS相比,本文提出的方法可使Spark Streaming应用的平均响应延迟最大减少77.8%;与动态调整资源方法DRA相比,本文提出的方法可使Spark Streaming应用的平均资源使用量最大减少46.4%。