CN103019855B - MapReduce作业执行时间预测方法 - Google Patents

MapReduce作业执行时间预测方法 Download PDF

Info

Publication number
CN103019855B
CN103019855B CN 201210477736 CN201210477736A CN103019855B CN 103019855 B CN103019855 B CN 103019855B CN 201210477736 CN201210477736 CN 201210477736 CN 201210477736 A CN201210477736 A CN 201210477736A CN 103019855 B CN103019855 B CN 103019855B
Authority
CN
Grant status
Grant
Patent type
Prior art keywords
function
map
reduce
execution time
time
Prior art date
Application number
CN 201210477736
Other languages
English (en)
Other versions
CN103019855A (zh )
Inventor
林学练
孟子德
沃天宇
宋鸽
随培培
Original Assignee
北京航空航天大学
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Grant date

Links

Abstract

本发明提供一种MapReduce作业执行时间预测方法,包括对输入虚拟系统的MapReduce作业进行监测,获取MapReduce作业输入映射Map函数的参数信息,输出Map函数的参数信息和输出化简Reduce函数的参数信息、在Map函数中以及在Reduce函数中的实际执行时间;根据输入Map函数的参数信息、输出Map函数的参数信息以及在Map函数中的实际执行时间,获得Map任务执行时间预测值;根据输出Map函数的参数信息、输出Reduce函数的参数信息以及在Reduce函数中的实际执行时间,获得Reduce任务执行时间预测值;根据Map任务执行时间预测值和Reduce任务执行时间预测值,获得MapReduce作业执行时间的预测值。针对执行Map任务时和执行Reduce任务时的执行时间进行预测,有效地提高了预测的准确率。

Description

MapReduce作业执行时间预测方法

技术领域

[0001] 本发明涉及计算机技术,尤其涉及一种MapReduce作业执行时间预测方法。

背景技术

[0002] 随着数据密集型计算的迅速发展,国内外互联网公司的核心业务越来越多地需要通过大规模数据处理进行支持。在需要对海量数据进行处理的应用场景下,开源实现的分布式系统基础架构(Hadoop )得到了快速的发展。

[0003]在 Hadoop 分布式文件系统(Hadoop Distributed File System,HDFS)之上,进一步地实现了映射化简(MapReduce)框架。目前Hadoop平台的MapReduce系统,对作业的执行一般包括执行映射任务(Map Task)和化简任务(Reduce Task)两个阶段。对于MapReduce系统中作业的执行时间的预测,可以用来支持高效的调度策略,还可以作为对执行作业过程进行优化的依据。

[0004] 但是,现有技术中对MapReduce系统中作业的执行时间进行预测时,将整个MapReduce系统作为黑盒进行考虑,因此,目前对MapReduce系统中作业的执行时间进行预测的方法,存在准确率较低的问题。

发明内容

[0005] 本发明提供一种MapReduce作业执行时间预测方法,用于解决在对MapReduce作业的执行时间进行预测时,准确率较低的问题。

[0006] 本发明的第一个方面是提供一种MapReduce作业执行时间预测方法,包括:

[0007] 对输入虚拟系统的MapReduce作业进行监测,获取所述MapReduce作业输入映射Map函数的参数信息,输出Map函数的参数信息和输出化简Reduce函数的参数信息、在Map函数中的实际执行时间以及在Reduce函数中的实际执行时间;

[0008] 根据所述输入Map函数的参数信息、所述输出Map函数的参数信息以及所述在Map函数中的实际执行时间,获得Map任务执行时间预测值;

[0009] 根据所述输出Map函数的参数信息、所述输出Reduce函数的参数信息以及所述在Reduce函数中的实际执行时间,获得Reduce任务执行时间预测值;

[0010] 根据所述Map任务执行时间预测值和所述Reduce任务执行时间预测值,获得所述MapReduce作业执行时间的预测值。

[0011] 本发明实施例提供的MapReduce作业执行时间预测方法,针对MapReduce作业运行的具体过程,分别针对执行Map任务时的执行时间和执行Reduce任务时的执行时间进行预测,有效地提高了对MapReduce作业执行时间预测的准确率,由于提供了 MapReduce作业在各阶段中的执行时间,有利于为用户提供合理分配系统资源的参考,以便合理地安排各MapReduce作业执彳丁顺序,有利于提尚MapReduce系统的吞吐量,提尚系统资源的使用效率。

