论文部分内容阅读
云计算技术的趋于成熟为企业提供了一种可行的、廉价的处理大数据的解决方案。Hadoop是Apache基金会下一个开源的分布式存储和并行计算平台,由于具有高可靠性、容易扩展和高容错性等优点,目前在大数据处理领域得到了广泛的应用。在云计算应用方面,作业调度和资源分配问题一直都是一个需要重点关注和解决的问题。在云计算平台上同一时刻经常有多个作业需要调度运行,每个作业又被分为若干个子任务单独运行,因此如何协调各个任务的资源分配和调度问题至关重要。Hadoop的资源调度管理框框架YARN提供了三种内置的资源调度器,但是随着应用的延伸,现有的资源调度算法已经不能满足需求,在许多情况下制约了 Hadoop系统性能的提升。因此,对合理地进行资源分配与作业调度的研究,能够提高系统的资源利用率,从而减少作业执行时间,最终使得平台的整体性能得到充分提升。为研究Hadoop作业调度和资源分配以提升系统的性能,本论文的研究内容概述如下:(1)资源调度问题是NP-hard问题,即不能在多项式时间内求得最优解。群智能算法在求解此类问题上有着不俗的表现,如遗传算法,蚁群算法,布谷鸟算法等。布谷鸟算法是一种崭新的、高效的群智能算法,但是它也有一些缺点。针对布谷鸟算法在后期收敛性较弱、求解精度不高的不足,本文提出一种混合遗传布谷鸟优化算法,在布谷鸟算法的基础上,引入遗传算法。保留布谷鸟算法的强全局搜索能力的同时,结合了遗传算法局部收敛性好的特点,加快了算法在后期的收敛速度。(2)本论文对Hadoop YARN的资源管理和分配机制进行深入地分析,对Hadoop资源管理和作业调度过程进行建模,将混合遗传布谷鸟算法应用于YARN资源调度。该算法可以通过YARN的管理机制获取节点CPU速率、内存容量、负载等信息,结合任务的资源申请需求,将各个任务分配到适合的资源节点。同时在调度的过程中,加入了对任务优先级的调整,对资源量需求较大和即将完成的任务,提高其调度优先级,避免资源量需求较大的任务长时间得不到调度以及即将完成的任务陷入长时间等待的困局。研究和测试结果表明,本文提出的混合遗传布谷鸟算法相比布谷鸟算法,在标准函数的最优值求解过程中表现优异。同时,将该算法应用到Hadoop资源调度时,能有效地提高系统资源利用率,缩短集群的作业执行时间。