论文部分内容阅读
近年来大数据计算已成为研究热点,Hadoop和Spark都是基于MapReduce框架的广泛应用的大数据计算平台,其性能主要取决于任务调度的优劣。因此,基于MapReduce框架的Hadoop和Spark环境下任务调度算法的研究具有一定的理论价值和实际意义。本文重点研究:Hadoop环境下批处理作业调度算法和Spark环境下Web服务的资源分配方法。针对Hadoop环境下优化最大完工时间的批处理作业调度问题,本文将该问题模型化为具有准备时间的两阶段混合流水作业调度问题,并基于DAG(Directed Acyclic Graph)模型提出启发式算法 DAGEA(Directed Acyclic Graph Earliest Available)和DAGEF(Directed Acyclic Graph Earliest Finish)。现有求解具有准备时间的两阶段混合流水作业调度的算法往往基于甘特图构造,此方法无法有效考虑各作业的可调度范围。不同于此,DAGEA、DAGEF基于DAG构造,通过DAG计算各作业的可调度范围并合理调整作业的开始时间,从而有效提高算法的性能和效率。模拟实验验证了该结论。Spark计算基于内存,而Hadoop计算基于磁盘。Spark目前资源分配考虑空余核数和内存等大粒度资源,本文在Spark环境下Web服务资源调度增加考虑集群节点CPU利用率和处理能力等资源使用情况,重新评估每个节点资源利用率,再分配资源给任务。新的资源调度方法MEAN缩小资源粒度,从而提高集群资源利用率,增加Web请求处理数,提高并发性。任务调度和资源分配是分布式大数据计算平台的核心,其质量直接决定平台的性能。本文研究基于MapReduce框架的任务调度算法,重点研究Hadoop环境下批处理调度算法和Spark环境下Web服务的资源分配方法,分别提出DAGEA、DAGEF和MEAN算法,实验表明所提算法的有效性。