基于遗传算法的Hadoop任务调度方法研究与实现(3)
时间:2022-02-08 15:37 来源:毕业论文 作者:毕业论文 点击:次
如今,Hadoop已成为云计算平台的关键部件,并获得了越来越多的支持,不少学者着手 研究和优化Hadoop平台现有技术。分布式系统拥有多处理机,其作业执行的高效性在于任务 的并行执行效率,所以,把作业中不同的任务合理地分配到各个节点上计算可以有效提升并 行度和效率。任务的分配涉及到任务分配算法,此问题是在复杂空间下的搜索问题,也是 NP-complete问题。而近年学者们感兴趣的遗传算法[2](Genetic Algorithm,简称GA)是一类 常见并有效的随机搜索算法,该算法借鉴于自然界中生物的繁殖进化过程,可以较好地计算 出此问题下的近似最佳解,正好适用于Hadoop平台中的任务分配。本文提出了基于遗传算法 的Hadoop平台任务调度策略,经实验验证,此策略能较好地完成作业任务的分配与执行。 1。2 国内外研究现状 传统的Hadoop调度器最初是FIFO的批处理调度器,后由Facebook开发了适用于多用户的 FairScheduler,可以保证各作业基本能公平共享集群的资源;雅虎公司也开发了一种适用于多 用户的CapacityScheduler,它可以看作FIFOScheduler的多队列变形,限制了相同用户提交的 作业所占的资源量,以此提高整个集群的吞吐量[4]。上述调度器都是现在的Hadoop中内置的 三种调度器,用户可自行配置。 近年来,对传统的调度器改进和开发层出不穷。HOD(Hadoop On Demand)调度器适用 于异构负载的环境,它使用Torque资源管理器来分配节点和提交作业;Matei Zaharia,Andy Konwin-ski等提出的LATE调度器[5]同样适用于异构集群,它可以重新执行进展较慢的任务, 以此使这些任务的完成时间减小,而文献6结合Hadoop平台集群的异构性提出了改进的LATE 调度算法[6],用于解决在分配节点上执行那些落后任务的备份任务时的不足。遗传算法作为常见的启发式优化算法,其研究与应用广泛,文献7提出了此算法下的车间 作业计划仿真的研究[7],而文献8中展示了此算法在计算机辅助药物分子设计中的应用[8],另 外还有在电气工程,机械工程和控制工程等领域各有应用。常见启发式三种算法:模拟退火, 遗传算法,蚁群算法,国内各自都提出了基于这三种的Hadoop调度算法。例如,文献9中提 到了基于模拟退火算法的调度策略实现[9];任萱萱提出了基于遗传算法的Hadoop调度策略[10]; 此外,在文献11中提到了基于蚁群算法的调度策略实现[11]。三种算法中,遗传算法和蚁群算 法较之模拟退火算法求解质量高,收敛速度较快,三者各有其优缺点。除上述外,还有很多 相关的改进算法,这些新型调度策略针对特定的作业任务在仿真下有较好的表现。 1。3 论文研究内容 本文研究了 Hadoop 平台的 MapReduce 框架,Hadoop 的任务调度策略和模型以及基础遗 传算法的模型和实现,设计并实现了基于遗传算法的 Hadoop 任务分配算法,同时对其进行 验证,得到验证结果。 1。4 论文结构 本文一共五章,各章的内容如下: 第一章,简要分析了云计算的相关概念和大数据处理平台 Hadoop 的相关研究背景,尤其 是任务调度模块,还介绍了本文的研究工作和本文的结构设置。 第二章,总的概括了本文相关的 Hadoop 平台知识。首先是对此平台的简单说明,分析了 存储管理模块及 MapReduce 计算框架;然后介绍了此平台的作业调度系统,包括其相关概念, 插件式调度框架和经典的调度器的介绍。 第三章,介绍了基于遗传算法的任务分配的模型。先简明介绍遗传算法的原理,然后给 出了此算法的数学模型,第三节列举了若干个关键点,最后给出此算法的流程步骤。 (责任编辑:qin) |