CN103593323A - 一种MapReduce任务资源配置参数的机器学习方法 - Google Patents
一种MapReduce任务资源配置参数的机器学习方法 Download PDFInfo
- Publication number
- CN103593323A CN103593323A CN201310547034.8A CN201310547034A CN103593323A CN 103593323 A CN103593323 A CN 103593323A CN 201310547034 A CN201310547034 A CN 201310547034A CN 103593323 A CN103593323 A CN 103593323A
- Authority
- CN
- China
- Prior art keywords
- deadline
- task
- learning method
- configuration parameter
- 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
Images
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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
Abstract
本发明涉及第2代Hadoop中YARN平台的作业优化技术,特别涉及一种MapReduce任务资源配置参数的机器学习方法。本发明通过引入机器学习方法,构建了一种学习器,能够为YARN平台中提交的MapReduce作业选择合适的运行参数,以提高平台运行效率,缩短作业完成时间。
Description
技术领域
本发明涉及第2代Hadoop中YARN平台的作业优化技术,特别涉及一种MapReduce任务资源配置参数的机器学习方法。
背景技术
Hadoop是当前最流行的大数据处理工具。它实现了一套分布式存储与计算系统,特别适合于TB、PB级的数据处理,并且借助于MapReduce框架,可以使用户轻松写出分布式程序,将传统业务迁移到分布式平台上来。
目前商业化的产品多是基于第1代Hadoop的技术实现,在实用中存在单点瓶颈、资源分配不灵活、编程框架单一等问题。正在研发中的第2代Hadoop,为克服上述缺点,创造性的将资源调度平台与编程框架分离:构建了新的底层平台YARN,负责集群的资源分配及任务调度;剥离MapReduce框架成为独立的可选组件,不再与平台耦合。
在新的资源调度平台YARN上,采用的调度算法是“支配资源公平”(Dominant Resource Fairness,DRF)。用户提交的程序称为作业,每个作业将会拆分成大量子任务运行。用户在提交作业时,需要指定每个子任务运行时占用的CPU和内存资源。YARN平台调度器会依此计算每个子任务的CPU和内存占集群总资源量的比值,并取其大者作为该类子任务的“支配份额”(Dominant Share)。在多名用户同时提交多个作业时,调度器会选择性地启动各类子任务,以保证各用户的总支配份额相同。
受上述调度算法影响,用户在提交作业时,设置的资源需求参数将会直接影响到作业的完成时间。设置的资源需求越大,每个子任务运行时间越短,但受到平台调度器的限制,同时运行的子任务数会减少;设置的资源需求越少,每个子任务运行时间越长,但同时运行的子任务数量会变多。
资源需求与子任务完成时间及平台并发任务数均不是线性关系。目前参数的设置主要依赖于用户经验,对于缺乏丰富经验的用户来说,并不能保证合理的参数设置,从而导致作业运行时间明显大于理论最优值。
发明内容
为了解决现有技术的问题,本发明提供了一种MapReduce任务资源配置参数的机器学习方法,通过引入机器学习算法,可以降低参数设置时的主观偏差,在一定程度上解决目前参数设置不合理的问题。
本发明所采用的技术方案如下:
一种MapReduce任务资源配置参数的机器学习方法,包括以下步骤:
A、预测任务完成时间;
B、预测平台并发任务数;
C、计算作业完成时间并判断时间是否最优,如果是则提交作业,如果否则重新进行步骤A。
步骤A中对于任务完成时间的预测,需要输入数据的特征值有四个:(1) Map/Reduce;(2) 任务类型;(3) 数据量;(4) 复杂度。
步骤B中对于预测平台并发任务数的具体步骤是:
B1、学习器需要记录集群的配置参数,即总的CPU资源和内存资源;依此可以计算各类子任务的资源需求占比;
B2、学习器需要在一段自定义时间内观察平台的运行情况,记录不同环境下集群的资源利用情况,即支配份额的波动情况;
B3、在学习过程之后,学习器会对新条件下平台的支配份额做出预测,从而为后续计算做好准备。
步骤B1中,此过程针对特定的集群配置,当配置条件改变时,需重新学习。
步骤B2中,可能引起支配份额波动的环境参数包括:时间、某用户登录,这是一个无监督学习过程。
步骤C中,还需要获取每个作业拆分的子任务数量,对于当前作业,指定子任务资源需求,学习器给出的预测值包括:
子任务完成时间t;
平台同时运行任务数k;
作业的总子任务数N;
据此可以计算在此资源配置下,作业完成总时间为:
T = t * N / k;
作业完成时间与资源配置是类抛物线关系,在计算出某一配置下的完成时间后,程序将正向或反向搜索,尝试将作业完成时间缩短,直至逼近理论最优值。
一种MapReduce任务资源配置参数的学习器,其包括2个需要训练的组件:任务完成时间预测器、平台并发任务数预测器,所述任务完成时间预测器采用监督学习方法,平台并发任务数预测器采用非监督学习方法,所述的学习器能够根据指定的资源配置参数预测作业完成时间,并迭代寻找作业完成时间最短的资源配置参数。
机器学习算法分为监督学习和非监督学习。监督学习将数据分成训练集和测试集,通过训练集训练出相应的规则,然后对测试集中的新数据测试验证。
本发明提供的技术方案带来的有益效果是:
本发明能够降低YARN平台作业提交时设置资源需求的主观偏差,能够缩短作业完成时间,提高平台整体的运行效率,为经济发展节约资源。
附图说明
图1为本发明的一种MapReduce任务资源配置参数的机器学习方法的方法流程逻辑图;
图2为本发明的一种MapReduce任务资源配置参数的机器学习方法的实施流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例如附图1所示。
本实施例要解决的问题如下:
学习过程中需要解决2个问题:1、对于不同的任务,配置相应的CPU和内存资源,预测任务完成时间;2、对于YARN平台,设置不同的资源需求参数,预测能同时运行的任务数。
得到上述两个预测值后,可以计算在不同的资源配置下,作业完成的总时间。
本实施例所采用的具体方案如下:
1、 预测任务完成时间
输入数据的特征值有四个:
(1) Map/Reduce;
(2) 任务类型;
(3) 数据量;
(4) 复杂度。
由于Map和Reduce任务的资源需求要单独提交,因而将其作为两类不同的子任务处理。任务类型指具体的操作分类,例如数据库检索、文件排序等。数据量指要处理的数据规模。复杂度是一个人为控制变量,由用户估计任务的复杂程度。
训练过程中,需要在真实环境下对不同的任务配置不同的参数,记录其运行时间,作为实例库。在建立起一定规模的实例库后,对于新到来的任务,根据其特征值计算与实例库中实例的相似度,从而得出预测的运行时间。
2、预测平台并发任务数
首先,学习器需要记录集群的配置参数,即总的CPU资源和内存资源。依此可以计算各类子任务的资源需求占比。此过程针对特定的集群配置,当配置条件改变时,需重新学习。
其次,学习器需要在一段时间内观察平台的运行情况,记录不同环境下集群的资源利用情况,即支配份额的波动情况。可能引起支配份额波动的环境参数包括:时间、某用户登录等。这是一个无监督学习过程。
在学习过程之后,学习器会对新条件下平台的支配份额做出预测,从而为后续计算做好准备。
3、计算作业完成时间
本过程中还需要获取每个作业拆分的子任务数量。拆分规则是先验知识,可以预先指定。
对于当前作业,指定子任务资源需求<n CPU, m MEM>,学习器给出的预测值包括:
子任务完成时间t
平台同时运行任务数k
作业的总子任务数N
据此可以计算在此资源配置下,作业完成总时间
T = t * N / k
作业完成时间与资源配置是类抛物线关系,在计算出某一配置下的完成时间后,程序将正向或反向搜索,尝试将作业完成时间缩短,直至逼近理论最优值。
参照附图2,学习器在部署时,需要在真实环境中训练一段时间。需要有不同的任务在不同的资源配置下运行,由学习器采集运行时间结果,作为实例库里的实例。学习器也需要获取真实平台的特征参数,采集不同条件下的支配份额。另外需要获取当前的任务拆分规则、文件块大小等信息,为后续计算做准备。
当训练过程完成后,输入新作业特征值,学习器将根据实例库及后续算法,迭代计算作业完成时间最优的资源配置参数。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种MapReduce任务资源配置参数的机器学习方法,包括以下步骤:
A、预测任务完成时间;
B、预测平台并发任务数;
C、计算作业完成时间并判断时间是否最优,如果是则提交作业,如果否则重新进行步骤A。
2.根据权利要求1所述的一种MapReduce任务资源配置参数的机器学习方法,其特征在于,所述步骤A中对于任务完成时间的预测,需要输入数据的特征值有四个:(1) Map/Reduce;(2) 任务类型;(3) 数据量;(4) 复杂度。
3.根据权利要求1所述的一种MapReduce任务资源配置参数的机器学习方法,其特征在于,所述步骤B中对于预测平台并发任务数的具体步骤是:
B1、学习器需要记录集群的配置参数,即总的CPU资源和内存资源;依此可以计算各类子任务的资源需求占比;
B2、学习器需要在一段自定义时间内观察平台的运行情况,记录不同环境下集群的资源利用情况,即支配份额的波动情况;
B3、在学习过程之后,学习器会对新条件下平台的支配份额做出预测,从而为后续计算做好准备。
4.根据权利要求3所述的一种MapReduce任务资源配置参数的机器学习方法,其特征在于,所述步骤B1中,此过程针对特定的集群配置,当配置条件改变时,需重新学习。
5.根据权利要求3所述的一种MapReduce任务资源配置参数的机器学习方法,其特征在于,所述步骤B2中,可能引起支配份额波动的环境参数包括:时间、某用户登录,这是一个无监督学习过程。
6.根据权利要求1所述的一种MapReduce任务资源配置参数的机器学习方法,其特征在于,所述步骤C中,还需要获取每个作业拆分的子任务数量,对于当前作业,指定子任务资源需求,学习器给出的预测值包括:
子任务完成时间t;
平台同时运行任务数k;
作业的总子任务数N;
据此可以计算在此资源配置下,作业完成总时间为:
T = t * N / k;
作业完成时间与资源配置是类抛物线关系,在计算出某一配置下的完成时间后,程序将正向或反向搜索,尝试将作业完成时间缩短,直至逼近理论最优值。
7.一种MapReduce任务资源配置参数的学习器,其包括2个需要训练的组件:任务完成时间预测器、平台并发任务数预测器,所述任务完成时间预测器采用监督学习方法,平台并发任务数预测器采用非监督学习方法,所述的学习器能够根据指定的资源配置参数预测作业完成时间,并迭代寻找作业完成时间最短的资源配置参数。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310547034.8A CN103593323A (zh) | 2013-11-07 | 2013-11-07 | 一种MapReduce任务资源配置参数的机器学习方法 |
PCT/CN2014/071235 WO2015066979A1 (zh) | 2013-11-07 | 2014-01-23 | 一种MapReduce任务资源配置参数的机器学习方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310547034.8A CN103593323A (zh) | 2013-11-07 | 2013-11-07 | 一种MapReduce任务资源配置参数的机器学习方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103593323A true CN103593323A (zh) | 2014-02-19 |
Family
ID=50083473
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310547034.8A Pending CN103593323A (zh) | 2013-11-07 | 2013-11-07 | 一种MapReduce任务资源配置参数的机器学习方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103593323A (zh) |
WO (1) | WO2015066979A1 (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105095230A (zh) * | 2014-04-29 | 2015-11-25 | 国际商业机器公司 | 确定目标数据分析应用的性能预测模型的方法及装置 |
CN106575246A (zh) * | 2014-06-30 | 2017-04-19 | 亚马逊科技公司 | 机器学习服务 |
CN107025141A (zh) * | 2017-05-18 | 2017-08-08 | 成都海天数联科技有限公司 | 一种基于大数据混合作业模型的调度方法 |
CN108270603A (zh) * | 2016-12-31 | 2018-07-10 | 中国移动通信集团陕西有限公司 | 一种调度方法及管理系统 |
CN108510081A (zh) * | 2018-03-23 | 2018-09-07 | 北京京东尚科信息技术有限公司 | 机器学习方法和平台 |
CN108629420A (zh) * | 2017-03-22 | 2018-10-09 | 埃森哲环球解决方案有限公司 | 多状态量子优化引擎 |
US10102098B2 (en) | 2015-12-24 | 2018-10-16 | Industrial Technology Research Institute | Method and system for recommending application parameter setting and system specification setting in distributed computation |
CN109325494A (zh) * | 2018-08-27 | 2019-02-12 | 腾讯科技(深圳)有限公司 | 图片处理方法、任务数据处理方法和装置 |
CN109901921A (zh) * | 2019-02-22 | 2019-06-18 | 北京致远互联软件股份有限公司 | 任务队列执行时间预测方法、装置及实现装置 |
CN109992404A (zh) * | 2017-12-31 | 2019-07-09 | 中国移动通信集团湖北有限公司 | 集群计算资源调度方法、装置、设备及介质 |
CN109992403A (zh) * | 2017-12-30 | 2019-07-09 | 中国移动通信集团福建有限公司 | 多租户资源调度的优化方法、装置、终端设备及存储介质 |
CN110209574A (zh) * | 2019-05-14 | 2019-09-06 | 深圳极视角科技有限公司 | 一种基于人工智能的数据开发系统 |
CN110209645A (zh) * | 2017-12-30 | 2019-09-06 | 中国移动通信集团四川有限公司 | 任务处理方法、装置、电子设备及存储介质 |
CN110427356A (zh) * | 2018-04-26 | 2019-11-08 | 中移(苏州)软件技术有限公司 | 一种参数配置方法和设备 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10013289B2 (en) | 2016-04-28 | 2018-07-03 | International Business Machines Corporation | Performing automatic map reduce job optimization using a resource supply-demand based approach |
CN106202431B (zh) * | 2016-07-13 | 2019-06-28 | 华中科技大学 | 一种基于机器学习的Hadoop参数自动调优方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102222092A (zh) * | 2011-06-03 | 2011-10-19 | 复旦大学 | 一种MapReduce平台上的海量高维数据聚类方法 |
CN103064664A (zh) * | 2012-11-28 | 2013-04-24 | 华中科技大学 | 一种基于性能预估的Hadoop参数自动优化方法和系统 |
US20130254196A1 (en) * | 2012-03-26 | 2013-09-26 | Duke University | Cost-based optimization of configuration parameters and cluster sizing for hadoop |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073546B (zh) * | 2010-12-13 | 2013-07-10 | 北京航空航天大学 | 一种云计算环境中分布式计算模式下的任务动态调度方法 |
US9268613B2 (en) * | 2010-12-20 | 2016-02-23 | Microsoft Technology Licensing, Llc | Scheduling and management in a personal datacenter |
CN103019855B (zh) * | 2012-11-21 | 2015-06-03 | 北京航空航天大学 | MapReduce作业执行时间预测方法 |
-
2013
- 2013-11-07 CN CN201310547034.8A patent/CN103593323A/zh active Pending
-
2014
- 2014-01-23 WO PCT/CN2014/071235 patent/WO2015066979A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102222092A (zh) * | 2011-06-03 | 2011-10-19 | 复旦大学 | 一种MapReduce平台上的海量高维数据聚类方法 |
US20130254196A1 (en) * | 2012-03-26 | 2013-09-26 | Duke University | Cost-based optimization of configuration parameters and cluster sizing for hadoop |
CN103064664A (zh) * | 2012-11-28 | 2013-04-24 | 华中科技大学 | 一种基于性能预估的Hadoop参数自动优化方法和系统 |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105095230A (zh) * | 2014-04-29 | 2015-11-25 | 国际商业机器公司 | 确定目标数据分析应用的性能预测模型的方法及装置 |
CN106575246A (zh) * | 2014-06-30 | 2017-04-19 | 亚马逊科技公司 | 机器学习服务 |
CN106575246B (zh) * | 2014-06-30 | 2021-01-01 | 亚马逊科技公司 | 机器学习服务 |
US10102098B2 (en) | 2015-12-24 | 2018-10-16 | Industrial Technology Research Institute | Method and system for recommending application parameter setting and system specification setting in distributed computation |
CN108270603A (zh) * | 2016-12-31 | 2018-07-10 | 中国移动通信集团陕西有限公司 | 一种调度方法及管理系统 |
CN108629420A (zh) * | 2017-03-22 | 2018-10-09 | 埃森哲环球解决方案有限公司 | 多状态量子优化引擎 |
CN108629420B (zh) * | 2017-03-22 | 2022-03-11 | 埃森哲环球解决方案有限公司 | 用于求解优化任务的方法和多个计算资源的系统 |
CN107025141B (zh) * | 2017-05-18 | 2020-09-01 | 成都海天数联科技有限公司 | 一种基于大数据混合作业模型的调度方法 |
CN107025141A (zh) * | 2017-05-18 | 2017-08-08 | 成都海天数联科技有限公司 | 一种基于大数据混合作业模型的调度方法 |
CN110209645A (zh) * | 2017-12-30 | 2019-09-06 | 中国移动通信集团四川有限公司 | 任务处理方法、装置、电子设备及存储介质 |
CN109992403A (zh) * | 2017-12-30 | 2019-07-09 | 中国移动通信集团福建有限公司 | 多租户资源调度的优化方法、装置、终端设备及存储介质 |
CN109992403B (zh) * | 2017-12-30 | 2021-06-01 | 中国移动通信集团福建有限公司 | 多租户资源调度的优化方法、装置、终端设备及存储介质 |
CN109992404A (zh) * | 2017-12-31 | 2019-07-09 | 中国移动通信集团湖北有限公司 | 集群计算资源调度方法、装置、设备及介质 |
CN109992404B (zh) * | 2017-12-31 | 2022-06-10 | 中国移动通信集团湖北有限公司 | 集群计算资源调度方法、装置、设备及介质 |
CN108510081A (zh) * | 2018-03-23 | 2018-09-07 | 北京京东尚科信息技术有限公司 | 机器学习方法和平台 |
CN110427356A (zh) * | 2018-04-26 | 2019-11-08 | 中移(苏州)软件技术有限公司 | 一种参数配置方法和设备 |
CN110427356B (zh) * | 2018-04-26 | 2021-08-13 | 中移(苏州)软件技术有限公司 | 一种参数配置方法和设备 |
CN109325494A (zh) * | 2018-08-27 | 2019-02-12 | 腾讯科技(深圳)有限公司 | 图片处理方法、任务数据处理方法和装置 |
CN109901921A (zh) * | 2019-02-22 | 2019-06-18 | 北京致远互联软件股份有限公司 | 任务队列执行时间预测方法、装置及实现装置 |
CN109901921B (zh) * | 2019-02-22 | 2022-02-11 | 北京致远互联软件股份有限公司 | 任务队列执行时间预测方法、装置及实现装置 |
CN110209574A (zh) * | 2019-05-14 | 2019-09-06 | 深圳极视角科技有限公司 | 一种基于人工智能的数据开发系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2015066979A1 (zh) | 2015-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103593323A (zh) | 一种MapReduce任务资源配置参数的机器学习方法 | |
CN107888669B (zh) | 一种基于深度学习神经网络的大规模资源调度系统及方法 | |
Ananthanarayanan et al. | {GRASS}: Trimming stragglers in approximation analytics | |
CN104915407B (zh) | 一种基于Hadoop多作业环境下的资源调度方法 | |
Gu et al. | Liquid: Intelligent resource estimation and network-efficient scheduling for deep learning jobs on distributed GPU clusters | |
US10783436B2 (en) | Deep learning application distribution | |
Cheng et al. | Cross-platform resource scheduling for spark and MapReduce on YARN | |
Cheng et al. | Heterogeneity-aware workload placement and migration in distributed sustainable datacenters | |
CN110389820B (zh) | 一种基于v-TGRU模型进行资源预测的私有云任务调度方法 | |
Pakize | A comprehensive view of Hadoop MapReduce scheduling algorithms | |
WO2013082119A1 (en) | Cloud provisioning accelerator | |
CN109891438B (zh) | 数值量子实验方法和系统 | |
CN111026549A (zh) | 一种电力信息通信设备自动化测试资源调度方法 | |
CN103729246A (zh) | 一种任务调度方法和装置 | |
CN105740059B (zh) | 一种面向可分割任务的粒子群调度方法 | |
CN105607952A (zh) | 一种虚拟化资源的调度方法及装置 | |
CN113778646A (zh) | 一种基于执行时间预测的任务层级调度方法及装置 | |
Cheng et al. | Heterogeneity aware workload management in distributed sustainable datacenters | |
Han et al. | Scheduling placement-sensitive BSP jobs with inaccurate execution time estimation | |
Tchernykh et al. | Mitigating uncertainty in developing and applying scientific applications in an integrated computing environment | |
CN104281492A (zh) | 一种异构环境下的Hadoop任务公平调度方法 | |
US20210390405A1 (en) | Microservice-based training systems in heterogeneous graphic processor unit (gpu) cluster and operating method thereof | |
CN113762514A (zh) | 数据处理方法、装置、设备及计算机可读存储介质 | |
Cui et al. | A scheduling algorithm for multi-tenants instance-intensive workflows | |
Zhiyong et al. | An improved container cloud resource scheduling strategy |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140219 |