首页> 中国专利> 一种大数据处理平台配置的自动优化方法

一种大数据处理平台配置的自动优化方法

摘要

本发明提供一种大数据处理平台配置的自动优化方法。该方法根据以下步骤收集配置参数训练集:随机生成大数据处理平台的一组配置参数,运行该组配置参数,并对执行时间t进行监测,当执行时间t超过动态设置的最大准许时间Tmax时,终止运行;在配置参数运行过程中,根据执行时间t的波动情况确定是否退出收集配置参数训练集的过程;决定退出收集配置参数训练集的过程后,在所有运行成功的配置参数中选择执行时间最短的一组配置参数作为最优配置参数。本发明能够准确找出最优配置的前提下,显著缩短数据收集时间。

著录项

  • 公开/公告号CN113032033A

    专利类型发明专利

  • 公开/公告日2021-06-25

    原文格式PDF

  • 申请/专利权人 中国科学院深圳先进技术研究院;

    申请/专利号CN201911234883.1

  • 发明设计人 陈超;喻之斌;

    申请日2019-12-05

  • 分类号G06F9/445(20180101);

  • 代理机构11430 北京市诚辉律师事务所;

  • 代理人耿慧敏

  • 地址 518055 广东省深圳市南山区深圳大学城学苑大道1068号

  • 入库时间 2023-06-19 11:35:49

说明书

技术领域

本发明涉及计算机技术领域,尤其涉及一种大数据处理平台配置的自动优化方法。

背景技术

近年来,随着互联网技术的快速发展,大数据得到了越来越多的应用。例如,为了快速处理大数据,加州大学伯克利分校的AMP实验室设计了Spark大数据系统通用并行框架。它使用BSD开源许可,并于2013年被捐赠给了Apache软件基金会。Spark涵盖各种负载,如批处理程序、用户交互式程序、迭代算法等。它扩展了MapReduce模型,通过内存集群计算,大大减少了磁盘的读/写操作,从而大幅提升了数据处理速度。

Spark框架在运行过程中性能会受到配置参数的影响。由于应用程序的特性不同,在程序运行过程中如果使用默认参数,在很多情况下会限制系统的性能,无法充分使用系统资源。因此人们提出了自动配置参数调优方法。该类参数调优方法首先通过收集不同参数下的运行时间,然后运行人工智能等方法对配置参数和运行时间的关系进行训练,从而得到性能模型。在对新数据进行处理时,通过搜索性能模型得到合适的配置,从而达到优化配置参数的目的。

现有的Spark自动配置参数调优方法需要收集大量的不同配置参数下的运行时间(通常需要运行数百组至数千组数据),然后使用这些原始数据进行训练。由于在使用较差配置参数时程序的运行时间非常长(较差配置参数和较优配置参数的运行时间可以相差几十倍),导致在创建训练集时需要的时间成本非常高。

发明内容

本发明的目的在于克服上述现有技术的缺陷,提供一种基于大数据处理平台配置的自动优化方法,能够有效地避免较差配置情况下的超长运行时间,显著缩短训练集的收集过程。

本发明提供一种大数据处理平台配置的自动优化方法。该方法根据以下步骤收集配置参数训练集:

随机生成大数据处理平台的一组配置参数,运行该组配置参数,并对执行时间t进行监测,当执行时间t超过动态设置的最大准许时间T

在配置参数运行过程中,根据执行时间t的波动情况确定是否退出收集配置参数训练集的过程;

决定退出收集配置参数训练集的过程后,在所有运行成功的配置参数中选择执行时间最短的一组配置参数作为最优配置参数。

在一个实施例中,根据以下步骤确定是否退出收集配置参数训练集的过程:

设定时间改进值为

设置时间阈值为T

n的初始值为n=0,当每次运行成功且δ≤T

当n大于设定的次数阈值时,则决定退出收集配置参数训练集的过程。

在一个实施例中,根据以下步骤确定是否退出收集配置参数训练集的过程:

设置程序终止的次数n

在一个实施例中,根据以下步骤确定最大准许运行时间T