附图说明

[0012] 图1为本发明实施例提供的MapReduce作业执行时间预测方法的流程图。

具体实施方式

[0013] MapReduce系统通过执行Map函数和Reduce函数,处理海量数据。Map任务和Reduce任务均可以在小型计算机上执行,从而通过多台小型计算机组成的计算机集群组成Hadoop平台,搭建MapReduce系统,完成对海量数据的处理。

[0014] 对于海量数据的处理任务而言,Hadoop平台的系统资源有限,一个Hadoop平台的系统资源通常由多个用户的多个MapReduce作业所共享,因此需要通过对MapReduce作业的执行时间进行有效的预测,从而为各MapReduce作业合理地分配系统资源和作业的执行顺序,以便提高整个Hadoop平台的吞吐量以及对系统资源的使用效率。

[0015] 图1为本发明实施例提供的MapReduce作业执行时间预测方法的流程图,如图1所示,该方法包括:

[0016] 步骤101、对输入虚拟系统的MapReduce作业进行监测,获取所述MapReduce作业输入映射Map函数的参数信息,输出Map函数的参数信息和输出化简Reduce函数的参数信息、在Map函数中的实际执行时间以及在Reduce函数中的实际执行时间。

[0017] 具体的,作业分析器可以为独立的设备或模块,也可以为设置在实际MapReduce系统中的模块或单元。作业分析器中设置有虚拟系统,通过虚拟系统实现MapReduce系统的功能,对MapReduce作业进行处理。在对MapReduce作业进行处理的过程中,监测MapReduce作业输入Map函数的参数信息、输出Map函数的参数信息、输出Reduce函数的参数信息以及在Map函数中的实际执行时间和在Reduce函数中的实际执行时间。

[0018] 由于作业分析器的主要工作是对MapReduce作业的执行时间进行预测,而预测的前提是需要在作业分析器中对MapReduce作业进行运行,因此,为了能够提高对MapReduce作业运行的效率,更快速地预测出MapReduce作业的执行时间,本发明实施例中还包括一种可选的实现方式,在所述对输入虚拟系统的MapReduce作业进行监测之前,根据预设的采样率,对所述MapReduce作业进行采样,获得采样后的MapReduce作业;相应地,对所述采样后的MapReduce作业进行监测。

[0019] 具体的,由于对MapReduce作业进行采样,是为了提高对执行时间的预测效率,因此,若将采样率设置的过高,则在采样过程中以及在对采样得到的大量数据进行处理时,均将消耗较多的系统资源。而大部分的MapReduce作业中的数据在格式上具有较高的相似性,一个MapReduce作业由若干行的数据组成,在本发明实施例中将MapReduce作业的行数称为记录数,将MapReduce作业的字节数称为数据量。基于MapReduce作业这样的特点,即使采用较低的采样率,仍能够保证反映出MapReduce作业的整体情况。

[0020] 其中,作业分析器监测到的所述输入Map函数的参数信息可以包括输入Map函数的数据量;所述输出Map函数的参数信息可以包括输出Map函数的数据量和输出Map函数的记录数;所述输出Reduce函数的参数信息可以包括输出Reduce函数的数据量。

[0021] 在作业分析器对输入的MapReduce作业进行采样的情况下,输入Map函数的数据量为采样后输入Map函数的数据量除以采样率所得到的数值,即根据采样后的较少的数据样本,推导出采样前的数据量,用于反映MapReduce作业的整体情况;输出Map函数的记录数为采样后输出Map函数的记录数除以采样率所到的数值,即根据采样后较少的记录数,推导出采样前的记录数,用于反映MapReduce作业的整体情况;输出Map函数的数据量为采样后输出Map函数的数据量与采样后输入Map函数的数据量的比值,再与输入Map函数的数据量的乘积,通过采样后的数据经过Map函数执行前后的数据量的比值,和采样前的输入Map函数的数据量,推导出MapReduce作业整体经过Map函数执行后的数据量,即输出Map函数的数据量。

