论文部分内容阅读
随着云计算技术的普及和流行,Hadoop系统成为更多用户处理大批量数据的选择。在Hadoop系统中,资源管理问题一直是该领域的研究热点问题之一。有效的资源管理,通过对资源的合理分配,不仅能够有效缩短系统的平均响应时间,提高用户的满意度,更能保证和改善系统的执行能力和交互能力,而且还能提高资源的利用率。本文在深入研究Hadoop系统的资源调度算法的基础上,针对目前Hadoop系统在资源调度方面存在的使用静态地配置Slot资源而难以有效适应MapReduce作业个性化资源需求的问题,提出了一个多MapReduce作业动态资源分配方法,该方法将多MapReduce作业初始资源分配和动态重分配相结合,能够动态地配置分配给各个作业的资源,从而保证作业的完成时间目标,提高系统的资源利用率。首先,针对资源初始分配,建立作业的完成时间预测的数学模型,根据作业的完成时间目标和作业的初始化信息估计作业的资源需求,提出了作业对所得资源的用户满意度的概念,并以用户满意度公平,和系统的资源利用率最大化为目标,建立了初始的资源分配模型,并给出了求解资源分配模型的启发式算法,为作业进行资源初始分配。其次,针对资源动态重分配,周期性动态地捕捉作业在执行过程中的任务剩余执行时间的变化,改进作业的完成时间预测模型,预测作业对于资源的需求变化,并感知是否有用户向系统提交新作业,提出了作业资源需求变化事件的概念,并基于作业资源需求变化事件的发生,以用户满意度公平和资源利用率为目标,为作业进行动态的资源重分配。本文在以上研究的基础上,对Hadoop的资源调度器进行改进,并指定该调度器执行了3种作业,Sort、Combine和Select,通过与这3种作业在Fair调度器下的执行状况进行作业完成时间和资源利用率的对比,验证了本文提出的多MapReduce作业动态资源分配方法的有效性。