基于多阶段划分的MapReduce模型.docx
- 文档编号:25575639
- 上传时间:2023-06-09
- 格式:DOCX
- 页数:10
- 大小:22.38KB
基于多阶段划分的MapReduce模型.docx
《基于多阶段划分的MapReduce模型.docx》由会员分享,可在线阅读,更多相关《基于多阶段划分的MapReduce模型.docx(10页珍藏版)》请在冰豆网上搜索。
基于多阶段划分的MapReduce模型
基于多阶段划分的MapReduce模型
摘要:
针对已有的MapReduce模型阶段划分粒度不合理导致模型精度和复杂度存在的问题,提出了阶段划分粒度为5的多阶段MapReduce模型(MRModel)。
首先综述了MapReduce模型的研究现状;然后将MapReduce划分为Read、Map、Shuffle、Reduce、Write共5个阶段,并对每个阶段的具体运行时间进行研究;最后通过实验对模型的预测性能进行验证。
实验结果表明,提出的MRModel可用来描述MapReduce实际任务的执行过程,与另外两种不同划分粒度的模型PModel和HModel相比,MRModel模型的运行时间预测精度可以提高10%~30%,在Reduce阶段的运行时间预测精度可以提高2~3倍,综合性能较好。
关键词:
云计算;MapReduce;性能模型;多阶段划分;划分粒度
中图分类号:
TP391
文献标志码:
A
Abstract:
InordertoresolvethelowprecisionandcomplexityproblemoftheexistingMapReducemodelcausedbythereasonablephasepartitioninggranularity,amultiphaseMapReduceModel(MRModel)with5partitiongranularitieswasproposed.Firstly,theresearchstatusofMapReducemodelwasreviewed.Secondly,theMapReducejobwasdividedinto5phasesofRead,Map,Shuffle,Reduce,Writeandthespecificprocessingtimeofeachphasewasstudied.Finally,theMRmodelpredictionperformancewastestedbyexperiments.TheexperimentalresultsshowthatMRModelissuitablefortheMapReduceactualjobexecutionprocess.ComparedwiththetwoexistingmodelsofPModelandHModel,thetimeaccuracyprecisionofMRModelcanbeimprovedby10%-30%;intheReducephase,itstimeaccuracyprecisioncanbeimprovedby2-3times,thecomprehensivepropertyoftheMRModelisbetter.
英文关键词Keywords:
cloudcomputing;MapReduce;performancemodel;multiphasedivision;partitiongranularity
0引言
MapReduce[1]编程模型(MRModel)具有高可扩展性、高容错性和易于实现的特点,是目前云计算中应用最广泛的模型之一,已经在天文学、生物学、高能物理和计算机性能仿真等多个科学研究领域[2]得到了应用。
该模型主要原理是利用分治法原理,通过递归将待研究的问题Q不断分解,直至得到的q∈Q子问题可以被直接解决。
之所以能够得到广泛应用,是由于MRModel可以提高云计算程序的运算速度,降低时间开销,衡量标准之一是MRModel的性能。
目前关于MR模型(MRModel)的性能研究,从研究方法的角度划分,可以分为定性分析和定量分析两种类型。
定性分析主要通过经验公式和其他手段构建MR任务的性能和MR运行参数之间的数学关系,进而对MR任务的性能进行预测和规划,比较典型的研究是以MR任务日志作为研究工具[3],进而对任务的执行过程进行分析,最后对MR任务性能进行预测[4]。
这种方法的优点是易于实现,存在的问题是经验模型预测精度不高;定量分析方法是直接通过对MR任务的运行过程进行研究,进而建立数学模型,典型的数学模型包括Yang等[5]提出的MR性能模型、可分负载模型(DivisibleLoadModel,DLM)[6]、核典型相关分析(KernelCanonicalCorrelationAnalysis,KCCA)模型[7]、排队网络模型[8]、服务对象等级(ServiceLevelObjective,SLO)模型[9]等。
其中,MR性能模型是在理想状态下对MRModel进行建模,可分负载模型则是根据可分负载理论对MR建模,核典型相关分析模型利用机器学习方法对MR性能进行建模,排队网络模型是考虑网络排队因素的模型,服务对象等级模型则是从服务质量保证的角度对MR进行数学建模,文献[10]提出了考虑文件融合因子的模型。
现有的模型对于阶段划分的具体过程以及相关的参数作用研究相对缺乏,本文将一个MR任务划分成多个阶段,对每个阶段进行数学建模,最后得到MR任务的时间维度的运行模型。
1MRModel多阶段模型构建
1.1模型假设和参数定义
1)模型相关假设。
假设1MR任务运行发生在一个集群之中,不考虑机架对MR性能的影响,不考虑副本备份策略的影响。
假设2MapReduce处理的应用程序是数据密集型运算。
假设3程序运行过程中不会发生失效问题。
假设4待处理数据在集群的所有节点中平均分布,每个节点的硬件配置相同,不存在异构集群的情况。
假设5网络带宽足够整个集群进行网络数据的传输。
假设6假设MR任务运行过程中不需要考虑数据压缩问题。
2)模型参数定义。
与MRModel建模相关参数的定义和说明如表1所示。
定义1一个MR任务模型描述MR的运算能力,可用七元数组进行表示:
J=(δ0,τ0,τ2,m0,n0,f(x),g(x))
(1)
定义2MR资源约束模型描述集群资源对系统性能的约束能力,可用五元数组表示:
R=(m,n,v0,v1,v2)
(2)
定义3一个MR任务包含一系列的Map函数和Reduce函数。
Map函数和Reduce函数的数量用Map周期和Reduce周期的概念进行描述。
Map周期[11]用λ0表示,结合资源约束条件,可以得到Map周期的计算公式为:
λ0=「m0/m(3)
与Map周期的概念类似,用λ1表示Reduce周期。
Reduce周期λ1的计算公式如下:
λ1=「n0/n(4)
Map周期和Reduce周期数量变化[12],会对MR任务的执行过程产生影响。
MR任务又可分为单Map周期(或Reduce周期)任务和多Map周期(或Reduce周期)任务。
1.2MRModel阶段划分存在的问题
将MR任务进行多阶段划分,一个重要的概念是划分粒度d。
如果粒度太小,可能出现的问题是构建的模型与实际MR任务的运行过程误差较大,如果粒度太大,有可能出现的问题是构建模型会需要用到较多的参数,数学建模工作量比较大。
文献[5]提出了3粒度的PModel,分别为Map、Shuffle和Reduce3个阶段,设定MR任务的执行时间为T,则3阶段划分的运行时间可以表示为T=θ1(tmap,tshuffle,treduce);将MR过程的划分粒度进一步提高,文献[13]提出了10粒度的HModel,将Map阶段划分为初始化(Ini)、读取数据(Read)、网络传输(Net)、Parse、Map、Sort、Merge、Read、Serial和写数据(Write)等阶段,将Reduce阶段划分为初始化(Ini)、读取数据(Read)、网络传输(Net)、Merge、Disk、Ser&Par、Parse、Reduce、写数据(Write)和网络传输(Net)10个阶段,每个阶段的运行时间可以用下列方程组表示:
T=θ2(tmap,treduce)tmap=θ3(tIni,tRead,…,tSerial,tWrite)
treduce=θ3(tIni,tRead,…,tWrite,tNet)(5)
其中θ1(x)、θ2(x)、θ2(x)表示阶段运行时间和参数之间的函数关系,一般情况下该函数为加法运算。
通过对不同粒度的MR任务划分阶段进行研究,可以看出3阶段的划分方法侧重于整体上对MR任务进行划分,在建模时忽略的因素相对较多;而将MR的Map和Reduce阶段分别划分为10个阶段,则是将所有细节进行考虑,模型误差可以减小,但是运算复杂度会提高,并且几个阶段之间存在一定的重叠。
本文在两种粒度的划分方法的基础上,提出了一种5划分粒度模型,目的在于尽量在保证模型精细度的前提下,将重复的阶段进行整合优化,尽量提高模型的精度,降低建模的复杂度。
如图1所示,本文将一个MR任务划分为Read、Map、Shuffle、Reduce、Write共5个阶段。
下面依次对每个阶段的运行过程进行分析和建模。
1.3MRModel多阶段模型构建
1.3.1Read阶段程序运行时间
Read阶段从Hadoop分布式文件系统(HadoopFileSystem,HDFS)上获取数据并根据集群中块的大小对其进行分割,并创建KeyValue键值对,得到的文件分块的数量和Map数量m0相等。
该阶段的运行时间与输入数据的大小和磁盘文件的读取速度相关,在理想状态下,可以用线性关系表示,因此Read阶段程序运行时间t0可用式(6)表示:
t0=δ0/v0(6)
1.3.2Map阶段程序运行时间
Map阶段执行用户自定义的Map函数,故该阶段会受到Map周期参数的影响,每个周期的程序运行时间由输入数据的大小和磁盘文件的读取速度决定,对于数据密集型运算,f(x)可以近似是线性函数,即f(x)=kx,可以得出该阶段的程序运行时间t1如式(7)所示:
t1=f(δ0/m0)λ0=kλ0δ0/m0(7)
1.3.3Shuffle阶段程序运行时间
在Shuffle阶段,MRModel从相关的Map输出文件获取相关数据,并且将其复制到Reduce节点上。
一个Map函数输出的中间数据大小是δ0τ0,则到达Reduce函数所在的节点的段数量σseg用式(8)[14]表示:
δseg=δ0τ0/n0(8)
则一个单独的Reducer获取的数据的大小为:
δshuffle=m0δseg=δ0τ0m0/n0(9)
则Shuffle阶段的运行时间如式(10)所示:
t2=δshuffle/v2=δ0τ0m0/(v2n0)(10)
只有在第一个Map任务完成之后,Shuffle阶段才会开始。
当所有的Map阶段完成,和所有Map产生的中间数据传输到Reduce任务并且经过排序之后,Shuffle阶段才算结束。
Shuffle和Sort阶段是相互交叉的,因此可以视为一个过程进行处理。
在Shuffle阶段完成之后,Reduce阶段开始执行。
这一阶段时间误差主要是由数据在网络延迟造成。
1.3.4Reduce阶段程序运行时间
Reduce阶段执行用户定义的Reduce函数,该阶段受到Reduce周期的影响,程序运行时间与Reduce阶段输入数据的大小和数据传输速度相关。
根据前面的假设,处理函数为g(x),对于数据密集型运算,g(x)可以近似是线性函数,即g(x)=lx,则该阶段的程序运行时间t3如式(11)所示:
t3=g(δ′2/v1)λ1=δ0τ1lλ1/(n0v1)(11)
1.3.5Write阶段程序运行时间
Write阶段将Reduce阶段产生的结果根据Key值进行处理,将结果输出到Hadoop文件系统上。
Write阶段输出到HDFS系统上的时间t4可以用式(12)表示:
t4=δ0τ1/(n0v1)(12)
综合式(6)~(7)、(10)~(12),MRModel的任务执行时间T的计算公式如式(13)所示:
T=∑4i=0ti(13)
化简后可以得到T关于m0、n0的函数,如式(14)所示。
T(m0,n0)=∑4i=0ti=δ0kλ0/m0+δ0τ0m0/(v2n0)+(lλ1δ0τ1+δ0τ1)/(v1n0)(14)
2实验和结果分析
2.1实验环境和数据
为了验证系统的性能,在实际的Hadoop集群进行实验验证。
为尽量降低异构Hadoop环境带来的影响,在高性能服务器安装VirtualBox虚拟机,而后在虚拟机中安装Hadoop集群。
Hadoop版本为1.2.1,虚拟机操作系统UbuntuLinux,内存Gb还是GB1GB,Hadoop节点个数为10个,考虑到内存大小的限制,设置每个节点上最多可以运行2个Map函数和2个Reduce函数,则系统容量m=n=20。
实验验证程序采用Hadoop自带的WordCount基准,其输入数据由Hadoop自带的TeraSort基准产生产生数据。
程序运行时Map的数量m0,根据控制输入数据的大小δ0和集群的块的大小b进行设置,m0=δ0/b。
Reduce的数量则通过在命令行中使用Dmapred.reduce.task=n0来设定。
为了验证不同输入下模型的性能,实验的输入数据分别取100MB和1000MB,即δ0∈{100,1000}。
在WordCount测试基准中,可以认为中间结果的转换率和最终结果转化率都为100%,即τ0≈1,τ1≈1。
2.2模型阶段划分有效性验证
实验1通过对程序多次的运行时间进行处理,分析其运行过程,得到本文提出的多阶段模型各个阶段占整个程序的运行时间的比例,如图2所示。
通过图2可以看出,Read阶段占的比例为18%,Map阶段占比例大约为30%,Shuffle阶段占的比例为19%,Reduce阶段占的比例为16%,Write阶段占的比例为14%,其他开销的时间所占比例在3%左右。
可以看出,本文提出的阶段划分过程基本符合实际程序运行过程,可能存在的误差主要与不同实验环境和程序初始化[15]的过程相关。
2.3模型的性能验证
实验2是验证模型的性能。
在不同输入数据的情况下,分别统计不同m0和n0数量对程序运行时间,并分别计算MRModel、文献[5]提出的模型PModel(划分粒度为3)和文献[13]提出的模型HModel(划分粒度为10)作为对比。
2.3.1运行时间对比
实际的实验值和程序的计算时间如图3~5所示。
从运行时间对比结果来看,MRModel的时间介于PModel和HModel之间,基本上可以描述MR任务的运行过程,但是只从三个图还无法精确地看出模型的精确度,可以对模型的相对误差进一步分析。
2.3.2系统运行时间相对误差分析
为了验证MRModel和PModel、HModel的精确度,引入相对误差的概念。
相对误差计算公式如式(15)所示:
e=(a模型值-a实验值)/a实验值
(15)
其中:
a实验值为基准变量,本文中为程序的实际运行时间;a模型值为模型求解得到的值。
取多组输入数据进行实验,取其中比较有代表性的实验结果如图6~8所示。
从实验结果对比分析可以看出,在不同的处理数据量的情况下,本文提出的模型相对误差为em,建模复杂程度为ζm;PModel相对误差ep,建模复杂程度为ζp;HModel相对误差eh,建模复杂程度ζh。
相对误差满足以下关系eh ζp<ζm<ζh。 综合建模的复杂程度和相对误差的分析,本文提出的MRModel是比较均衡的一种方法,建模复杂程度适中,而且其相对误差比较小;PModel建模复杂程度最小,但相对误差较大,尤其是Reduce阶段;HModel相对误差最小,但是建模过程中使用的变量太多,模型构建和处理复杂程度最高。 因此,可以得出以下结论: 本文提出的MRModel模型在三种模型中综合性能较高。 3结语 本文提出了一种基于阶段划分的MapReduce任务模型,将MR任务划分为5个阶段,并对各个阶段进行数学建模,经过实验验证,该模型基本可以描述MapReduce任务的运行过程,通过采用合适的划分粒度,保证了模型具有相对较高的精确度和较低的建模复杂度,避免粗粒度忽略因素较多存在的问题,同时减少细粒度划分方法存在的时间重叠度太高的问题。 本文的研究有助于MapReduce模型构建和对云计算过程进行量化分析。 后续工作是放宽假设限制,研究模型在不同运行环境下的适应能力,通过发现在不同运行环境下存在的问题,进一步对其优化和改进。 参考文献: [1] DEANJ,GHEMAWATS.MapReduce: simplifieddataprocessingonlargeclusters[J].CommunicationsoftheACM,2008,51 (1): 107-113. [2] QINX,WANGH,DUX,etal.Bigdataanalysis―competitionandsymbiosisofRDBMSandMapReduce[J].JournalofSoftware,2012,23 (1): 32-45.(覃雄派,王会举,杜小勇,等.大数据分析――RDBMS与MapReduce的竞争与共生[J].软件学报,2012,23 (1): 32-45.) [3] JAHANIE,CAFARELLAMJ,RC.AutomaticoptimizationforMapReduceprograms[J].ProceedingsoftheVLDBEndowment,2011,4(6): 385-396. [4] SONGG,MENGZ,HUETF,etal.AHadoopMapReduceperformancepredictionmethod[C]//HPCC_EUC2013: Proceedingsofthe2013IEEE10thInternationalConferenceonHighPerformanceComputingandCommunications&2013IEEEInternationalConferenceonEmbeddedandUbiquitousComputing.Piscataway: IEEE,2013: 820-825. [5] YANGX,SUNJ.AnanalyticalperformancemodelofMapReduce[C]//Proceedingsofthe2011IEEEInternationalConferenceonCloudComputingandIntelligenceSystems.Piscataway: IEEE,2011: 306-310. [6] BERLINSKAJ,DROZDOWSKIM.SchedulingdivisibleMapReducecomputations[J].JournalofParallelandDistributedComputing,2011,71(3): 450-459. [7] ZAHARIAM,KONWINSKIA,JOSEPHAD,etal.ImprovingMapReduceperformanceinheterogeneousenvironments[C]//OSDI08: Proceedingsofthe8thUSENIXConferenceonOperatingSystemsDesignandImplementation.Berkeley: USENIXAssociation,2008: 29-42. [8] VIANNAE,COMARELAG,PONTEST,etal.AnalyticalperformancemodelsforMapReduceworkloads[J].InternationalJournalofParallelProgramming,2013,41(4): 495-525. [9] VERMAA,CHERKASOVAL,CAMPBELLRH.ARIA: automaticresourceinferenceandallocationforMapReduceenvironments[C]//Proceedingsofthe8thACMInternationalConferenceonAutonomicComputing.NewYork: ACM,2011: 235-244.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 阶段 划分 MapReduce 模型