论文部分内容阅读
随着计算机技术的快速发展,各领域对数据处理速度提出更高要求,传统的批量计算技术已经无法满足数据处理的实时需求,新型的流式计算技术得到各行业的高度关注,以Storm为主的实时计算平台也获得极大发展。但是,在大数据流式计算环境中所有应用程序开始执行后都将长期运行,在线环境中的资源调度不仅要考虑到当前的节点分配状态,还需考虑数据流的变化程度和调度对系统稳定性的影响程度,而通过智能算法得到的最佳调度方案由于用时过长会导致其不再适用最新的数据流环境。为解决以上问题,本文通过分析大数据流式计算场景中的数据流特征和Storm在线资源调度机制,提出一种基于Storm实时计算平台的弹性资源调整策略ERMS(Elasticity Resource Management Strategy),可根据在线数据流变化实时调整资源分配。主要内容包括以下三方面:首先,根据多组性能评估实验确定影响Storm系统数据处理延迟的主要因素,并通过研究任务拓扑图节点计算参数和节点间通信参数的量化来构建Storm弹性资源调度模型。根据调度模型提出关键路径的概念,通过把强依赖节点分配到同一工作进程以减小数据处理中的通信开销。其次,提出弹性资源调整策略ERMS,在数据处理延迟和系统资源使用量两方面对Storm资源调度进行改进,可根据在线数据流变化实时调整资源分配。数据处理延迟方面通过使用动态规划算法,为任务拓扑图中每个计算节点分配资源时保证其所有上游节点已经为最优分配,进而在迭代过程中保证每一步均为最优并达到整体最优,最终得出数据处理延迟最小的资源分配方案。系统资源使用量方面在动态规划的基础上通过增大每次可为该拓扑分配的资源量并使用动态迭代寻找最节约资源的分配方案。最后,从数据处理延迟、吞吐量和系统资源使用量三方面对ERMS进行性能评估。实验结果表明ERMS适用于稳定数据流和弹性数据流环境,并且可根据当前数据流速率计算出最佳资源分配方案,有效降低任务拓扑的数据处理延迟和提高系统吞吐量,同时节约20%左右的系统资源。