将最大准许时间T

在一个实施例中,Δt设置为固定值5秒。

在一个实施例中,每次运行时,将运行时间和运行状态表示为s={P,F,T,N},其中状态P表示成功运行,状态F表示由于配置参数的原因运行失败,状态T表示由于超过最大准许时间T

与现有技术相比,本发明的优点在于:提出了针对大数据处理平台采用随机配置参数运行程序时设置最大准许时间,从而避免长时间运行配置较差参数,有效地减少了数据收集的时间;提出了利用执行时间的波动情况决定退出数据收集的条件,从而确保能够在找到最优配置参数后及时退出,并使得在配置参数优化空间很小的情况下避免因为过度追求很小改进而浪费太多数据收集时间。

附图说明

以下附图仅对本发明作示意性的说明和解释,并不用于限定本发明的范围,其中:

图1是根据本发明一个实施例的大数据处理平台配置的自动优化方法的过程示意;

图2是根据本发明一个实施例的大数据处理平台配置的自动优化方法的流程图;

图3是现有技术和本发明在数据收集所花费时间的对比图;

图4是现有技术和本发明在运行最优配置时所花费时间的对比图。

具体实施方式

为了使本发明的目的、技术方案、设计方法及优点更加清楚明了,以下结合附图通过具体实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用于解释本发明,并不用于限定本发明。

在本文示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。

参见图1所示,本发明实施例提供的大数据处理平台配置的自动优化方法包括:步骤S110,随机生成大数据处理平台的一组配置参数,运行该组配置参数,并对执行时间进行监测,当执行时间t超过设定的最大准许时间时,终止运行;步骤S120,在配置参数运行过程中,根据执行时间t的波动情况确定是否退出收集配置参数训练集的过程;步骤S130,在决定退出收集配置参数训练集的过程后,在所有运行成功的配置参数中选择执行时间最短的一组配置参数作为最优配置参数。简言之,本发明随机生成配置参数,并通过限制运行时间以及基于运行时间的改进情况决定是否退出数据收集来减少训练集的收集时间。

以Spark平台为例,本发明每次采用随机数生成Spark配置参数,然后使用该组参数得到相应的运行时间。同时根据之前运行的时间,来确定新生成的配置参数的最大准许运行时间。如果程序运行时间超过最大准许时间,则终止该程序的运行。在运行过程中,如果达到退出条件,则退出配置参数和运行时间的收集过程。在退出之后,在所有运行成功配置参数中时间最短的那组参数即对应着最优配置参数。

具体地,参见图2所示,本发明实施例的工作流程由5个阶段组成,分别是生成随机配置参数、运行程序、决定是否退出运行、更新最大准许时间、确定最优配置。在下文,将分别具体介绍。

1)、生成随机配置参数

该阶段首先确定每个配置参数的取值范围,然后在取值范围内随机生成参数。

例如,配置参数可以分为以下几类:

使能型参数:该类型参数用来启动或终止某项功能,用True和False来表示使能/禁止状态,如是否对溢写数据进行压缩。本发明对该类型参数随机生成True或者False。

类别型参数:该类型参数用来在几项功能中选择一项功能,如从4种压缩的编码解码器类型(l24,lzf,snappy和zstd)进行选择。本发明对该类型参数随机选择并生成相应的参数。

连续型参数:该类型参数用来在一定范围内进行参数配置,具体分为整数型(如需要的计算机核数)和浮点型(如堆中用来进行程序运行和存储的内存百分比)连续参数。本发明根据系统的实际物理资源,确定该类型参数的范围,然后在该范围内随机生成需要的整数型或者浮点型参数。

2)、运行程序

该阶段使用上一步随机生成的参数,运行给定程序,运行过程中对运行时间t进行监测,当运行时间超过给定的最大准许时间T

为了能够随时终止程序,本发明在运行程序时在系统里创建新的进程,并用该进程运行Spark框架。由于Spark框架具有容错性,它在启动时会创建新的进程,当它的某个任务被终止时,Spark认为发生意外,会重新启动该任务。因此本发明在终止程序时将所有相关进程都终止,而不仅仅局限于Spark框架本身的进程。

