Carson Wang,英特尔数据分析软件集团软件工程经理,专注于优化流行的大数据和机器学习框架,推动构建融合大数据和人工智能平台。bob体育客户端下载他创建并领导了一些开源项目,如RayDP - Spark bob下载地址on Ray, OAP MLlib -高度优化的Spark MLlib, Spark自适应查询执行引擎,Hibench -大数据微基准测试套件等。
大规模的端到端数据分析和AI管道通常涉及数据处理框架,如用于大规模数据预处理的Apache Spark,以及用于预处理数据分布式训练的ML/DL框架。传统的方法是使用两个单独的集群并将多个作业连接起来。其他解决方案包括在Apache Spark集群中运行深度学习框架,或使用Kubeflow等工作流编排器来拼接分布式程序。所有这些选择都有其局限性。我们引入Ray作为分布式数据处理和机器学习的单一基板。我们还介绍了RayDP,它允许你在你的python程序中在Ray上启动一个Apache Spark作业,并利用Ray的内存对象存储来有效地在Apache Spark和其他库之间交换数据。我们将演示这如何使构建端到端数据分析和人工智能管道更简单、更高效。
(daisna21-sessions-od)
Shuffle在Apache Spark中是跨计算单元重新分配数据的中间短语,它有一个重要的原语,即Shuffle数据持久化在本地磁盘上。这种架构存在一些可伸缩性和可靠性问题。此外,在今天的数据中心中,配置存储的假设并不总是成立的。硬件趋势正在转向分解存储和计算架构,以获得更好的成本效率和可伸缩性。
为了解决Spark shuffle的问题并支持分解存储和计算架构,我们实现了一个新的远程Spark shuffle管理器。这种新的体系结构将随机数据写入具有不同hadoop兼容文件系统后端的远程集群。
首先,计算节点的故障将不再引起shuffle数据重计算。Spark执行器还可以动态分配和回收,从而提高资源利用率。
其次,对于大多数目前使用配置存储运行Spark的客户来说,由于成本和系统兼容性的考虑,他们通常很难将每个节点上的磁盘升级到最新的硬件,如NVMe SSD和持久内存。有了这个新的shuffle管理器,他们可以自由地构建一个单独的集群来存储和服务shuffle数据,利用最新的硬件来提高性能和可靠性。
第三,在HPC领域,越来越多的客户正在尝试Spark作为他们的高性能数据分析工具,而HPC集群中的存储和计算通常是分开的。这项工作将使他们的生活更轻松。
在这次演讲中,我们将概述当前Spark shuffle实现的问题,设计新的远程shuffle管理器,并对工作进行性能研究。
在过去几年中,CPU技术已经通过更复杂的架构设计、更宽的执行管道、相同处理器中的更多核心和更高的频率得到了很好的扩展。然而,加速器在专用区域以更低的成本显示出更强的计算能力和更高的吞吐量,这导致在Spark中有更多的使用。但当我们在Spark中集成加速器时,一个常见的情况是通过微测试获得了巨大的性能承诺,但实际上我们得到的性能提升很少。
原因之一是JVM和加速器之间的数据传输成本。另一个原因是加速器缺乏在Spark中如何使用的信息。在本研究中,我们研究了使用基于apache arrow的dataframe作为CPU和加速器之间统一的数据共享和传输方式,并在设计硬件和软件堆栈时使其能够感知dataframe。通过这种方式,我们无缝地集成了Spark和Accelerators设计,并接近承诺的性能。
Spark SQL是一种非常有效的OLAP分布式SQL引擎,在百度生产中被许多内部BI项目广泛采用。然而,百度也面临着大规模的挑战,包括调优数千个作业的shuffle并行性、低效的执行计划和处理数据倾斜。在这次演讲中,我们将探讨英特尔和百度在应对大规模挑战方面的共同努力,并概述我们为百度的基于Spark SQL的Big SQL平台实现的自适应执行模式。bob体育客户端下载在运行时,自适应执行可以更改执行计划,以使用更好的连接策略并自动处理倾斜连接。它还可以改变减速器的数量,以更好地适应数据尺度。一般来说,自适应执行减少了调优SQL查询参数所涉及的工作,并通过在运行时选择更好的执行计划和并行性来提高执行性能。
我们还将分享在拥有数千台服务器的百度生产集群中使用自适应执行的经验,其中自适应执行有助于将一些复杂查询的性能提高200%。经过进一步分析,我们发现百度数据分析中的几个特殊场景都可以受益于选择更好的连接类型的优化。在这样的场景中,用户想要从网页和移动端分析1000多个广告商的成本,并且每一方每天都有一个包含10tb parquet文件的完整信息表,我们得到了2倍的性能提升。现在我们正在编写探测作业,以便从用户当前的日常作业中检测更多的场景。我们还考虑为上层用户公开基于从自适应执行模式中收集的详细指标的策略界面。
会议标签:#SAISEco12
Spark SQL是一种非常有效的OLAP分布式SQL引擎,在百度生产中被许多内部BI项目广泛采用。然而,百度也面临着大规模的挑战,包括调优数千个作业的shuffle并行性、低效的执行计划和处理数据倾斜。
在这次演讲中,我们将探讨英特尔和百度在应对大规模挑战方面的共同努力,并概述我们为百度的基于Spark SQL的Big SQL平台实现的自适应执行模式。bob体育客户端下载在运行时,自适应执行可以更改执行计划,以使用更好的连接策略并自动处理倾斜连接。它还可以改变减速器的数量,以更好地适应数据尺度。一般来说,自适应执行减少了调优SQL查询参数所涉及的工作,并通过在运行时选择更好的执行计划和并行性来提高执行性能。
我们还将分享在拥有数千台服务器的百度生产集群中使用自适应执行的经验,其中自适应执行有助于将一些复杂查询的性能提高200%。经过进一步分析,我们发现百度数据分析中的几个特殊场景都可以受益于选择更好的连接类型的优化。在这样的场景中,用户想要从网页和移动端分析1000多个广告商的成本,并且每一方每天都有一个包含10tb parquet文件的完整信息表,我们得到了2倍的性能提升。现在我们正在编写探测作业,以便从用户当前的日常作业中检测更多的场景。我们还考虑为上层用户公开基于从自适应执行模式中收集的详细指标的策略界面。
会话标签:#Exp5SAIS
Catalyst是SparkSQL中优秀的优化器,在规划阶段为基于规则的优化提供开放接口。但是,静态(基于规则的)优化将不考虑运行时的任何数据分布。自Spark 2.0以来引入了一种名为Adaptive Execution的技术,旨在覆盖这一部分,但仍处于早期阶段。我们增强了现有的Adaptive Execution特性,重点在运行时根据不同的阶段性中间输出调整执行计划,比如为连接和聚合设置分区号,避免不必要的数据变换和磁盘IO,处理数据倾斜情况,甚至优化连接顺序,如CBO等。在我们的基准比较实验中,该特性节省了大量的手工调整参数的工作,如打乱的分区号,这是容易出错和误导的。在这次演讲中,我们将展示新的自适应执行框架、任务调度、故障转移重试机制、运行时计划切换等。最后,我们还将分享我们在数百个裸金属Spark集群中对100 - 300tb规模的TPCx-BB进行基准测试的经验。
会话标签:EUdev4
BOB低频彩了解更多: