APP下载

Hadoop 云平台下基于资源感知的作业调度算法研究

2020-02-28肖坚

经济技术协作信息 2020年24期
关键词:计算资源资源分配异构

◎肖坚

大数据时代已经来临,众多企业及科研机构都在研究大数据的应用价值。作为开源的分布式云计算平台,Hadoop 是当前众多企业开发云计算平台中所选择的主要框架。通过对Hadoop 框架的改进,基本能够处理海量的数据信息,在实际运用中有着很好的应用效果。随着Hadoop应用越来越广泛,其中也存在一定的问题需要解决。当前,Hadoop 中的三种调度算法更适合在同构计算机集群上的使用,而在异构集群中,相应的调度能力就有所降低。针对这一问题,可以采用基于资源感知的作业调度算法,可以有效解决异构集群调度性能问题,进一步提升系统的资源利用率。

一、Hadoop 概述

2004 年谷歌发表了两篇论述MapReduce 框架以及Google 文件系统(GFS),Doug Cutting 认识到这两篇论文内容可以应用于Nutch 中,经过他与团队的研究,最终设计完成一个可以充实两种网络狂战所需的技术,Hadoop。作为一个开源、可扩展、可靠的分布式计算平台,Hadoop 能够处理海量的数据集。与其他分布式计算相比,Hadoop 的使用更加的方便、简单且高效。而且Hadoop 还能在一台很普通的PC 上运行,对PC 硬件的要求不高,因此与其他分布式计算相比,Hadoop 还有着低成本优势。

二、Hadoop 中的调度算法

1.FIFO 调度算法。

通常在Hadoop 系统中作业进行调度的算法一般会默认为FIFO 算法。在用户提交相应的作业之后,系统会根据左右的优先级情况来进行调度,如果作业优先级处于同一等级,就会根据提交时间按照先后顺序来进行调度。如果提交的时间也相同,则根据作业名称的大小来进行调度。与其他算法相比,FIFO 调度算法比较简单,但对用户作业需求差异缺乏考虑,处理作业时间较长,计算资源被占用的情况下,很容易造成其他用户作业不能被及时的处理。相对来讲,采用FIFO 调度算法,对系统资源的利用率比较低。

2.Fair 调度算法。

Fair 调度算法的主要目标就是为用户提供一个能够共享云平台集群的方式,从而实现对整个系统资源利用效率的提升。采用Fair 调度算法将相应的资源分配到各个不同的资源池中,不同的用户拥有不同的资源池,通过这一算法能够有效保证每个用户资源池获得最小的共享资源。如果某一用户资源池在较长的时间内未能获得相应的资源,则该资源池会以抢占的方式获得资源。通过抢占的方式,能够有效解决FIFO 调度算法中,某一用户资源池作业过程中长时间无法获取资源的问题。

3.Capacity 调度算法。

采用Capacity 调度算法与Fair 调度算法一样,主要目标都是提升系统资源的利用效率。Capacity 调度算法运行中会将资源根据一定的比例来分配给不同的作业队列,而且会严格限制作业的调度情况,以免出现用户或作业队列独占资源问题。在核心调度策略以及对内存的限制方面,Capacity 调度算法与Fair 调度算法有着本质的不同。Capacity 调度算法的调度策略中,会首先选择对资源占用较少的队列,然后再根据作业优先级来进行资源分配,同时在对作业进行选择时,会充分考虑到不同作业对内存的需求情况。

三、基于资源感知的作业调度算法

在Hadoop 调度算法研究中,其核心研究内容是对计算资源分配方式的研究。调度算法设计通常要根据所采用的计算资源分配方式来设计。有些调度算法设计,主要考虑的是不同作业的优先级。有的则根据计算节点的计算能力来设计调度算法。为解决Hadoop 调度算法在异构集群中的计算性能问题,可以设计基于资源感知的作业调度算法。对异构集群中每个异构节点的计算性能以及所处理的整个作业的数据量,还有不同作业计算任务之间的差异性充分考量之后,来设计基于资源感知的作业调度算法。在这一算法设计中,充分运用了工程化以及系统论思想,符合实际需求以及应用。

首先按照对计算节点性能、作业处理数据量以及计算任务的差异化感知来计算合理度值。为实现最佳分配可以在基于资源感知的作业调度算法中,通过输入相关数值,经过计算后输出最大合理度值,得到最佳分配方案。基于资源感知的调度算法,可以确定每个轮转周期中不同作业所要调度的任务数,且基于资源感知的调度,可以确保在每一个轮转周期中实现最优的调度方案。通过对基于资源感知调度算法的应用,能够充分发挥异构计算集群的整体性能,还能更加高效、快捷的执行完所有的作业,在减少对计算资源开销的同时,也能获得用户认可,提高作用用户的满意度。

四、结束语

随着大数据时代的到来,Hadoop 云平台的应用越来越广泛。通过对Hadoop中三种调度算法的分析,可以了解到,采用不同的调度算法,对云平台计算资源的利用方式及效率就会有所不同。当前Hadoop 中三种调度算法在异构集群计算中调度能力不足,因此为进一步提升Hadoop 调度计算能力,可以采用Hadoop 云平台下基于资源感知的作业调度算法,可以有效解决异构集群计算调度能力不足问题,并实现对计算资源的利用率的有效提升。

猜你喜欢

计算资源资源分配异构
试论同课异构之“同”与“异”
基于模糊规划理论的云计算资源调度研究
新研究揭示新冠疫情对资源分配的影响 精读
改进快速稀疏算法的云计算资源负载均衡
吴健:多元异构的数字敦煌
QoS驱动的电力通信网效用最大化资源分配机制①
基于动态规划理论的特种设备检验资源分配研究
基于动态规划理论的特种设备检验资源分配研究
基于Wi-Fi与Web的云计算资源调度算法研究
耦合分布式系统多任务动态调度算法