一种基于MapReduce机制的数据密集型成本优化方法

文档序号:6520037阅读:200来源:国知局
一种基于MapReduce机制的数据密集型成本优化方法
【专利摘要】本发明涉及一种基于MapReduce机制的数据密集型计算成本优化方法,在数据的流行程度和访问情况动态变化的状态下,优化MapReduce任务的执行时间和执行成本。该方法包括:提出云计算环境下基于MapReduce机制的成本计算模型;在该模型的基础上,根据负载中数据流行程度动态改变Map子任务的副本数目;对于访问次数较多,访问较频繁的热数据,通过增加其副本数目以减少文件抢夺和网络的带宽资源竞争,使其计算成本与计算时间达到最优;对于访问次数较少,访问较不频繁的冷数据,通过减少其副本数目以降低副本的创建与存储成本,使其计算成本与计算时间达到最优。利用本发明,云计算用户能够有效的减小资源使用成本,并能以更加高效的方式保证作业计算结果的可靠性与完整性。
【专利说明】一种基于MapReduce机制的数据密集型成本优化方法
【技术领域】
[0001]本发明涉及一种基于成本优化方法,更确切地说是涉及一种基于MapReduce机制的数据密集型计算成本优化方法。该方法适用于负载中数据的流行程度和访问情况动态变化的状态下,云计算用户的计算成本与计算时间的优化问题。
【背景技术】
[0002]随着信息技术的发展,越来越多的工业和学术组织都面临着处理不断增长的大量大规模数据的挑战,例如文件分析处理、科学模拟等应用。作为处理大规模数据和数据密集型应用最主流的编程模型,MapReduce将大规模输入数据集有效分解为固定大小的数据块,分布式的存储在集群中的不同节点,并通过分布式并行计算模型,大大简化了大规模数据的计算任务。其中,为了解决系统的容错与数据可用性问题,在大型计算集群中,大部分基于MapReduce的存储系统均采用数据冗余的方法,即通过创建数据副本的方式,在任一数据块由于某种原因不可用的情况下,使用其副本以避免任务的重新启动与重复执行。目前,基于MapReduce的存储系统的数据副本均采用分级固定数目的方式,比如,Hadoop分布式存储系统分别在节点内部,机架内部与机架远程三个级别创建3份副本。然而,实际负载中数据的流行程度随着时间不断动态变化。一方面,在大型的繁忙系统中,某些热数据被多次重复访问,使其存储该数据的节点变为热点。在热点中,文件的争夺与带宽资源的限制成为了制约任务执行时间的重要瓶颈。对于云计算用户来说,任务执行时间的长期拖延意味着执行成本的浪费与服务质量的下降。另一方面,某些冷数据的访问次数远小于默认副本数目,因此额外的数据副本提高了存储成本与副本创建成本。在这种情况下,系统需要一种基于MapReduce机制的数据密集型计算成本优化方法,能够根据负载中数据的访问情况,利用成本计算模型,动态的改变数据副本数目,在保证系统的容错性与数据可用性的同时,优化云计算用户的计算时间与计算成本。

【发明内容】