[0022] 输出Reduce函数的数据量为采样后输出Reduce函数的数据量与采样后输入Reduce函数的数据量的比值,再与输入Reduce函数的数据量的乘积。通过采样后的数据经过Reduce函数执行前后的数据量的比值,和采样前的输入Reduce函数的数据量,推导出MapReduce作业整体经过Reduce函数执行后的数据量,即输出Reduce函数的数据量。其中,输入Reduce函数的数据量即为输出Map函数的数据量。

[0023] 作业分析器监测数据在Map函数中执行前的时间点和在Map函数中执行完成的时间点,从而能够计算出数据在Map函数中实际执行的时间,即在Map函数中的实际执行时间。

[0024] 同理,作业分析器还监测数据在Reduce函数中执行前的时间点和在Reduce函数中执行完成的时间点,从而能够计算出数据在Reduce函数中实际执行的时间,即在Reduce函数中的实际执行时间。

[0025] 可以理解的是,若作业分析器未对MapReduce作业进行采样,那么输入Map函数的数据量、输出Map函数的数据量、输出Map函数的记录数、输出Reduce函数的数据量、在Map函数中的实际执行时间和在Reduce函数中的实际执行时间,均代表整个MapReduce作业整体实际的数据量、记录数和执行时间。

[0026] 步骤102、根据所述输入Map函数的参数信息、所述输出Map函数的参数信息以及所述在Map函数中的实际执行时间,获得Map任务执行时间预测值。

[0027] 具体的,根据作业分析器监测到的上述动态参数和MapReduce系统的静态参数,可以计算出性能成本函数。

[0028] 其中,动态参数是指上述获得的输入Map函数的数据量、输出Map函数的数据量、输出Map函数的记录数、输出Reduce函数的数据量、在Map函数中的实际执行时间和在Reduce函数中的实际执行时间;静态参数是指磁盘顺序读的速率和/或磁盘顺序写的速率。

[0029] 收集静态参数的方法可以为,在MapReduce系统中顺序读取IGB的文件,计算出每秒读取的字节数。例如,假设磁盘为温彻斯特硬盘,磁盘顺序读的速率的可选的参考值为lOOMB/s,磁盘顺序写的速率的可选的参考值为70MB/s。

[0030] 对MapReduce作业在Map任务中的执行时间进行预测时,需要考虑到以下几部分时间长度,即所述Map函数的初始化时间、所述读入Map函数的时间、所述执行Map函数的时间、所述Map函数的排序时间和/或所述输出Map函数的时间。

[0031] 根据Map函数的初始化时间、所述读入Map函数的时间、所述执行Map函数的时间、所述Map函数的排序时间和所述输出Map函数的时间,可以计算出所述Map任务执行时间预测值。

[0032] 其中,所述Map任务执行时间预测值可以为Map函数的初始化时间、所述读入Map函数的时间、所述执行Map函数的时间、所述Map函数的排序时间和所述输出Map函数的时间中的一项或多项时间的数值之和。

[0033] Map函数的初始化时间包括执行Map任务的开销和Map任务初始化时的开销,该数值的大小取决于系统实际的消耗。

[0034] 读入Map函数的时间为输入Map函数的数据量除以磁盘顺序读的速率得到的数值,即根据输入Map函数的数据量推导出对这部分数据量进行读取所需要消耗的时间。

[0035] Map函数的计算复杂度为MapReduce作业在Map函数中的实际执行时间与标准作业在所述虚拟系统的Map函数中的实际执行时间的比值。该虚拟系统指的是作业分析器中的虚拟系统,也就是说,将标准作业在作业分析器中进行运行,获取其在Map函数中的实际执行时间。通过MapReduce作业与标准作业在Map函数中实际执行时间的比值反映Map函数对数据进行处理的复杂程度。计算该Map函数的计算复杂度是为了便于后续计算执行Map函数的时间。其中,标准作业是与该MapReduce作业对应的,不同的MapReduce作业可以采用相应的标准作业。

[0036] 需要说明的是,若作业分析器对采样后的MapReduce作业进行处理,则该标准作业需要根据同样的采样率进行采样,并获得相应的在Map函数中的实际执行时间。

