Speedup Your Analytics: Automatic Parameter Tuning for Databases and Big Data Systems

论文地址
幻灯片

ABSTRACT

        Hadoop和Spark等数据库和大数据分析系统具有大量配置参数,用于控制内存分配、I/O优化、并行性和压缩。参数设置不当可能会导致性能显著下降和稳定性问题。然而,普通用户甚至专家管理员都很难理解和调整它们以实现良好的性能。在本教程中,我们回顾了数据库、Hadoop和Spark的现有自动参数调整方法,我们将其分为六类:基于规则、成本建模、基于仿真、实验驱动、机器学习和自适应调整。我们描述了不同自动参数调整算法的基础,并介绍了每种方法的优缺点。我们还重点介绍了真实世界的应用程序和系统,并确定了在处理云服务、资源异构性和实时分析方面的研究挑战。

1. MOTIVATION

        万维网、物联网(IoT)、电子商务和其他应用程序的持续增长每天都在生成大量不断增加的原始数据。数据分析平台,包括并行和分布式数据库系统以及大规模数据处理系统(如Hadoop MapReduce和Spark),已经出现,以帮助应对大数据挑战,即有效收集、处理和分析大量异构数据。在这样的规模下实现良好和稳健的系统性能是成功执行及时和经济高效分析的基础。然而,系统性能与大量配置参数直接相关,这些参数控制着系统执行的各个方面,从低级内存设置和线程数到高级决策,如调度和资源管理。配置参数设置不当会对整体系统性能和稳定性产生不利影响。
        使用自动配置参数调整技术是优化系统性能的一种有前途但具有挑战性的方法。主要挑战包括以下三个方面:(i)大而复杂的参数空间:数据库系统通常有数百个调优旋钮,而Hadoop和Spark各有大约200个可配置参数。更糟糕的是,一些参数可能以不同的方式影响不同查询/作业的性能,而某些参数组可能具有依赖性影响(即,一个参数的良好设置可能因另一个参数的设置而异)。(ii)系统规模和复杂性:随着数据分析平台的规模和复杂性增加,系统管理员可能需要配置和调整数百到数千个节点,其中一些节点配备了不同的CPU、存储、内存和网络技术。此外,通过并行或串行的迭代阶段和任务执行MapReduce或Spark工作负载,使得观察和建模工作负载性能具有挑战性。(iii)缺乏输入数据统计信息:调整数据库参数以加速搜索查询需要以前的统计信息或信息日志,而这些信息或日志可能不可用,特别是对于临时查询。对于MapReduce和Spark应用程序,数据统计信息很少可用,因为数据通常位于半结构化或非结构化文件中,并且在被访问之前是不透明的。
        通过在数据库系统、Hadoop MapReduce和Spark中提供自配置功能,已经有大量研究工作解决了这个问题。本教程将全面研究现有的参数调整方法,这些方法可以解决高资源利用率、快速响应时间和成本效益方面的各种挑战。鉴于所面临的各种挑战和场景,相应地提出了不同的策略和方法。我们将这些方法分为六大类:基于规则、成本建模、基于仿真、实验驱动、机器学习和自适应调整。这些方法将在数据库系统、Hadoop MapReduce和Spark的上下文中进行深入分析和比较。表1总结了每种方法的优缺点。
在这里插入图片描述

Table 1: Strengths and weaknesses of the various approaches for automatic parameter tuning

        在本教程中,我们将首先提供数据库和大数据系统参数调整的概述和示例。接下来,我们将介绍六个类别,对现有的调优方法进行分类,介绍每一类别的基本特征,并讨论它们各自的优缺点。最后,我们将重点介绍用于自动参数调整的真实应用程序和系统,并确定处理云服务、资源异构性和实时分析的研究挑战。
        据我们所知,这是第一篇讨论参数调整背景下最先进的研究工作和行业趋势的教程。我们已经确定了一些关于自动数据库调优的教程,这些教程主要来自VLDB和ICDE。然而,它们主要关注优化查询执行计划或其他更高级别的方面,例如数据库上的索引和物化视图创建。另一方面,本教程重点介绍参数调优方面的最新工作,这可以优化整个系统的整体性能。此外,本教程还介绍了流行的大数据分析平台(即Hadoop和Spark)的自动调优。本教程的幻灯片可在线获取。

