分布式DAG系统的自适应优化方法和装置制造方法及图纸

技术编号:14454865 阅读:105 留言:0更新日期:2017-01-19 02:44
本申请公开一种分布式DAG系统的自适应优化方法和装置,其中该方法包括:获取每个计算节点的性能数据;根据所述性能数据分别计算每个计算节点处理数据记录的时间,并根据计算节点处理数据记录的时间计算该计算节点的并发度;根据计算得到的并发度调整系统当前的并发度。通过本申请,能够使计算流水线满负载一致运行,在大幅节约机器成本的同时提升系统性能。

【技术实现步骤摘要】

本申请涉及计算机
,尤其涉及一种分布式DAG系统的自适应优化方法和装置。
技术介绍
DAG(Directedacyclicgraph,有向无环图)可用于描述分布式离线/在线系统的工作流程图。图1示例了增量计算平台(Galaxy)某个任务(Job)的DAG拓扑图,图1中的每个计算节点(Model)由多个执行单元(Executor)并发运行。在典型的分布式离线/在线计算平台中,计算节点的类型可能包含有映射处理(Mapper)、归约处理(Reduce)、聚合处理(Merger)中的一种或者几种。在DAG系统中,数据流从DAG图的根节点(即Source节点)流入,经过各级运算节点,从叶子节点(即Output节点)流出。在DAG中可能有1个或者多个根节点,在图1中包含有两个根节点:计算节点0和计算节点1;叶子节点也可能有一个或者多个,在图1中包含有4个叶子节点:计算节点16(Merger)、计算节点17(Merger)、计算节点18(Merger)和计算节点19(Merger)。DAG拓扑图各级计算节点的计算对数据流形成了流水线,数据分批次从根节点流入,逐级经过各级计算计算节点后,结果从叶子节点输出。其中,计算节点的计算能力与速度,可以由该计算节点的并发度,即执行单元(Executor)的并发数目调整。满负载完美运行的系统要求DAG中的所有计算节点计算能力具有一致性,如果某个计算节点的计算能力小于上级计算节点,那么上级计算节点输出的数据将在该计算节点堆积等待处理,并由此影响系统的吞吐性能。在现有技术中,广泛使用的分布式离线/在线基于流水线的计算平台对计算节点并发度的设置依赖于人工设定,并在任务(Job)运行的生命周期保持不变,具体步骤如下:(1)用户或者系统管理员在提交任务前,在配置文件中指定计算节点的并发度;(2)系统在提交任务时读入配置文件,并据此设置各个计算节点的运行并发度;(3)各个计算节点的并发度保持不变,直至任务运行结束。现有的技术对计算节点并发度的设置依赖于人工设定,并在任务运行的生命周期内保持不变,具有如下缺点:(1)依赖于人工经验设置很难得到完美的并发参数,使得DAG各级流水线能够一致协调运行。如前所述,参数需要在任务提交前设置,所以在首次设置参数时并不知道各计算节点运行时的真实性能。用户可能需要多次迭代:设置参数-提交任务运行-观察性能-重新设置参数-再次提交任务……;这样才能得到一组相对合适的参数运行任务。而且依赖于人工观察与设置,参数很可能并非最优配置。(2)不能适应集群环境变化。在任务运行的生命周期内,任务运行的机器环境可能发生变化。比如机器出现故障,任务从原先的几台机器,调度到另几台机器运行;由于集群其他任务的运行,影响了任务的网络吞吐或者磁盘读写速度等。运行环境的变化,将影响计算节点的处理速度,即虽然设置的并发度不变,但是计算节点的实际运行速度发生了变化。因此,原先设置的参数可能将不再适用。(3)不能适应数据流的变化。在实时流式处理系统中,数据流通常并非稳定的,随着业务需求可能有显著的峰值流量与空闲流量。固定不变的参数不能反映数据流的变化。为了适应峰值流量,通常需要设置较大的并发度,造成了集群资源的浪费。上述缺点将带来如下后果:(1)浪费机器资源。某个或者某几个计算节点设置的并发度可能高于运行时刻的实际需求,集群浪费资源运行空转的执行单元,等待数据。(2)集群性能低于源头速度。流水线的吞吐受制于运转最慢的一级流水线或者其中的某个计算节点。不合适的参数设置使得流水线可能存在明显的短板,集群吞吐远低于可以达到的理论最佳值。
技术实现思路
本申请的主要目的在于提供一种分布式DAG系统的自适应优化方法和装置,以克服现有技术中的固定不变及非最优化的节点并发度导致降低系统运行效率的技术问题。根据本申请实施例提供了一种分布式有向无环图DAG系统的自适应优化方法,所述分布式DAG系统包括多个计算节点,所述方法包括:获取每个计算节点的性能数据;根据所述性能数据分别计算每个计算节点处理数据记录的时间,并根据计算节点处理数据记录的时间计算该计算节点的并发度;根据计算得到的并发度调整系统当前的并发度。其中,所述方法还包括:对所述DAG系统进行广度优先遍历,获取遍历到的计算节点的性能数据并根据所述性能数据计算该计算节点处理一条数据记录的时间,根据计算节点处理一条数据记录的时间计算该计算节点的并发度。其中,所述计算节点的类型包括以下的一种或多种:映射处理节点、归约处理节点、聚合处理节点;所述方法还包括:根据计算节点的类型获取该计算节点的性能数据。其中,所述方法还包括:将获取到的计算节点的性能数据存储至存储系统;从所述存储系统读取存储的性能数据,并根据读取的性能数据计算计算节点处理数据记录的时间。其中,进一步包括:对于映射处理节点,获取映射处理节点执行一条数据记录的时间;根据以下公式计算映射处理节点处理数据记录的时间:ppti=li,其中,l为映射处理节点执行一条数据记录的时间。其中,进一步包括:对于归约处理节点,获取归约处理节点执行预定批次数据所花费的时间以及执行预定批次数据的数据数量;根据以下公式计算映射处理节点处理数据记录的时间:ppti=fi/ti,其中,f为归约处理节点执行预定批次数据所花费的时间、t为归约处理节点执行预定批次数据的数据数量。其中,进一步包括:对于聚合处理节点,获取聚合处理节点执行预定批次数据所花费的时间、执行预定批次数据的数据数量、生成检查点所需时间、生成一次检查点所间隔的数据批次;根据以下公式计算聚合处理节点处理数据记录的时间:ppti=max(fi/ti,cpti/ti*cbi),其中,f为聚合处理节点执行预定批次数据所花费的时间、t为聚合处理节点执行预定批次数据的数据数量、cpt为生成检查点所需时间、cb为生成一次检查点所间隔的数据批次。其中,根据以下公式计算计算节点的并发度:adjV.dop=Sum(v.dop*v.ratio*adjV.ppt/v.ppt),其中,adjV为当前计算节点、v是当前计算节点的上游邻接计算节点、Sum()表示对当前计算节点的所有上游邻接计算节点求和、ratio为计算节点的吞吐率。其中,所述根据计算得到的新的并发度调整系统当前的并发度,包括:对比计算得到的新的并发度与系统当前的并发度,如果差值大于预设阈值则初始化系统并以新的并发度运行系统。根据本申请实施例还提供一种分布式DAG系统的自适应优化装置,所述分布式DAG系统包括多个计算节点,所述装置包括:数据获取模块,用于获取每个计算节点的性能数据;计算模块,用于根据所述性能数据分别计算每个计算节点处理数据记录的时间,并根据计算节点处理数据记录的时间计算该计算节点的并发度;自适应优化模块,用于根据计算得到的并发度调整系统当前的并发度。其中,所述计算模块还用于,对所述DAG系统进行广度优先遍历,获取遍历到的计算节点的性能数据并根据所述性能数据计算该计算节点处理一条数据记录的时间,根据计算节点处理一条数据记录的时间计算该计算节点的并发度。其中,所述计算节点的类型包括以下的一种或多种:映射处理节点、归约处理节点、聚合处理节点;所述数据获取模块还用于,根据计算节点的类型获取该计算本文档来自技高网
...