[0037] 执行Map函数的时间为所述Map函数的计算复杂度与所述标准作业在实际系统的Map函数中的实际执行时间的乘积,从而计算出MapReduce作业在执行Map函数时需要消耗的时间。其中,实际系统指的是实际的MapReduce系统,也就是说,在真实的Hadoop平台的MapReduce系统中运行标准作业时,在Map函数中运行时消耗的时间。

[0038] Map函数的排序时间为所述输出Map函数的记录数乘以对输出Map函数的记录数进行log运算得到的数值,再乘以排序比例系数。其中,排序比例系数为预设的数值。例如,假设η条标准记录,对η条标准记录进行排序的时间除以nlog (η),即为对η条标准记录进行排序的排序比例系数。具体的,排序比例系数的数值可以根据需要进行设置。

[0039] 输出Map函数的时间为所述输出Map函数的数据量除以磁盘顺序写的速率得到是数值,即根据输出Map函数的数据量推导出对这部分数据量进行写操作所需要消耗的时间。

[0040] 从而,根据Map函数的初始化时间、所述读入Map函数的时间、所述执行Map函数的时间、所述Map函数的排序时间和所述输出Map函数的时间中的一个或多个时间的和,可以计算出多种情况下MapReduce作业的Map任务中消耗的时间,即Map任务执行时间预测值。

[0041] 在获得了 Map任务执行时间预测值之后,进一步地计算Reduce任务执行时间预测值。

[0042] 步骤103、根据所述输出Map函数的参数信息、所述输出Reduce函数的参数信息以及所述在Reduce函数中的实际执行时间,获得Reduce任务执行时间预测值。

[0043] 对MapReduce作业在Reduce任务中的执行时间进行预测时,需要考虑到以下几部分时间长度,即读入Reduce函数的时间、所述执行Reduce函数的时间、所述Reduce函数的排序时间和所述输出Reduce函数的时间。

[0044] 根据所述读入Reduce函数的时间、所述执行Reduce函数的时间、所述Reduce函数的排序时间和所述输出Reduce函数的时间,可以计算出所述Reduce任务执行时间预测值。

[0045] 其中,所述Reduce任务执行时间预测值可以为读入Reduce函数的时间、所述执行Reduce函数的时间、所述Reduce函数的排序时间和所述输出Reduce函数的时间中的一项或多项时间的数值之和。

[0046] 读入Reduce函数的时间为根据所述输出Map函数的数据量获得的。具体的,根据所述输出Map函数的数据量,计算出输入Reduce函数的数据量,输入Reduce函数的数据量为输出Map函数的数据量与Map任务个数的乘积。由于Hadoop平台是按照数据块的大小对数据进行切分的,例如,对每一个64MB大小的数据块分配一个Map任务进行执行,则Map任务个数为输入Map函数的数据量处于64MB,并向上取整后所获得的数值。

[0047] 在获得了所述输入Reduce函数的数据量之后,利用输入Reduce函数的数据量除以磁盘顺序读的速率得到的数值,即根据输入Reduce函数的数据量推导出对这部分数据进行读取所需要消耗的时间,得到所述读入Reduce函数的时间。

[0048] Reduce函数的计算复杂度为,MapReduce作业在Reduce函数中的实际执行时间与所述标准作业在所述虚拟系统的Reduce函数中的实际执行时间的比值。通过MapReduce作业与标准作业在Reduce函数中实际执行时间的比值,反映Reduce函数对数据进行处理的复杂程度。计算该Reduce函数的计算复杂度是为了便于后续计算执行Reduce函数的时间。

[0049] 需要说明的是,若作业分析器对采样后的MapReduce作业进行处理,则该标准作业需要根据同样的采样率进行采样,并获得相应的在Reduce函数中的实际执行时间。

[0050] 执行Reduce函数的时间为所述Reduce函数的计算复杂度与所述标准作业在所述实际系统的Reduce函数中的实际执行时间的乘积,从而计算出MapReduce作业在执行Reduce函数时需要消耗的时间。

