摘 要: | 针对MapReduce的默认调度策略先进先出(FIFO)在执行任务时考虑本地性调度带来的任务等待时间长、资源利用率不高和没有考虑任务的优先级等问题,提出一种基于集群拓扑结构的工作流实时调度算法。MapReduce在对工作流进行Map处理时,首先根据taskTracker的计算能力和数据大小对map阶段工作流的完成时间进行估计,得到一个完成时间隶属函数,然后再利用集群的拓扑结构,得到taskTracker在集群中的距离隶属函数,根据这两个隶属函数来对集群中的taskTracker在工作流处理时间和数据传输时间进行综合性能评估,这样可以有效地缩短任务的等待时间并提高资源的利用率。同时该算法采用对作业进行优先级划分的方式,满足不同类型作业的需求。大量的实验结果表明:该优化策略在平均完成时间和平均等待时间方面要优于FIFO算法,可以有效提高工作流处理的实时性。
|