【技术保护点】
一种分布式有向无环图DAG系统的自适应优化方法,所述分布式DAG系统包括多个计算节点,其特征在于,所述方法包括:获取每个计算节点的性能数据;根据所述性能数据分别计算每个计算节点处理数据记录的时间,并根据计算节点处理数据记录的时间计算该计算节点的并发度;根据计算得到的并发度调整系统当前的并发度。

【技术特征摘要】
1.一种分布式有向无环图DAG系统的自适应优化方法,所述分布式DAG系统包括多个计算节点,其特征在于,所述方法包括:获取每个计算节点的性能数据;根据所述性能数据分别计算每个计算节点处理数据记录的时间,并根据计算节点处理数据记录的时间计算该计算节点的并发度;根据计算得到的并发度调整系统当前的并发度。2.根据权利要求1所述的方法,其特征在于,还包括:对所述DAG系统进行广度优先遍历,获取遍历到的计算节点的性能数据并根据所述性能数据计算该计算节点处理一条数据记录的时间,根据计算节点处理一条数据记录的时间计算该计算节点的并发度。3.根据权利要求1所述的方法,其特征在于,所述计算节点的类型包括以下的一种或多种:映射处理节点、归约处理节点、聚合处理节点;所述方法还包括:根据计算节点的类型获取该计算节点的性能数据。4.根据权利要求3所述的方法,其特征在于,还包括:将获取到的计算节点的性能数据存储至存储系统;从所述存储系统读取存储的性能数据,并根据读取的性能数据计算计算节点处理数据记录的时间。5.根据权利要求3所述的方法,其特征在于,进一步包括:对于映射处理节点,获取映射处理节点执行一条数据记录的时间;根据以下公式计算映射处理节点处理数据记录的时间:ppti=li,其中,l为映射处理节点执行一条数据记录的时间。6.根据权利要求3所述的方法,其特征在于,进一步包括:对于归约处理节点,获取归约处理节点执行预定批次数据所花费的时间以及执行预定批次数据的数据数量;根据以下公式计算映射处理节点处理数据记录的时间:ppti=fi/ti,其中,f为归约处理节点执行预定批次数据所花费的时间、t为归约处理节点执行预定批次数据的数据数量。7.根据权利要求3所述的方法,其特征在于,进一步包括:对于聚合处理节点,获取聚合处理节点执行预定批次数据所花费的时间、执行预定批次数据的数据数量、生成检查点所需时间、生成一次检查点所间隔的数据批次;根据以下公式计算聚合处理节点处理数据记录的时间:ppti=max(fi/ti,cpti/ti*cbi),其中,f为聚合处理节点执行预定批次数据所花费的时间、t为聚合处理节点执行预定批次数据的数据数量、cpt为生成检查点所需时间、cb为生成一次检查点所间隔的数据批次。8.根据权利要求5、6或7所述的方法,其特征在于,根据以下公式计算计算节点的并发度:adjV.dop=Sum(v.dop*v.ratio*adjV.ppt/v.ppt),其中,adjV为当前计算节点、v是当前计算节点的上游邻接计算节点、Sum()表示对当前计算节点的所有上游邻接计算节点求和、ratio为计算节点的吞吐率。9.根据权利要求1所述的方法,其特征在于,所述根据计算得到的新的并发度调整系统当前的并发度,包括:对比计算得到的新的并发度与系统当前的并发度,如果差值大于预设阈值则初始化系统并以新的并发度运行系统。10.一种分布式DAG系统的自适应优化装置,所述分布式DAG系统包括多个计算节点,其特征在于,所述装置包括:数据获取模块,用于获取每个计算节点的性能数据;计算模块,用于根据所述性...

【专利技术属性】
技术研发人员:黄益聪强琦余骏金晓军廖新涛
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

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

1