[0051] Reduce函数的排序时间为所述输出Map函数的记录数和排序比例系数得到的,具体的,根据输出Map函数的记录数与上述Map任务个数的乘积,获得输入Reduce函数的记录数。进而,根据输入Reduce函数的记录数乘以对输入Reduce函数的记录数进行log运算得到的数值,再乘以排序比例系数,计算出Reduce函数的排序时间。

[0052] 输出Reduce函数的时间为所述输出Reduce函数的数据量除以磁盘顺序写的速率得到是数值,即根据输出Reduce函数的数据量推导出对这部分数据量进行写操作所需要消耗的时间。

[0053] 从而,根据所述读入Reduce函数的时间、所述执行Reduce函数的时间、所述Reduce函数的排序时间和所述输出Reduce函数的时间中的一个或多个时间的和,可以计算多种情况下MapReduce作业的Reduce任务中消耗的时间,即Reduce任务执行时间预测值。

[0054] 进一步地,由于Reduce函数的执行过程和输出Reduce函数的写磁盘过程是并发执行的,所以在计算Reduce任务执行时间预测值时,从执行Reduce函数的时间和输出Reduce函数的时间中取两者中的最大值,计算一次即可,不需要重复计算。

[0055] 步骤104、根据所述Map任务执行时间预测值和所述Reduce任务执行时间预测值,获得所述MapReduce作业执行时间的预测值。

[0056] 具体的,对于MapReduce作业整体而言,将Map任务执行时间预测值和Reduce任务执行时间预测值相加,得到的即是对MapReduce作业所需要消耗的执行时间的预测值。

[0057] 本发明实施例提供的MapReduce作业执行时间预测方法,针对MapReduce作业运行的具体过程,分别针对执行Map任务时的执行时间和执行Reduce任务时的执行时间进行预测,有效地提高了对MapReduce作业执行时间预测的准确率,由于提供了 MapReduce作业在各阶段中的执行时间,有利于为用户提供合理分配系统资源的参考,以便合理地安排各MapReduce作业执彳丁顺序,有利于提尚MapReduce系统的吞吐量,提尚系统资源的使用效率。

[0058] 在上述实施例的基础上,为了进一步地提高对MapReduce作业执行时间预测的准确率,在所述获得所述Map任务执行时间预测值之后,所述根据所述Map任务执行时间预测值和所述Reduce任务执行时间预测值,获得所述MapReduce作业执行时间的预测值之前,所述方法还可以包括:

[0059] 将所述Map任务执行时间预测值、所述输入Map函数的数据量、所述Map函数的计算复杂度和所述输出Map函数的数据量,分别与所述标准作业在所述虚拟系统中的Map任务执行时间、输入Map函数的数据量、Map函数的计算复杂度和输出Map函数的数据量进行拟合,获得修正后的Map任务执行时间预测值。

[0060] 具体的,将上述标准作业在作业分析器中按照上述方法进行参数获取和执行时间的预测。若MapReduce作业是经过采样后进行处理的,则标准作业需要采用同样的采样率进行处理。

[0061] 需要说明的是,本发明各实施例中所使用的标准作业,可以是与该MapReduce作业的数据量、计算复杂度或者转化率这三个指标中的一个或多个较为接近的作业。其中转化率可以分为Map函数的转化率和Reduce函数的转化率,Map函数的转化率是输出Map函数的数据量与输入Map函数的数据量的比值,以表征数据经过Map函数运算之后的变化程度;Reduce函数的转化率是输出Reduce函数的数据量与输入Reduce函数的数据量的比值,以表征数据经过Reduce函数运算之后的变化程度。

[0062] 将在上述实施例中得到的MapReduce作业的Map任务执行时间预测值、输入Map函数的数据量、Map函数的计算复杂度以及输出Map函数的数据量,分别对应地与该标准作业的Map任务执行时间预测值、输入Map函数的数据量、Map函数的计算复杂度以及输出Map函数的数据量通过线性回归运算进行拟合。根据拟合结果以及各拟合量的数值单位与时间的数值单位之间的单位变换,对Map任务执行时间预测值进行修正,获得修正后的Map任务执行时间预测值。