[0003]本发明的目的是提供一种基于MapReduce机制的数据密集型计算成本优化方法,克服了上述繁忙中热数据的文件争夺与资源受限的不足,解决了由负载中数据的动态访问情况所造成的计算时间与成本浪费的问题;能够实时根据负载中数据访问情况将数据划分为热数据与冷数据,从而动态的改变数据副本数目,优化云计算用户的计算时间与计算成本。
[0004]为了达到上述目的,本发明采用的技术方案如下:
[0005]—种基于MapReduce机制的数据密集型计算成本优化方法,是根据负载中数据流行程度动态改变Map子任务的副本数目;对于访问次数较多,访问较频繁的热数据,通过增加其副本数目以减少文件抢夺和网络的带宽资源竞争,使其计算成本与计算时间达到最优;对于访问次数较少,访问较不频繁的冷数据,通过减少其副本数目以降低副本的创建与存储成本,使其计算成本与计算时间达到最优。[0006]其具体过程为:根据对负载中数据访问情况的分析,通过数据流行度分类机制,以同一时刻数据的访问次数作为参考指标,以Hadoop分布式存储系统系统默认数据备份数3为参考值,将数据划分为热数据和冷数据。其中,数据的访问次数大于或者等于3的为热数据,反之为冷数据。在此数据划分的基础上,由数据副本数目决策算法根据数据密集型计算成本模型计算数据作假副本数目。
[0007]进一步的,上述技术方案包括负载采集与输入模块,数据流行度分类机制模块,数据副本数目决策算法模块,数据副本数目自动调节模块;模块自上至下依次设置,负载采集与输入模块输入连接到数据流行度分类机制模块,数据流行度分类机制模块将数据分为冷数据与热数据后,作为输入连接到数据副本数目决策算法模块,所述数据副本数目决策算法模块输出最佳数据备份数之后,将此备份数作为输入连接到数据副本数目自动调节模块。
[0008]进一步的,上述技术方案:所述负载采集与输入模块实时对负载进行采样与处理,采样的时间长短(时间窗口)可根据用户对于所要求的分析精确程度进行调整。默认时间窗口为I小时,时间窗口越长,负载分析的精确度越高,反之越低。
[0009]进一步的,上述技术方案:所述数据流行度分类机制模块根据同一时刻对某数据的访问数量,将数据分为冷数据和热数据。具体地,当数据的同一时刻的访问量大于或者等于3的时候,数据为热数据,反之为冷数据。值得注意的是,所述方案中同一时刻某数据的访问量数目并不是最终的该数据备份数目。
[0010]进一步的,上述技术方案:所述数据副本数目决策算法模块首先建立数据密集型计算成本模型,根据目前主流的云计算平台一亚马逊弹性计算云系统的分级定价模型与定价标准,将数据密集型计算成本分为数据执行成本、数据存储成本与数据I/O读写成本三个部分,并按照公式(I)计算:
[0011]Ctotal — Cexe+Gj^rage+Gi。 (I)
[0012]公式(I)中,Cttrtal代表计算总成本,Cexe代表数据执行成本,Cstorage代表数据存储成本,Cio代表数据I/O读写成本,Ctotal, Cexe, Cstorage分别按照公式(2)、(3)、(4)计算:
【权利要求】
1.一种基于MapReduce机制的数据密集型计算成本优化方法,其特征在于:技术方案包括负载采集与输入模块,数据流行度分类机制模块,数据副本数目决策算法模块,数据副本数目自动调节模块;模块自上至下依次设置,负载采集与输入模块输入连接到数据流行度分类机制模块,数据流行度分类机制模块将数据分为冷数据与热数据后,作为输入连接到数据副本数目决策算法模块,所述数据副本数目决策算法模块输出最佳数据备份数之后,将此备份数作为输入连接到数据副本数目自动调节模块; 具体过程为:根据对负载中数据访问情况的分析,通过数据流行度分类机制,以同一时刻数据的访问次数作为参考指标,以Hadoop分布式存储系统系统默认数据备份数3为参考值,将数据划分为热数据和冷数据;其中,数据的访问次数大于或者等于3的为热数据,反之为冷数据;在此数据划分的基础上,由数据副本数目决策算法根据数据密集型计算成本模型计算数据作假副本数目; 这种优化方法根据负载中数据流行程度动态改变Map子任务的副本数目;对于访问次数较多,访问较频繁的热数据,通过增加副本数目以减少文件抢夺和网络的带宽资源竞争,使计算成本与计算时间达到最优;对于访问次数较少,访问较不频繁的冷数据,通过减少副本数目以降低副本的创建与存储成本,使计算成本与计算时间达到最优。
2.根据权利要求1所述的一种基于MapReduce机制的数据密集型计算成本优化方法,其特征在于:数据副本数目决策算法模块建立了数据密集型计算成本模型,根据目前主流的云计算平台——亚马逊弹性计算云系统的分级定价模型与定价标准,将数据密集型计算总成本分为数据执行成本、数据存储成本与数据I/O读写成本三个部分,并按照公式(I)计算:
?total Cexe+Cst0rage+Ci0 ( I ) 公式(I)中,Ctotal代表计算总成本,Cexe代表数据执行成本,Cstorage代表数据存储成本,Cio代表数据I/O读写成本,Ctotal, Cexe, Cstorage分别按照公式(2)、(3)、(4)计算:
Cexe = UexeXNmXTtotal (2)
Cstorage ^storage 父 ^total 父 ^total ( 3 )
IX ^tOtul X Rf.^1Q X ^IOIal( ^io -1write t ^read -Δ,^β, — 公式(2) (3) (4)中,u_代表计算执行单价,u_由云计算平台提供商提供,单位为美元每小时每个计算实例;Nm代表计算集群中的计算实例数量,单位为个;Ttotal代表计算总时间,单位为小时;ustOTage代表数据存储单价,由云计算平台提供商提供,单位为美元每个月每GB ;Stotal代表数据总量,包括原始数据及其数据备份,单位为GB ;ui0代表数据I/O读写单价,由云计算平台提供商提供,单位为美元每百万次读写请求;Rf代表数据备份数,单位为个; 其中,公式(4)的数据I/O读写成本可分为I/O写成本Cmite与I/O读成本C_d两部分;本发明中,成本计算模型将弹性块存储Elastic Block Store (EBS)作为数据默认存储方式,而EBS按照硬盘所使用的底层文件系统中的数据块大小收费;例如,在Linux系统中,ext3文件系统所使用的典型数据块大小为4KB ;因此,假设每一个数据块在经历每一个Map和Reduce操作时都会被读一次,同时,每一个数据备份都会被写一次,那么数据的写成本Cmite可表示为Ui。与总数据写请求次数的乘积,即St()talXRf/4KB ;而数据的读成本C—可表示为W。与总数据读请求次数的乘积,即Stotal/4KB。
3.根据权利要求1所述的一种基于MapReduce机制的数据密集型计算成本优化方法,其特征在于:数据副本数目决策算法模块建立数据密集型计算时间模型,并按照公式(5)计算:
Ttotal = Tcreate+Texe (5) 公式(5)中,Tupload代表数据上传时间,单位为小时;T_代表计算实例实际运行时间,单位为小时,Tupload、Texe分别按照公式(6)、(7)计算:
4.根据权利要求1所述的一种基于MapReduce机制的数据密集型计算成本优化方法,其特征在于:通过公式(1) (2) (3) (4) (5),将数据创建成本转换为数据执行成本、数据存储成本与数据1/O读写成本,并按照公式(8)计算:

5.根据权利要求1所述的一种基于MapReduce机制的数据密集型计算成本优化方法,其特征在于:以成本为最终优化目标,建立密集型计算总成本与数据副本数目之间的关系,通过成本模型确定数据副本数目,从而达到成本最优化。
【文档编号】G06F17/30GK103593452SQ201310590839
【公开日】2014年2月19日 申请日期:2013年11月21日 优先权日:2013年11月21日
【发明者】杨扬, 孙莉莉, 米振强 申请人:北京科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1