论文部分内容阅读
Map/Reduce型海量数据处理平台是大数据时代的最新技术成果,该平台具有用户友好的编程模型、本地化的数据处理机制和高可用性等新特征,已被广泛应用于学术及产业的众多领域。资源管理是该类平台的核心功能之一,提升资源利用率是确保平台中数据处理高效性的关键。既有Map/Reduce型海量数据处理平台采用以用户设置为导向的方式进行内存资源分配,难以防止应用过度占用内存资源,导致平台中内存资源利用率较低。针对该问题,本文提出了基于在线预测的内存资源动态分配技术并实现相应的原型系统,通过对应用任务运行过程中内存使用量的在线预测,并根据预测结果动态调整运行任务占有的内存资源,从而切实保障内存资源的有效利用,减少闲置内存,提升内存资源的利用率及Map/Reduce应用的运行效率。本文的主要贡献包括:1)面向Map/Reduce型海量数据处理平台的动态内存资源分配层次化架构模型。该架构模型分为预测层、本地动态分配层和全局动态分配层。层级工作单元间具有一对多的交互映射关系,便于平台资源使用预测和资源动态分配功能松耦合部署和管理。同时,该模型将内存资源动态分配功能细分为本地层和全局层,从而降低全局集中式内存资源分配决策和实施所产生的平台性能瓶颈风险。2)面向Map/Reduce应用的在线内存资源使用预测方法。分析了典型Map/Reduce应用任务的内存资源使用规律,发现了其具有类分段对数曲线的共性变化特征。根据这一特征,提出了基于线性回归和t检验内存使用预测模型构建方法。利用该方法建立的任务内存使用预测模型,计算任务未来时段的内存再分配量(内存追加及释放量),为任务的动态内存资源分配提供量化依据。3)面向Map/Reduce型海量数据处理平台的内存资源动态分配方法。该方法根据基于预测的内存资源再分配量,释放或追加任务占用的内存资源量。针对任务内存追加中结点空余内存资源不足的场景,提出了基于任务运行时间、任务进度和作业进度比较的任务资源抢占策略,以保证运行任务的性能和资源再分配的公平性。4)综合本文的研究成果,基于开源Map/Reduce型海量数据平台Hadoop,设计并实现了基于预测的动态资源分配系统Predra。Predra整合了上述内存资源使用预测与动态资源分配的相关技术,无需对现有Map/Reduce应用进行修改,具有良好的可移植性。5)对Predra进行了性能分析,性能分析结果表明,和Hadoop平台的原生内存资源分配系统,动态资源分配系统MROrchestrator和ADMP相比,作业平均周转时间最大缩短了57%,平均缩短了37%,作业平均等待时间最大缩短了68%,平均缩短了49%。