[0063] 修正后的Map任务执行时间预测值为常数Q、Map任务执行时间预测值与系数C1的乘积、输入Map函数的数据量与系数(:2的乘积、Map函数的计算复杂度与系数C 3的乘积以及输出Map函数的数据量与系数C4的乘积这五项数值之和。其中,C0, C1, C2, (:3和(:4分别在进行拟合时得到的回归系数。具体通过线性回归进行拟合的方法,可以采用与现有技术中类似的实现方式。

[0064] 进一步地,在所述获得所述Reduce任务执行时间预测值之后,所述根据所述Map任务执行时间预测值和所述Reduce任务执行时间预测值,获得所述MapReduce作业执行时间的预测值之前,所述方法还可以包括:

[0065] 将所述Reduce任务执行时间预测值、所述输入Reduce函数的数据量、所述Reduce函数的计算复杂度和所述输出Reduce函数的数据量,分别与所述标准作业在所述虚拟系统中的Reduce任务执行时间、输入Reduce函数的数据量、Reduce函数的计算复杂度和输出Reduce函数的数据量进行拟合,获得修正后的Reduce任务执行时间预测值。

[0066] 具体的,将上述实施例中得到的MapReduce作业的Reduce任务执行时间预测值、输入Reduce函数的数据量、Reduce函数的计算复杂度和输出Reduce函数的数据量,分别对应地与该标准作业的Reduce任务执行时间、输入Reduce函数的数据量、Reduce函数的计算复杂度和输出Reduce函数的数据量通过线性回归运算进行拟合。根据拟合结果以及各拟合量的数值单位与时间的数值单位之间的单位变换,对Reduce任务执行时间预测值进行修正,获得修正后的Reduce任务执行时间预测值。

[0067] 修正后的Reduce任务执行时间预测值为常数Reduce任务执行时间预测值与系数B1的乘积、输入Reduce函数的数据量与系数B 2的乘积、Reduce函数的计算复杂度与系数83的乘积以及输出Reduce函数的数据量与系数B 4的乘积这五项数值之和。其中,B。、B 别在进行拟合时得到的回归系数。具体通过线性回归进行拟合的方法,可以采用与现有技术中类似的实现方式。

[0068] 从而,将修正后的Map任务执行时间预测值和修正后的Reduce任务执行时间预测值相加,得到的即是对MapReduce作业所需要消耗的执行时间的预测值进行修正后的执行时间预测值。

[0069] 本发明实施例提供的MapReduce作业执行时间预测方法,根据标准作业在作业分析器中的运行后得到的参数信息和预测时间,分别针对得到的MapReduce作业执行时间中Map任务执行时间预测值与Reduce任务执行时间预测值进行修正,使得对MapReduce作业执行时间预测更准确。

[0070] 本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

[0071] 最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (7)

1.一种映射化简MapReduce作业执行时间预测方法,其特征在于,包括: 在虚拟系统中对MapReduce作业进行处理的过程中,对输入虚拟系统的MapReduce作业进行监测,获取所述MapReduce作业输入映射Map函数的参数信息,输出Map函数的参数信息和输出化简Reduce函数的参数信息、在Map函数中的实际执行时间以及在Reduce函数中的实际执行时间; 根据所述输入Map函数的参数信息、所述输出Map函数的参数信息以及所述在Map函数中的实际执行时间,获得Map任务执行时间预测值; 根据所述输出Map函数的参数信息、所述输出Reduce函数的参数信息以及所述在Reduce函数中的实际执行时间,获得Reduce任务执行时间预测值; 根据所述Map任务执行时间预测值和所述Reduce任务执行时间预测值,获得所述MapReduce作业执行时间的预测值。
2.根据权利要求1所述的MapReduce作业执行时间预测方法,其特征在于,所述输入Map函数的参数信息包括输入Map函数的数据量;所述输出Map函数的参数信息包括输出Map函数的数据量和输出Map函数的记录数;所述输出Reduce函数的参数信息包括输出Reduce函数的数据量。
3.根据权利要求2所述的MapReduce作业执行时间预测方法,其特征在于,所述根据所述输入Map函数的参数信息、所述输出Map函数的参数信息以及所述在Map函数中的实际执行时间,获得Map任务执行时间预测值具体为: 利用所述输入Map函数的数据量除以磁盘顺序读的速率,获得读入Map函数的时间;利用所述在Map函数中的实际执行时间除以标准作业在所述虚拟系统的Map函数中的实际执行时间,获得Map函数的计算复杂度,所述标准作业是与所述MapReduce作业对应的; 利用所述Map函数的计算复杂度乘以所述标准作业在实际系统的Map函数中的实际执行时间,获得执行Map函数的时间;利用所述输出Map函数的记录数乘以对所述输出Map函数的记录数进行对数运算后的数值,再乘以排序比例系数,获得Map函数的排序时间,所述排序比例系数为预设数值;利用所述输出Map函数的数据量除以磁盘顺序写的速率,获得输出Map函数的时间;根据Map函数的初始化时间、所述读入Map函数的时间、所述执行Map函数的时间、所述Map函数的排序时间和所述输出Map函数的时间,获得所述Map任务执行时间预测值。
4.根据权利要求3所述的MapReduce作业执行时间预测方法,其特征在于,所述根据所述输出Map函数的参数信息、所述输出Reduce函数的参数信息以及所述在Reduce函数中的实际执行时间,获得Reduce任务执行时间预测值具体为: 利用所述输出Map函数的数据量乘以Map任务个数,再除以所述磁盘顺序写的速率,获得读入Reduce函数的时间; 利用所述在Reduce函数中的实际执行时间除以所述标准作业在所述虚拟系统的Reduce函数中的实际执行时间,获得Reduce函数的计算复杂度; 利用所述Reduce函数的计算复杂度乘以所述标准作业在所述实际系统的Reduce函数中的实际执行时间,获得执行Reduce函数的时间; 利用所述输出Map函数的记录数乘以所述Map任务个数,再乘以所述排序比例系数,获得Reduce函数的排序时间; 利用所述输出Reduce函数的数据量除以所述磁盘顺序写的速率,获得输出Reduce函数的时间; 根据所述读入Reduce函数的时间、所述执行Reduce函数的时间、所述Reduce函数的排序时间和所述输出Reduce函数的时间,获得所述Reduce任务执行时间预测值。
5.根据权利要求3所述的MapReduce作业执行时间预测方法,其特征在于,所述对输入虚拟系统的MapReduce作业进行监测之前,所述方法还包括: 根据预设的采样率,对所述MapReduce作业进行采样,获得采样后的MapReduce作业; 相应地,所述对输入虚拟系统的MapReduce作业进行监测具体为: 对所述采样后的MapReduce作业进行监测。
6.根据权利要求3所述的MapReduce作业执行时间预测方法,其特征在于,所述获得所述Map任务执行时间预测值之后,所述根据所述Map任务执行时间预测值和所述Reduce任务执行时间预测值,获得所述MapReduce作业执行时间的预测值之前,所述方法还包括: 将所述Map任务执行时间预测值、所述输入Map函数的数据量、所述Map函数的计算复杂度和所述输出Map函数的数据量,分别与所述标准作业在所述虚拟系统中的Map任务执行时间预测值、输入Map函数的数据量、Map函数的计算复杂度和输出Map函数的数据量进行拟合,获得修正后的Map任务执行时间预测值。
7.根据权利要求3所述的MapReduce作业执行时间预测方法,其特征在于,所述获得所述Reduce任务执行时间预测值之后,所述根据所述Map任务执行时间预测值和所述Reduce任务执行时间预测值,获得所述MapReduce作业执行时间的预测值之前,所述方法还包括: 将所述Reduce任务执行时间预测值、所述输入Reduce函数的数据量、所述Reduce函数的计算复杂度和所述输出Reduce函数的数据量,分别与所述标准作业在所述虚拟系统中的Reduce任务执行时间预测值、输入Reduce函数的数据量、Reduce函数的计算复杂度和输出Reduce函数的数据量进行拟合,获得修正后的Reduce任务执行时间预测值。
CN 201210477736 2012-11-21 2012-11-21 MapReduce作业执行时间预测方法 CN103019855B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201210477736 CN103019855B (zh) 2012-11-21 2012-11-21 MapReduce作业执行时间预测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201210477736 CN103019855B (zh) 2012-11-21 2012-11-21 MapReduce作业执行时间预测方法

Publications (2)

Publication Number Publication Date
CN103019855A true CN103019855A (zh) 2013-04-03
CN103019855B true CN103019855B (zh) 2015-06-03

Family

ID=47968485

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201210477736 CN103019855B (zh) 2012-11-21 2012-11-21 MapReduce作业执行时间预测方法

Country Status (1)

Country Link
CN (1) CN103019855B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103428494A (zh) * 2013-08-01 2013-12-04 浙江大学 基于云计算平台的图像序列编码及恢复方法
CN103440167B (zh) * 2013-09-04 2016-06-29 福州大学 Hadoop多作业环境下自学习反馈的任务调度方法
CN103593323A (zh) * 2013-11-07 2014-02-19 浪潮电子信息产业股份有限公司 一种MapReduce任务资源配置参数的机器学习方法
CN103713935B (zh) * 2013-12-04 2017-05-03 中国科学院深圳先进技术研究院 一种在线管理Hadoop集群资源的方法和装置
CN103729246B (zh) * 2013-12-31 2017-05-03 浪潮(北京)电子信息产业有限公司 一种任务调度方法和装置
CN105095230A (zh) * 2014-04-29 2015-11-25 国际商业机器公司 确定目标数据分析应用的性能预测模型的方法及装置
CN104159126B (zh) * 2014-08-07 2015-08-05 西安交通大学 基于Map-Reduce的视频转码任务调度方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102724059A (zh) * 2012-03-31 2012-10-10 常熟市支塘镇新盛技术咨询服务有限公司 基于MapReduce的网站运行状态监控与异常检测

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8595732B2 (en) * 2010-11-15 2013-11-26 International Business Machines Corporation Reducing the response time of flexible highly data parallel task by assigning task sets using dynamic combined longest processing time scheme

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102724059A (zh) * 2012-03-31 2012-10-10 常熟市支塘镇新盛技术咨询服务有限公司 基于MapReduce的网站运行状态监控与异常检测

Also Published As

Publication number Publication date Type
CN103019855A (zh) 2013-04-03 application

Similar Documents

Publication Publication Date Title
Juve et al. Characterizing and profiling scientific workflows
Venkataraman et al. Ernest: Efficient Performance Prediction for Large-Scale Advanced Analytics.
Ganapathi et al. Statistics-driven workload modeling for the cloud
US20130080760A1 (en) Execution Environment with Feedback Loop
US20130080761A1 (en) Experiment Manager for Manycore Systems
US8195648B2 (en) Partitioned query execution in event processing systems
Kwon et al. Skew-resistant parallel processing of feature-extracting scientific user-defined functions
Ren et al. Hadoop's adolescence: an analysis of Hadoop usage in scientific workloads
US20070038987A1 (en) Preprocessor to improve the performance of message-passing-based parallel programs on virtualized multi-core processors
US20130254196A1 (en) Cost-based optimization of configuration parameters and cluster sizing for hadoop
Chen et al. The case for evaluating mapreduce performance using workload suites
Herodotou et al. Profiling, what-if analysis, and cost-based optimization of mapreduce programs
Wirtz et al. Improving mapreduce energy efficiency for computation intensive workloads
US20130139152A1 (en) Cloud provisioning accelerator
US20160078361A1 (en) Optimized training of linear machine learning models
Chen et al. Towards energy efficient mapreduce
Ren et al. Workload characterization on a production Hadoop cluster: A case study on Taobao
US20150379428A1 (en) Concurrent binning of machine learning data
Castiglione et al. Exploiting mean field analysis to model performances of big data architectures
Chen et al. Statistical workloads for energy efficient mapreduce
US20120054770A1 (en) High throughput computing in a hybrid computing environment
Grover et al. Extending map-reduce for efficient predicate-based sampling
CN104317658A (zh) 一种基于MapReduce的负载自适应任务调度方法
US20150379425A1 (en) Consistent filtering of machine learning data
CN102663005A (zh) 基于云计算的海量视频文件存储系统、分析方法及其系统

Legal Events

Date Code Title Description
C06 Publication
C10 Request of examination as to substance
C14 Granted