CN105677467A - 基于量化标签的Yarn资源调度器 - Google Patents
基于量化标签的Yarn资源调度器 Download PDFInfo
- Publication number
- CN105677467A CN105677467A CN201511032371.9A CN201511032371A CN105677467A CN 105677467 A CN105677467 A CN 105677467A CN 201511032371 A CN201511032371 A CN 201511032371A CN 105677467 A CN105677467 A CN 105677467A
- Authority
- CN
- China
- Prior art keywords
- queue
- node
- task
- label
- resource
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种基于量化标签的Yarn资源调度器,所述资源调度器包括:节点配置模块,用于配制节点标签,所述节点标签可以包括:量化的用于表示该节点资源大小的数组;队列配置模块,用于配制队列标签,该队列标签可以包括:量化的用于表示该队列任务所需资源大小的数组;调度模块,用于依据该配制节点标签和队列标签将队列任务分配到节点中执行。本发明提供的技术方案具有任务调度合理和资源利用率高的优点。
Description
技术领域
本发明涉及通信及大数据领域,尤其涉及一种基于量化标签的Yarn资源调度器。
背景技术
随着大数据时代的到来,用于处理大量数据的分布式计算平台也应运而生,解决各种各样的大数据问题。其中,Hadoop作为一种开源的分布式的批处理计算框架而被最为广泛地使用,受到越来越多的关注。Hadoop最初是由Mapreduce编程模型和分布式文件系统(HDFS)构成。Mapreduce以key-value的形式表示待处理数据,在Map中,可以将一个大任务分成多个可并行的小任务执行,Reduce过程将Map中key相同的value值进行归并。Mapreduce是一个抽象的编程模型,多种类型的大数据分析任务都可以转化成Mapreduce来进行并行计算。
在Hadoop中,有一个管理进程负责总体的资源管理与作业调度,每个计算节点也分别有用于作业执行的线程,计算节点的线程可以向管理进程汇报节点的状况。管理节点也可以通过计算节点汇报的情况来分配新任务,进行一些容错工作。Hadoop调度是一个可插拔的模块,使用者可以根据自己的需求进行替换。Hadoop提供的调度模块有三种实现,分别是FIFO、CapacityScheduler(容量调度器)、FairScheduler(公平调度器)。
FIFO调度器是一种最简单的调度方式,它先按照作业的优先级高低,再按照到达时间的先后选择被执行的作业。Hadoop中只有一个作业队列,被提交的作业按照先后顺序在作业队列中排队,新来的作业插入到队尾。一个作业运行完后,总是从队首取下一个作业运行。这种调度策略的优点是简单、易于实现,同时也减轻了管理进程的负担。但是它的缺点也是显然的,它对所有的作业都一视同仁,没有考虑到作业的紧迫程度,另外对小作业的运行不利。CapacityScheduler和FairScheduler比较类似,都是针对多任务队列的调度。FairScheduler是以作业池为单位分配任务槽,而CapacityScheduler是以队列为单位分配资源的。
随着集群规模的扩大,异构集群也越来越普遍。异构集群中的计算节点有不同的计算能力。不同的计算能力的节点合适做不同类型的任务,如计算能力强的节点可以查询等任务,可以加快查询的速度;计算能力较弱的节点适合做长任务,如Storm等长期服务且重要级别比较低的任务。Hadoop为了适应异构机群,推出了基于标签的调度,这种调度会为每个节点加上标签。每个任务队列也拥有对应的标签,使得合适的任务调度到合适的节点执行。但是这种标签的方式也过于粗放,无法将特定类型的任务分配到具有某特点的节点之上,造成任务调度的不合理和资源利用率低的问题
发明内容
提供一种基于量化标签的Yarn资源调度器,其解决了现有技术的任务调度的不合理和资源利用率低的问题。
一方面,提供一种基于量化标签的Yarn资源调度器,所述资源调度器包括:
节点配置模块,用于配制节点标签,所述节点标签可以包括:量化的用于表示该节点资源大小的数组;
队列配置模块,用于配制队列标签,该队列标签可以包括:量化的用于表示该队列任务所需资源大小的数组;
调度模块,用于依据该配制节点标签和队列标签将队列任务分配到节点中执行。
可选的,所述调度模块,具体用于队列标签对任务队列中的任务进行判别,确定任务的种类,其次查看对应的可用节点列表,将任务分配到符合该队列任务所需资源大小的对应的节点上。
可选的,所述量化的用于表示该节点资源大小的数组为二元数组,所述二元数组包括:资源类型以及量化数量。
可选的,所述量化的用于表示该队列任务所需资源大小的数组为二元数组,所述所述二元数组包括:所需资源的类型以及量化数量。
本发明是一种基于Hadoop的任务调度器,在Hadoop基于标签的调度器上提出来量化标签的调度方式。将原来粗粒度的标记节点资源的方式改为一种细粒度的标记方式。将不同的节点区分开,将不同种类的任务提交到不同节点上。这种方式可以提高资源利用率,使得适当的节点处理适当的任务。新的Hadoop集群可以运行Spark、Storm、Mapreduce等不同的计算框架,在大型集群中,这种基于量化标签的调度方法可以相对有效的隔离各种不同的作业类型。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种基于量化标签的Yarn资源调度器的结构图;
图2为本发明提供的任务以及节点分配示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参阅图1,图1为本发明第一较佳实施方式提供的一种基于量化标签的Yarn资源调度器,如图1所示,该资源调度器包括:
节点配置模块101,用于配制节点标签,所述节点标签可以包括:量化的用于表示该节点资源大小的数组;
上述节点资源大小的数组可以为二元数组,具体可以为:
<cpu,<1,128>>
<memory<2,128>>
<disk<10,1000>>
队列配置模块102,用于配制队列标签,该队列标签可以包括:量化的用于表示该队列任务所需资源大小的数组;
上述队列任务所需资源大小的数组也可以为二元数组,具体可以为:
<cpu,<4,8>>
<memory<2,16>>
<disk<10,1000>>
调度模块103,用于依据该配制节点标签和队列标签将队列任务分配到节点中执行。
上述调度模块103,具体用于队列标签对任务队列中的任务进行判别,确定任务的种类,其次查看对应的可用节点列表,将任务分配到符合该队列任务所需资源大小的对应的节点上。
本发明是对Hadoop传统的基于标签的调度器的一种优化,从调度的角度讲,这种调度器可以在多任务的环境下是任务执行的更快,使不同任务分配在合适的节点上运行。在一定程度上对任务有隔离的作用。
另外,本发明中的调度器相比现有的基于标签的调度器,能够更好的提高资源的使用率。在异构环境下,解决了大数据集群资源使用率低的缺点。是一种更细粒度分配资源的方式。
本发明确定了接口形式和量化标签的表示形式,这种表示简单易用,可扩展性强。在大规模的集群中可以很好的发挥作用,并且当集群中计算节点增加使,只需要修改xml配置文件便可使这种调度方式有效。这种新的调度方式能让Yarn更好地运行在异构集群中,进而更好地管理和调度混合类型的应用程序。
针对每种资源,不仅仅用一个非量化标签标识,而是使用不同的资源等级量化的表示资源。在作业队列中,也只需限定作业调度于某类节点中,下面详细说明节点标签的表示方式、队列标签的表示方式、基于量化标签的接口表示。
上述基于量化标签的接口表示
设置每个节点的标签可以通过配置文件实现,标签中应该包括cpu个数、内存、硬盘读写、网络IO等设置。
<property>
<name>yarn.nodemanager-label.cpu</name>
<value>8</value>
</property>
<property>
<name>yarn.nodemanager-label.memory</name>
<value>32</value>
</property>
如附图2中所示,对每类不同的任务,基于量化标签的调度方式可以将不同类型的任务调度在不同的节点上,保证异构集群中任务调度的合理高效进行。调度器对任务队列中的任务进行判别,确定任务的种类,其次查看对应的可用节点列表,将任务分配到对应的节点上。
需要说明的是,对于前述的各方法实施方式或实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为根据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述实施方式或实施例均属于优选实施例,所涉及的动作和单元并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。本领域的技术人员可以将本说明书中描述的不同实施例以及不同实施例的特征进行结合或组合。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可以用硬件实现,或固件实现,或它们的组合方式来实现。
总之,以上所述仅为本发明技术方案的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种基于量化标签的Yarn资源调度器,其特征在于,所述资源调度器包括:
节点配置模块,用于配制节点标签,所述节点标签可以包括:量化的用于表示该节点资源大小的数组;
队列配置模块,用于配制队列标签,该队列标签可以包括:量化的用于表示该队列任务所需资源大小的数组;
调度模块,用于依据该配制节点标签和队列标签将队列任务分配到节点中执行。
2.根据权利要求1所述的调度器,其特征在于,所述调度模块,具体用于队列标签对任务队列中的任务进行判别,确定任务的种类,其次查看对应的可用节点列表,将任务分配到符合该队列任务所需资源大小的对应的节点上。
3.根据权利要求1所述的调度器,其特征在于,所述量化的用于表示该节点资源大小的数组为二元数组,所述二元数组包括:资源类型以及量化数量。
4.根据权利要求1所述的调度器,其特征在于,所述量化的用于表示该队列任务所需资源大小的数组为二元数组,所述二元数组包括:所需资源的类型以及量化数量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511032371.9A CN105677467A (zh) | 2015-12-31 | 2015-12-31 | 基于量化标签的Yarn资源调度器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511032371.9A CN105677467A (zh) | 2015-12-31 | 2015-12-31 | 基于量化标签的Yarn资源调度器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105677467A true CN105677467A (zh) | 2016-06-15 |
Family
ID=56298532
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201511032371.9A Pending CN105677467A (zh) | 2015-12-31 | 2015-12-31 | 基于量化标签的Yarn资源调度器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105677467A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107203422A (zh) * | 2016-08-28 | 2017-09-26 | 深圳晶泰科技有限公司 | 一种面向高性能计算云平台的作业调度方法 |
CN108121599A (zh) * | 2016-11-30 | 2018-06-05 | 杭州海康威视数字技术股份有限公司 | 一种资源管理方法、装置及系统 |
CN109144710A (zh) * | 2017-06-16 | 2019-01-04 | 中国移动通信有限公司研究院 | 资源调度方法、装置及计算机可读存储介质 |
CN109375992A (zh) * | 2018-08-17 | 2019-02-22 | 华为技术有限公司 | 一种资源调度方法及装置 |
CN109992407A (zh) * | 2018-01-02 | 2019-07-09 | 中国移动通信有限公司研究院 | 一种yarn集群gpu资源调度方法、装置和介质 |
WO2020119117A1 (zh) * | 2018-12-14 | 2020-06-18 | 平安医疗健康管理股份有限公司 | 分布式计算方法、装置、系统、设备及可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102902592A (zh) * | 2012-09-10 | 2013-01-30 | 曙光信息产业(北京)有限公司 | 一种集群计算资源的分区调度管理方法 |
CN103631656A (zh) * | 2012-08-21 | 2014-03-12 | 联想(新加坡)私人有限公司 | 大核和小核中的任务调度 |
CN104407921A (zh) * | 2014-12-25 | 2015-03-11 | 浪潮电子信息产业股份有限公司 | 一种基于时间的yarn任务资源动态调度方法 |
-
2015
- 2015-12-31 CN CN201511032371.9A patent/CN105677467A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103631656A (zh) * | 2012-08-21 | 2014-03-12 | 联想(新加坡)私人有限公司 | 大核和小核中的任务调度 |
CN102902592A (zh) * | 2012-09-10 | 2013-01-30 | 曙光信息产业(北京)有限公司 | 一种集群计算资源的分区调度管理方法 |
CN104407921A (zh) * | 2014-12-25 | 2015-03-11 | 浪潮电子信息产业股份有限公司 | 一种基于时间的yarn任务资源动态调度方法 |
Non-Patent Citations (1)
Title |
---|
简岩等: "Hadoop Yarn 标签调度的应用", 《企业技术开发》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107203422A (zh) * | 2016-08-28 | 2017-09-26 | 深圳晶泰科技有限公司 | 一种面向高性能计算云平台的作业调度方法 |
CN107203422B (zh) * | 2016-08-28 | 2020-09-01 | 深圳晶泰科技有限公司 | 一种面向高性能计算云平台的作业调度方法 |
CN108121599A (zh) * | 2016-11-30 | 2018-06-05 | 杭州海康威视数字技术股份有限公司 | 一种资源管理方法、装置及系统 |
CN109144710A (zh) * | 2017-06-16 | 2019-01-04 | 中国移动通信有限公司研究院 | 资源调度方法、装置及计算机可读存储介质 |
CN109144710B (zh) * | 2017-06-16 | 2020-12-04 | 中国移动通信有限公司研究院 | 资源调度方法、装置及计算机可读存储介质 |
CN109992407A (zh) * | 2018-01-02 | 2019-07-09 | 中国移动通信有限公司研究院 | 一种yarn集群gpu资源调度方法、装置和介质 |
CN109992407B (zh) * | 2018-01-02 | 2020-11-20 | 中国移动通信有限公司研究院 | 一种yarn集群gpu资源调度方法、装置和介质 |
CN109375992A (zh) * | 2018-08-17 | 2019-02-22 | 华为技术有限公司 | 一种资源调度方法及装置 |
WO2020034646A1 (zh) * | 2018-08-17 | 2020-02-20 | 华为技术有限公司 | 一种资源调度方法及装置 |
WO2020119117A1 (zh) * | 2018-12-14 | 2020-06-18 | 平安医疗健康管理股份有限公司 | 分布式计算方法、装置、系统、设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105677467A (zh) | 基于量化标签的Yarn资源调度器 | |
CN107038069B (zh) | Hadoop平台下动态标签匹配DLMS调度方法 | |
US10003500B2 (en) | Systems and methods for resource sharing between two resource allocation systems | |
CN102541640B (zh) | 一种集群gpu资源调度系统和方法 | |
US8893145B2 (en) | Method to reduce queue synchronization of multiple work items in a system with high memory latency between processing nodes | |
Zhang et al. | PRISM: Fine-grained resource-aware scheduling for MapReduce | |
CN110442451B (zh) | 一种面向深度学习的多类型gpu集群资源管理调度方法和系统 | |
CN103309738B (zh) | 用户作业调度方法及装置 | |
CN104391918B (zh) | 基于对等部署的分布式数据库查询优先级管理的实现方法 | |
CN104915407A (zh) | 一种基于Hadoop多作业环境下的资源调度方法 | |
CN105718479A (zh) | 跨idc大数处理架构下执行策略生成方法、装置 | |
Bansal et al. | Dynamic task-scheduling in grid computing using prioritized round robin algorithm | |
CN111026519B (zh) | 基于分布式的任务优先级调度方法和系统及存储介质 | |
CN104123182A (zh) | 基于主从架构的MapReduce任务跨数据中心调度系统及方法 | |
CN110597621A (zh) | 集群资源的调度方法与系统 | |
CN105187327A (zh) | 一种分布式消息队列中间件 | |
CN114741207A (zh) | 一种基于多维度组合并行的gpu资源调度方法和系统 | |
CN108509280B (zh) | 一种基于推送模型的分布式计算集群本地性调度方法 | |
WO2014110702A1 (zh) | 协同并发式消息总线、主动构件组装模型及构件拆分方法 | |
CN103761146A (zh) | 一种MapReduce动态设定slots数量的方法 | |
CN112130966A (zh) | 任务调度方法和系统 | |
CN102708003A (zh) | 一种云平台下的资源分配方法 | |
CN108427602A (zh) | 一种分布式计算任务的协同调度方法及装置 | |
Li et al. | Task scheduling algorithm for heterogeneous real-time systems based on deadline constraints | |
CN114138488A (zh) | 一种基于弹性高性能计算的云原生实现方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160615 |
|
RJ01 | Rejection of invention patent application after publication |