一种基于数据持久化的Spark平台成本优化方法技术

技术编号:19121702 阅读:35 留言:0更新日期:2018-10-10 05:01
本发明专利技术公开了一种基于数据持久化的Spark平台成本优化方法,包括构建基准成本率模型,构建目标应用程序的Attention‑DAG图即注意力‑有向无环图,结合Spark Checkpoint特性构建成本优化方案,根据成本优化方案对目标应用程序进行同环境配置下的执行等步骤。本发明专利技术的积极效果是:(1)提出一种广义分布式云计算环境下的基准成本率模型。对于具有不同工作特点的分布式计算框架来说,该基准成本率模型能够为评价优化算法的效果提供一种统一量纲的量化指标。(2)提出了一种基于数据持久化的Spark平台成本优化方法。该方法可作为一种成本优化的方法论,能够广泛用于任意具有持久化机制的系统或框架中,其核心思想是寻求计算成本与存储成本的平衡。

【技术实现步骤摘要】
一种基于数据持久化的Spark平台成本优化方法
本专利技术属于云计算领域,尤指一种基于数据持久化(persist)的Spark平台成本优化方法。
技术介绍
分布式云平台资源成本的优化问题一直是各大云服务提供商重点关注的热点话题之一,因为尽可能地降低租户的租赁成本是提升各大云服务提供商竞争力的有效途径,同时也进一步实现云端资源利用率的最大化。近些年,以基于内存迭代为特点的分布式计算框架Spark逐渐夺得工业界及学术界的青睐。在工业领域,Spark的成功应用案例已不计其数,例如腾讯广点通以及Yahoo的AudienceExpansion都是Spark较早的应用成果;而在学术界,研究人员使用Spark快速处理一些较为庞大的数据,例如天文数据等。随着Spark版本的不断更新,其计算效率已不再是人们所关注的问题,庞大的生产集群逐渐产生昂贵的运维费用,而云端资源的不合理分配使得公司的成本问题愈加突显,因此,云端分布式计算框架在计算过程中的成本优化问题是当下各大IT公司亟待解决的难题之一。以广义云端资源优化问题为研究背景的成果已有很多,同时近两年也逐渐涌现出一些针对特定分布式计算框架的资源优化成果。1)彭舰,李亮亮,黎红友.一种混合云环境中动态多工作流调度执行的费用优化策略,CN107292419A[P].2017.提出一种在混合云环境下动态多工作流调度的费用优化方法。该方法采用启发式调度算法为工作流分配私有云资源,并结合使用多约束的工作流分割思想,将原始流分解为子工作流,并分别调度到合适的公有云中执行,一定程度上提高混合云场景下的资源利用率。2)王国路,徐俊刚,刘仁峰.一种Spark平台性能自动优化方法,CN105868019A[P].2016.该专利技术提出一种Spark平台的性能自动优化方法。根据Spark的执行原理进行性能建模,通过获取历史Spark运行时的性能数据来估计Spark性能模型的参数,在有限参数空间中选出最优性能参数组合。该方法有助于快速完成对Spark特定应用程序的性能优化。通过近两年的相关专利情况来看,无论是广义云平台或是特定分布式计算框架,其研究成果大多集中在性能优化或是资源调度优化。而在海量数据处理的背景下,除了关注分布式计算框架的性能优化外,如何降低整个应用程序的资源消耗成本,同样是是当下人们关注的焦点问题之一。云端数据的状态有两种:计算或是存储。对于当下集群按需收费的模式,且计算资源单价远高于存储资源单价,因此,可以在平衡两种数据状态间找到合适的策略以降低整个作业的资源消耗成本。这些基准成本由CPU利用率、磁盘消耗、网络传输消耗以及内存占用所组成。因此,对于云计算环境中资源消耗的成本问题,需要在上述四个因素中找到权衡。
技术实现思路
鉴于当下云计算资源按需收费,且计算资源单价远高于存储的现状,本专利技术的目的是在平衡两种数据状态间找到合适的策略以降低整个作业的资源消耗成本。实现本专利技术目的的技术方案如下:一种基于数据持久化的Spark平台成本优化方法,包括:步骤一:构建基准成本率模型,定义数据分片在计算或存储状态下单位时间的成本消耗,包括:1)根据云服务提供商的定价标准,引入资源实例单价参数,包括CPU:CostC,磁盘存储:CostD,内存:CostM;2)根据数据分片的两种存在状态即计算或持久化,分别定义其基准成本模型,包括:计算di:上式中,di指代数据分片,ta(di)表示由di前一块数据分片生成di所需的时间,表示di之前所有连续未被持久化的数据分片集合,djindfront(di)表示di的一个数据分片前驱节点dj;磁盘持久化di:CostDpersist(di)=dsize×CostD×ts;上式中,dsize表示di所占用Hadoop分布式文件系统的大小,ts表示di被持久化在磁盘中的时间;内存持久化di:CostMpersist(di)=0,α<1,CostMpersist(di)=(Permem-s_mem_left)×CostD×tj,α≥1;上式中,α为启动混合介质持久化的阈值,用于判定是否需要混合介质持久化,α=(Permem/s_mem_left);Permem表示di被持久化所需的内存大小,s_mem_left表示可被用作持久化的内存的剩余空间,tj表示di被持久化在内存中的时间;3)引入基准成本率模型,将不同量纲的基准成本模型进行统一计算,其含义为单位时间内资源的成本花费,包括:持久化资源基准成本率:计算资源基准成本率:CostRcom(di)=Costcom(di)×f(di);上式中,f(di)表示di被重复使用的频率;步骤二:构建目标应用程序的Attention-DAG图即注意力-有向无环图,包括:1)根据SparkDAG图,确定所有复用RDD以及复用RDD的所有出度与出边方向;2)抽取复用RDD所在Job中的全部RDD;一个Job中的全部RDD按照其计算顺序组成Attention-DAG中的一个阶段,多个Job在Attention-DAG图中产生多个阶段;根据复用RDD的出度以及出边方向,在图中的复用RDD间连线,以此构建应用程序的Attention-DAG图;步骤三:结合SparkCheckpoint特性,构建成本优化方案,如下:对Attention-DAG图中的RDD逐一进行下述操作:1)对RDD即数据分片di做出是否持久化的判断,包括:计算di的计算资源基准成本率CostRcom(di)和持久化资源基准成本率CostRpersist(di);若CostRcom(di)>CostRpersist(di),则将该di标注为持久化状态,令其成本率为CostR(di)=CostRpersist(di);同时使用PInfo(di)保存di前驱RDD节点的元数据信息,即令PInfo(di)=Lineage(di),其中Lineage代表RDD父子节点间的血统关系;若CostRcom(di)<CostRpersist(di),则该di的状态不做更改,令其成本率为CostR(di)=CostRcom(di);2)对于前驱RDD节点数据分片dj∈dfront(di),先将其预标注为持久化状态,并对dfront(di)集合中的成员进行更新,得到dNewfront(di)=dfront(di)-dj-dfront(dj);计算此时di的成本率NCostR(di),其中dmindNewfront(di)表示di的一个数据分片前驱节点dm;若NCostR(di)<CostR(di),则将该dj实际标注为持久化状态,并更新di的成本率为CostR(di)=NCostR(di),以及令dj的成本率为CostR(dj)=CostRpersist(dj);否则,去掉dj的预标注,其状态不做更改;步骤四:根据成本优化方案,对目标应用程序进行同环境配置下的执行。进一步地,还包括步骤:若目标应用程序中存在迭代时间占整体计算时间超过60%的数据分片,对该计算链条上已标记为持久化的数据分片di进行下述判断,如满足Costcom(di)/CostRpersist(di)>N×Tone×(1-θ),则去掉该di的持久化状本文档来自技高网
...
一种基于数据持久化的Spark平台成本优化方法