2. COVERED TOPICS

2.1 Background and Classification

        调优的性能优势在业界是众所周知的,有时以改进的数量级来衡量,而不良配置(或错误配置)可能会导致性能显著降低。在过去的十年中,人们对数据库和大规模数据处理系统中的参数自动调整进行了大量的研究。我们将这些方法分为六类:

  1. 基于规则的方法帮助用户根据专家的经验、在线教程或调整说明调整系统参数。它们通常不需要模型,适合于快速引导系统。
  2. 成本建模方法通过对系统内部的深入理解,使用统计成本函数建立高效的性能预测模型。建立模型不需要或很少需要实验日志。
  3. 基于仿真的方法基于模块化或完整系统仿真构建性能预测模型,使用户能够在不同参数设置或集群资源下模拟执行。
  4. 实验驱动的方法在搜索算法和实际运行提供的反馈的指导下,以不同的参数设置重复执行应用程序,即实验。
  5. 机器学习方法通过使用机器学习方法建立性能预测模型。他们通常将复杂系统视为一个整体,并假设不了解系统内部。
  6. 自适应方法在应用程序运行时自适应调整配置参数,这意味着它们可以随着环境的变化调整参数设置。它们支持调整特别是应用程序。

        在本教程中,我们将在数据库系统、Hadoop MapReduce和Spark的上下文中对这些方法进行深入分析和比较。

2.2 Parameter Tuning on Database Systems

        几个配置参数(例如缓冲区缓存大小、死锁超时)可以显著影响DBMS的性能。过去的几种方法都解决了参数调整的一般问题,每种方法都试图解决以下一个或多个特定问题:(i)避免容易出错的配置设置;(ii)根据参数对系统性能的影响对参数进行排序;(iii)分析查询,以收集有用的日志信息,供以后预测和使用;(vi)在假设的资源或参数变化下预测数据库或工作负载性能;和(v)推荐和调整参数值以实现目标。表2从方法、支持的参数和目标问题方面比较了选定的参数调整方法。

2.3 Parameter Tuning on HadoopMapReduce

        Hadoop MapReduce和两个并行数据库系统之间的早期比较研究表明,Hadoop在执行各种数据密集型分析工作负载时的速度要慢3.1到6.5倍。基于这些结果,两项性能研究对Hadoop进行了深入分析,以确定影响其性能的最重要因素和配置参数。这两项研究都得出结论,通过仔细调整这些因素和参数,Hadoop的整体性能可以显著提高,并与并行数据库系统的性能更具可比性。这些结果刺激了大量自动调整配置参数的工作,这些参数控制着MapReduce作业行为的各个方面(例如,任务并发性、内存分配、I/O性能)。具体来说,我们已经确定了40多种被高度引用的方法,这些方法跨越了我们的六个类别,并在过去10年内发表。

2.4 Parameter Tuning on Spark

        Spark现在是最流行的大规模数据处理平台之一,旨在加速广泛应用中的大规模数据分析,例如训练机器学习模型和处理流数据。调整Spark系统性能至关重要,因为快速高效的性能可以节省时间并提高集群资源利用率;因此,要提高成本效益。Spark性能由200多个参数控制,其中约30个参数可以对工作性能产生重大影响。这些参数主要影响计算资源的执行和分配的某些方面,例如CPU、内存和网络。在本教程的这一部分中,我们将对过去4年中发表的超过15种方法进行深入分析,这不仅有利于从事相关研究工作的研究人员,也有利于在生产中调整系统的工程师。

