文章目录

  • ABSTRACT
  • 1. MOTIVATION
  • 2. COVERED TOPICS
    • 2.1 Background and Classification
    • 2.2 Parameter Tuning on Database Systems
    • 2.3 Parameter Tuning on HadoopMapReduce
    • 2.4 Parameter Tuning on Spark
    • 2.5 Open Problems and Challenges
  • 3. TUTORIAL ORGANIZATION
  • 4. GOALS OF THE TUTORIAL
    • 4.1 Learning Outcomes
    • 4.2 Intended Audience
  • 5. SHORT BIBLIOGRAPHIES
  • 6. REFERENCES

论文地址
幻灯片

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

Speedup Your Analytics: Automatic Parameter Tuning for Databases and Big Data Systems相关推荐

  1. R语言使用caret包对GBM模型进行参数调优实战:Model Training and Parameter Tuning

    R语言使用caret包对GBM模型进行参数调优实战:Model Training and Parameter Tuning 目录 R语言使用caret包对GBM模型进行参数调优实战:Model Tra ...

  2. Complete Guide to Parameter Tuning in XGBoost (with codes in Python)

    Introduction If things don't go your way in predictive modeling, use XGboost.  XGBoost algorithm has ...

  3. 11g新特性-自动sql调优(Automatic SQL Tuning)

    11g新特性-自动sql调优(Automatic SQL Tuning) 在Oracle 10g中,引进了自动sql调优特性.此外,ADDM也会监控捕获高负载的sql语句. 在Oracle 11g中, ...

  4. sql azure 语法_将SQL工作负载迁移到Microsoft Azure:服务选择

    sql azure 语法 In the previous article, Migrating SQL workloads to Microsoft Azure: Planning the jump, ...

  5. SLAM:现在,未来和鲁棒感知时代

    文章目录 SLAM 研究的时代划分 the classical age (1986 - 2004) the algorithmic-analysis age (2004 - 2015) the rob ...

  6. 最详细的SLAM综述

    论文:Past, Present, and Future of Simultaneous Localization And Mapping: Towards the Robust-Perception ...

  7. SLAM综述论文:Past, Present, and Future of SLAM: Towards the Robust-Perception Age

    文章目录 SLAM 研究的时代划分 the classical age (1986 - 2004) the algorithmic-analysis age (2004 - 2015) the rob ...

  8. 石油和天然气行业的大数据分析:新兴趋势Big Data analytics in oil and gas industry: An emerging trend

    文章目录 A B S T R A C T 1. Introduction 2. Big Data analytics 2.1. Big Data definition 2.2 Big Data met ...

  9. 【Introduction to Artificial Intelligence and Data Analytics】(TBC)

    Introduction to Artificial Intelligence and Data Analytics 笔记. 课件引用于香港理工大学comp1004课程 Content Chapter ...

最新文章

  1. 解决安卓系统写入SD卡权限问题
  2. Eclipse安装SVN最新版插件
  3. QQ,MSN,Skype在线客服代码
  4. WYSIWYG的意思。
  5. 代码审计系列篇一之代码审计学习思路
  6. HQL (五) 外置命名查询(sql语句单独保存起来)
  7. 百行征信出首招,发布授信 反欺诈 核验三款测试产品
  8. sip协议详解(一)
  9. http请求webservice接口
  10. 论文之生成对抗U-Net
  11. 观点:游戏模块分析总结
  12. 人工智能成功与冠状病毒抗争,但个人隐私令人担忧
  13. DedeCMS 标签使用方法汇总!
  14. 白光干涉仪可以用于测量化妆品用的云母材料?
  15. C语言字符集中可显示字符,C++_C语言转义字符实例详解,在字符集中,有一类字符具有 - phpStudy...
  16. QNX Neutrino RTOS简介
  17. FloorPlan 经验总结
  18. 担心PPT封面页不够出彩?这些例子建议收藏
  19. 初次使用 python poetry 包管理模块踩坑
  20. font-face 自定义字体

热门文章

  1. 【对讲机的那点事】作为业余无线电爱好者的你,你能报出正确的信号报告吗?...
  2. 为什么玩无线电的人那么少
  3. Corel Painter 2020 for Mac(绘图软件)
  4. 秋招笔试_拼词游戏_Java版本
  5. QT3D学习之路02
  6. 域名映射ip(mac环境)
  7. NGUI的UIEvents事件系统
  8. Pig系统分析(7)-Pig实用工具类
  9. python自动化测试岗位_2020自动化测试岗位需求的7项必备技能(更新版)
  10. PHP图片处理库Grafika详细教程(4):图形绘制