【技术保护点】
1.一种基于数据持久化的Spark平台成本优化方法,其特征在于,包括:步骤一:构建基准成本率模型,定义数据分片在计算或存储状态下单位时间的成本消耗,包括:1)根据云服务提供商的定价标准,引入资源实例单价参数,包括CPU:CostC,磁盘存储:CostD,内存:CostM;2)根据数据分片的两种存在状态即计算或持久化,分别定义其基准成本模型,包括:计算di:

【技术特征摘要】
1.一种基于数据持久化的Spark平台成本优化方法,其特征在于,包括:步骤一:构建基准成本率模型,定义数据分片在计算或存储状态下单位时间的成本消耗,包括:1)根据云服务提供商的定价标准,引入资源实例单价参数,包括CPU:CostC,磁盘存储:CostD,内存:CostM;2)根据数据分片的两种存在状态即计算或持久化,分别定义其基准成本模型,包括:计算di:上式中,di指代数据分片,ta(di)表示由di前一块数据分片生成di所需的时间,表示di之前所有连续未被持久化的数据分片集合,djindfront(di)表示di的一个数据分片前驱节点dj;磁盘持久化di:CostDpersist(di)=dsize×CostD×ts;上式中,dsize表示di所占用Hadoop分布式文件系统的大小,ts表示di被持久化在磁盘中的时间;内存持久化di:CostMpersist(di)=0,α<1,CostMpersist(di)=(Permem-s_mem_left)×CostD×tj,α≥1;上式中,α为启动混合介质持久化的阈值,用于判定是否需要混合介质持久化,α=(Permem/s_mem_left);Permem表示di被持久化所需的内存大小,s_mem_left表示可被用作持久化的内存的剩余空间,tj表示di被持久化在内存中的时间;3)引入基准成本率模型,将不同量纲的基准成本模型进行统一计算,其含义为单位时间内资源的成本花费,包括:持久化资源基准成本率:计算资源基准成本率:CostRcom(di)=Costcom(di)×f(di);上式中,f(di)表示di被重复使用的频率;步骤二:构建目标应用程序的Attention-DAG图即注意力-有向无环图,包括:1)根据SparkDAG图,确定所有复用RDD以及复用RDD的所有出度与出边方向;2)抽取复用RDD所在Job中的全部RDD;一个Job中的全部RDD按照其计算顺序组成Attention-DAG中的一个阶段,多个Job在Attention-DAG图中产生多个阶段;根据复用RDD的出度以及出边方向,在图中的复用RDD间连线,以此构建应用程序的Attention-DAG图;步骤三:结合SparkCheckpoint特性,构建成本优化方案,如下:对Attention-DAG图中的RDD逐一进行下述操作:1)对RDD即数据分片di做出是否...

【专利技术属性】
技术研发人员:滕飞宁尚明李天瑞杜圣东
申请(专利权)人:西南交通大学
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1