2.5 Open Problems and Challenges

        在本教程的最后一部分中,我们重点讨论了为确保自动参数调整的成功而必须解决的开放挑战,特别是在考虑到大数据分析系统的规模和复杂性增长时。要讨论的主要领域包括:(1)异构性:在异构硬件和软件上进行调优。(2) 云计算:多租户的资源供应和调度决策。(3) 实时分析:由于不同的架构和低延迟响应要求,此类设置中出现了新的挑战。在这些领域中,我们简要概述了部分/初步解决方案,并讨论了所涉及的各种挑战。我们希望这一部分将引发深入和有趣的讨论。

3. TUTORIAL ORGANIZATION

        本教程计划1.5小时,结构如下:
Motivation (5’)
        我们激发了在大数据和云计算时代对几个应用程序/场景进行自动参数调整的需求。
History and classification (10’)
        我们介绍了参数调整方法的历史和分类。
Parameter tuning on Databases, Hadoop, and Spark(55’)
        我们介绍了调整数据库系统性能的关键方法,Hadoop MapReduce和Spark。我们比较了各种调优类别中的解决方案。
Applications of automatic parameter tuning (10’)
        我们讨论了一些用于自动调优的实际应用程序和系统,例如自驱动Oracle数据库、自调优DB2和Unravel平台。
Open problem and challenges (10’)
        最后,我们讨论了参数调整的开放问题和挑战。

4. GOALS OF THE TUTORIAL

4.1 Learning Outcomes

        本教程的主要学习成果如下:(1)自动参数调整方法的动机、分类和历史演变。(2) 概述了当前数据库和大数据平台使用的优化方法,包括基于规则、成本建模、基于模拟、实验驱动、机器学习和自适应方法。(3) 比较调优方法的特点、优势和应用。(4) 讨论参数调整的研究挑战和开放性问题。

4.2 Intended Audience

        本教程面向从学术研究人员到工业数据科学家等希望了解参数对大数据分析系统性能影响的广泛受众。此外,本教程不仅有助于激发研究人员和开发人员选择新主题并贡献其在自动参数调整方面的专业知识,还可以帮助新开发人员和学生快速构建全面概述,并掌握该领域的最新趋势和最先进技术。
        数据库或大数据系统中参数配置的基本知识足以学习本教程。云/集群资源调度、性能调优和基本机器学习技术方面的一些背景知识可能有用,但不是必需的。

5. SHORT BIBLIOGRAPHIES

        Jiaheng Lu 是芬兰赫尔辛基大学的副教授。他的主要研究兴趣在于大数据管理和数据库系统,特别是来自真实生活、海量数据存储库和Web的高效数据处理挑战。他写了四本关于Hadoop和NoSQL数据库的书,并在SIGMOD、VLDB、TODS、TKDE等网站上发表了70多篇期刊和会议论文。
        Yuxing Chen 是赫尔辛基大学的博士生。他的研究主题是大数据系统的参数调整和多模型查询优化。
        Herodotos Herodotou 是塞浦路斯科技大学的助理教授。他的研究兴趣是大规模数据处理系统、数据库系统和云计算。特别是,他的工作重点是集中和分布式数据密集型计算系统的自动性能调整。他在海星平台上的博士论文获得了ACM SIGMOD Jim Gray博士论文奖荣誉奖以及杜克大学计算机科学杰出博士论文奖。
        Shivnath Babu 是Unravel Data Systems的首席技术官,也是杜克大学的兼职教授。他的研究重点是数据密集型系统的易用性和可管理性、自动化问题诊断以及在云平台上运行的应用程序的集群规模。Shivnath联合创立了Unravel,以解决公司在采用Hadoop和Spark等系统时面临的应用程序管理挑战。Unravel源于杜克大学建立的海星平台,该平台已被100多家公司下载。Shivnath获得了美国国家科学基金会职业奖、三项IBM教员奖和一项惠普实验室创新研究奖。

6. REFERENCES

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值