关于阿里云:揭秘阿里云神龙团队拿下TPCxBB排名第一的背后技术

2次阅读

共计 2679 个字符,预计需要花费 7 分钟才能阅读完成。

简介:近日,TPC Benchmark Express-BigBench(简称 TPCx-BB)颁布了最新的世界排名,阿里云自主研发的神龙大数据减速引擎取得了 TPCx-BB SF3000 排名第一的问题。TPCx-BB 测试分为性能与性价比两个维度。其中,在性能维度,在本次排名中,阿里云当先第二名高达 41.6%,达到了 2187.42 BBQpm,性价比当先第二名 40%,升高到 346.53 USD/BBQpm。

作者 | 神龙减速计算团队
起源 | 阿里技术公众号

一 背景介绍

近日,TPC Benchmark Express-BigBench(简称 TPCx-BB)颁布了最新的世界排名,阿里云自主研发的神龙大数据减速引擎取得了 TPCx-BB SF3000 排名第一的问题。

TPCx-BB 测试分为性能与性价比两个维度。其中,在性能维度,在本次排名中,阿里云当先第二名高达 41.6%,达到了 2187.42 BBQpm,性价比当先第二名 40%,升高到 346.53 USD/BBQpm。


(TPCx-BB SF3000 性能维度排行)


(TPCx-BB SF3000 性价比维度排行)

借这个机会跟大家分享一下这个第一背地的技术历程。

二 神龙大数据减速引擎 MRACC 概述

阿里云自研的神龙大数据减速引擎 MRACC(Apasara Compute MapReduce Accelerator)是这次获得优异成绩的杀手锏。

在数据处理需要激增的明天,许多企业会应用开源 Spark、Hadoop 组件或 HDP、CDH 等罕用套件,自建开源大数据集群,解决数据量从 TB 到 PB 级,集群规模从几台到几千台。MRACC 神龙大数据减速引擎,针对客户自建场景,依靠神龙底座,提供罕用组件减速能力,如 Spark、Hadoop、Alluxio 等。

联合阿里云神龙架构的个性,MRACC 进行了软硬一体化优化,造成举世无双的性能劣势,最终,使简单 SQL 查问场景性能相比社区版 Spark 晋升 2 - 3 倍,应用 eRDMA 减速 Spark 性能晋升 30%。在神龙大数据减速引擎的加持下,企业应用阿里云 ECS 云服务器运行大数据集群,将取得更高的性能和性价比。


图 1 MRACC 神龙大数据减速引擎架构

三 MRACC-Spark 介绍

Spark 自从 2010 年面世,到 2020 年曾经通过十年的倒退,当初曾经倒退为大数据批计算的首选引擎。针对大数据最罕用的 Spark 引擎,MRACC 进行了重点优化。具体来说,针对大数据工作重 IO 个性,MRACC 在网络和存储方面联合云上的架构劣势进行软硬件减速,包含软件的 SQL 引擎优化,应用缓存、文件裁剪、索引等优化伎俩,并尝试将压缩等运算卸载到异构器件;还应用 eRDMA 进行网络减速,将 shuffle 阶段的数据交换运行在 eRDMA 网络,使得延时升高、CPU 利用率大幅晋升。


图 2 MRACC-Spark 架构

四 Spark SQL 引擎优化

从 Spark2 当前,Spark SQL, DataFrames and Datasets 接口逐步取代根底 RDD API 成为 Spark 的支流编程模型。社区对 Spark SQL 进行了大量投入,据统计 Spark3.0 版本公布将其中靠近一半的优化都集中在 Spark SQL 上。应用 SparkSQL 代替 Hive 执行离线工作已成为不少企业的支流抉择。

针对 SQL 引擎的 anlyzer、optimizer、planner、Query execution 几个阶段,咱们都做了一些优化。Spark3.0 对 SQL 引擎进行了大刀阔斧的革新和优化,其中 AQE 和 DP 机制广受关注。但目前开源 Spark 的 AE 机制目前仅反对分区裁剪,对于非分区键和 subquery 裁剪不反对,咱们针对这块做了优化,反对 subquery 的动态数据裁剪,能大幅缩小参加计算的数据量。

在物理打算执行阶段,咱们反对了 window topn 排序,使得蕴含 limit 的 sql 语句性能大幅晋升,并反对了 parquet rowgroup 裁剪、bloom filter join 等高级个性。SPAKR SQL 的 CBO 机制能较好的进步 SQL 执行效率,然而在 cbo 阶段,join table 过多会导致的 cbo 搜寻开销暴增,咱们反对了遗传算法搜寻,解决了 join table 过多导致的开销暴增的状况。
此外,还反对了去重下推、join 外键打消、完整性束缚等性能,并联合 deltalake 反对了数据的增删改操作。


图 3 MRACC-Spark 的 SQL 引擎优化

五 近网络 RDMA 优化

2021 年杭州云栖大会上,阿里云公布第四代神龙架构,提供业界首个大规模弹性 RDMA 减速能力。RDMA 是一种高性能网络传输技术,提供间接内存拜访的形式,数据传输 bypass Kernel,从而能缩小 CPU 的开销,提供低时延的高性能网络。在分布式计算中,shuffle 过程必不可少,且耗费较多的计算和网络资源,是大数据分布式计算的优化重点。针对 Spark 内存计算在 shuffle 阶段数据交换特点,可将 shuffle 数据交换变为 memory-network-memory 的模式,充分利用 RDMA 用户态内存间接交互、低延时、低 cpu 耗费的特点,最终在 tpcxhs 等端到端 benchmark 上取得了 30% 的性能晋升。


图 4 MRACC-Spark 的 eRDMA 近网络优化插件

六 性能优化后果

最终,在 TPCDS 10T 数据集上,相比最新的 Spark3.1 版本性能晋升 2.19 倍。在 TPCx-BB 上相比第二名当先高达 41.6%。



图 5 TPCDS 及 TPCx-BB 的数据成果

七 瞻望

目前,所有这些优化,咱们都封装成插件模式交付给客户,客户代码基本上不须要批改,不便客户间接应用。

将来咱们将继续将咱们软硬件一体化极致性能优化能力服务阿里云的大数据客户,此外咱们将在软硬件一体化性能优化能力上继续迭代,构建性能更高、老本更低的 MRACC 神龙大数据减速服务能力提供给宽广用户。

附:TPCx-BB 介绍

TPCx-BB 是由国内标准化测试权威组织 (TPC) 公布的基于零售业场景构建的端到端大数据测试基准,反对支流分布式大数据处理引擎,模仿了整个线上与线下业务流程,有 30 个查问语句,波及到描述性过程型查问、数据挖掘以及机器学习的算法。TPCx-BB 的测试具备数据量大、特色简单、起源简单等特点,与实在业务场景较为靠近,对各行业的基础设施选型有着重要参考意义。

TPCx-BB 的测试后果,能够全面精确的反映端到端的大数据系统的整体运行性能。测试涵盖了结构化、半结构化和非结构化数据,可能从客户理论场景角度更全面的评估大数据系统软硬件性能、性价比、服务和功耗等各个方面。

原文链接
本文为阿里云原创内容,未经容许不得转载。

正文完
 0