3)决定是否退出运行

该阶段根据退出条件决定是否退出程序的运行。

在一个实施例中,根据程序运行时间的波动情况或称改进值来确定退出条件。

例如,程序运行时间改进值

具体地,当第一次运行成功时,将此运行时间设为t

在另一实施例中,根据程序被终止的次数决定是否退出程序的运行。

例如,程序在运行过程中,由于配置参数设置不合理,有可能会出现运行时间超长,或者运行失败的情况,因此程序会被终止掉。假设程序被终止的次数为n

应理解的是,在实际应用中,本发明提供的上述退出条件可以单独使用,也可以综合使用。

4)、更新最大准许时间

程序每次运行时需要一个最大准许时间T

具体地,本发明设定T

每次运行完一次程序,都会得到程序运行时间和它的运行状态s={P,F,T,N},其中状态P表示程序成功运行,状态F表示程序由于配置参数的原因运行失败,状态T表示程序超过最大准许时间T

5)、确定最优配置

当程序满足退出条件时,则退出运行。本发明从运行状态为状态P的运行时间中找到最小运行时间,该时间对应的配置参数即为最优配置。

为进一步验证本发明的效果和可行性,通过使用HiBench的程序,对Spark框架配置参数进行自动优化。选取了HiBench中的Kmeans和Bayes程序,对本发明和现有技术进行对比。

图3示出的是Kmeans和Bayes在数据收集所花费的时间(单位秒)。回归树算法(Regression Tree)和本发明(标记为Random)都对100组配置参数和运行时间数据进行数据收集。由于本发明可以限制每组的运行时间,因此有效避免了因为配置参数较差而产生的超长运行时间的情形。此外,在达到了退出标准之后,本发明及时退出,进一步减少了数据收集所需时间。由图3可以看出,现有技术在数据收集的时间花费上是本发明的10倍以上。

图4示出的是Kmeans和Bayes在运行不同配置时所花费的时间,其中Default表示使用Spark框架的默认配置,Regression Tree表示使用回归树算法所产生的最优配置,Random表示本发明所产生的最优配置。可以看出,回归树算法和本发明产生的最优配置可以大大提高Spark的运行速度,同时两者的速度比较接近。本发明并没有因为数据收集时间短而影响到最优配置的性能。

实验结果表明,通过在数据收集过程中设置最大准许时间以及在性能优化进步幅度很小时及时退出可以在提供最优配置的同时大幅度缩减数据收集所需的时间。与现有技术相比,本发明可以提供性能相似的最优配置参数,同时将数据收集速度提升10倍以上。

需要说明的是,本发明不仅可以在Spark框架中使用,也可以在其他的大数据处理平台使用,例如Hadoop和Flink等。

综上所述,相对于现有技术,本发明的优势主要体现在以下方面:

1)、现有的Spark配置参数自动调优方法花费很多时间收集配置参数和运行时间的关系。在此阶段,由于没有终止较差配置参数的运行时间,使得整个数据收集的时间非常长。本发明通过设置合理的最大准许时间,可以避免程序超长运行时间的情况,大幅度提高数据收集的效率。

2)、现有方法在收集数据的时候,没有明确的终止条件。现有方法收集完数据之后,通过人工智能等方法训练得到性能模型,但是对于具体需要收集多少组配置参数和运行时间的数据没有明确的标准,因此实施起来比较难以确定,很依赖于经验。本发明明确了两个退出条件,当达到退出标准时,可及时终止数据收集过程。

3)、同人工智能方法寻找最优配置相比,本发明寻找最优配置的方法非常简单,只需要找到合适状态下的最小运行时间即可,寻找最优配置的速度更快。

需要说明的是,虽然上文按照特定顺序描述了各个步骤,但是并不意味着必须按照上述特定顺序来执行各个步骤,实际上,这些步骤中的一些可以并发执行,甚至改变顺序,只要能够实现所需要的功能即可。

本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。

计算机可读存储介质可以是保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以包括但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。

以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号