揭秘阿里云神龙团队拿下TPCx-BB排名第一的背后技术

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介: 近日,TPC Benchmark Express-BigBench(简称TPCx-BB)公布了最新的世界排名,阿里云自主研发的神龙大数据加速引擎获得了TPCx-BB SF3000排名第一的成绩。TPCx-BB测试分为性能与性价比两个维度。其中,在性能维度,在本次排名中,阿里云领先第二名高达41.6%,达到了2187.42 BBQpm,性价比领先第二名40%,降低到346.53 USD/BBQpm。

image.png

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

一 背景介绍

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

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

image.png

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

image.png

(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云服务器运行大数据集群,将获得更高的性能和性价比。

image.png

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

三 MRACC-Spark介绍

Spark自从2010年面世,到2020年已经经过十年的发展,现在已经发展为大数据批计算的首选引擎。针对大数据最常用的Spark引擎,MRACC进行了重点优化。具体来说,针对大数据任务重IO特性,MRACC在网络和存储方面结合云上的架构优势进行软硬件加速,包括软件的SQL引擎优化,使用缓存、文件裁剪、索引等优化手段,并尝试将压缩等运算卸载到异构器件;还使用eRDMA进行网络加速,将shuffle阶段的数据交换运行在eRDMA网络,使得延时降低、CPU利用率大幅提升。

image.png

图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支持了数据的增删改操作。

image.png

图3 MRACC-Spark的SQL引擎优化

五 近网络RDMA优化

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

image.png

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

六 性能优化结果

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

image.png
image.png

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

七 展望

目前,所有这些优化,我们都封装成插件形式交付给客户,客户代码基本上不需要修改,方便客户直接使用。

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

附:TPCx-BB介绍

TPCx-BB是由国际标准化测试权威组织(TPC)发布的基于零售业场景构建的端到端大数据测试基准,支持主流分布式大数据处理引擎,模拟了整个线上与线下业务流程,有30个查询语句,涉及到描述性过程型查询、数据挖掘以及机器学习的算法。TPCx-BB的测试具有数据量大、特征复杂、来源复杂等特点,与真实业务场景较为接近,对各行业的基础设施选型有着重要参考意义。

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


SaaS模式云数据仓库实战

企业数据仓库现代化建设进程中,SaaS化成为必然趋势。

本课程将带你了解SaaS模式云数据仓库领导者 MaxCompute 产品能力及核心优势,以及如何为企业带来业务敏捷性、TCO显著降低等关键业务价值,帮助大数据开发者对SaaS化云数仓具备整体的认知。

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
Cloud Native 安全 Serverless
“实”力Hackathon大赛赛道二:Serverless性能优化挑战赛 赛题任务提交说明
“实”力Hackathon大赛赛道二:Serverless性能优化挑战赛 赛题任务提交说明
1246 2
|
SQL 缓存 分布式计算
揭秘阿里云神龙团队拿下TPCx-BB排名第一的背后技术
阿里云自主研发的神龙大数据加速引擎获得了TPCx-BB SF3000世界排名第一的成绩。
揭秘阿里云神龙团队拿下TPCx-BB排名第一的背后技术
|
SQL 缓存 监控
深度专访高楼:如何成为一个身价百万的性能工程师?
很多人眼里的性能,不过是开发的边角料,看待性能工程师,天然就戴着一副有色眼镜。其实,一个可以独立做性能分析的人,在市场上抢都抢不到。可是,怎么才能成为这样的性能工程师呢?InfoQ 深度采访盾山科技 CEO、7DGroup 创始人,他也是 2022 年 QCon+ 【自动化测试】专题的出品人。他将从底层为你揭秘性能高手的思维模式,以期帮助大量性能工程师们拨开职业的迷雾,登上身价百万的台阶。
266 0
深度专访高楼:如何成为一个身价百万的性能工程师?
|
机器学习/深度学习 人工智能 算法
华中科大4个95后拿下EDA全球冠军,还解决了一项芯片难题!
中国团队拿下EDA全球冠军!近日,华中科技大学计算机学院吕志鹏教授带领的团队是首次参加ICCAD竞赛,并获得了CAD布局布线算法竞赛的第一名,团队平均年龄仅24岁。
240 0
华中科大4个95后拿下EDA全球冠军,还解决了一项芯片难题!
|
应用服务中间件 Dubbo 容器
【干货】第四届中间件性能挑战赛启动,50万奖金、赛题分析、重磅资料为你而来!
Apache基金会联合创始人 Jim Jagielski 表示,Apache顶级项目RocketMQ是一个极其强大且具有变革性的软件项目,众多公司都是它的深度用户。Dubbo目前正在Apache软件基金会内孵化,具有巨大的潜力。
943 14
|
人工智能 编解码 达摩院
为拿下算法 “奥斯卡”,阿里团队设计了一个冠军方案
被誉为计算机视觉领域 “奥斯卡” 的 CVPR 刚刚落下帷幕,2021 年首届 “新内容 新交互” 全球视频云创新挑战赛正火热进行中,这两场大赛都不约而同地将关注点放在了视频目标分割领域,本文将详细分享来自阿里达摩院的团队在 CVPR DAVIS 视频目标分割比赛夺冠背后的技术经验,为本届大赛参赛选手提供 “他山之石”。
为拿下算法 “奥斯卡”,阿里团队设计了一个冠军方案
|
Dubbo 中间件 应用服务中间件
第四届中间件性能挑战赛启动,50万奖金、赛题分析、重磅资料为你而来!
2018云栖大会南京峰会上,阿里巴巴研究员林昊正式发布了第四届阿里中间件性能挑战赛。挑战赛以开源项目为背景,核心技术为Dubbo和RocketMQ,目的是通过大赛向技术爱好者们传达开源精神。
3256 6
路歌,15亿背后的ALPD故事
数字经济时代,阿里云已经不仅仅是庞大的云基础设施。基于丰富的实践经验和技术优势,阿里云为企业提供随时随地的智能移动协同,重塑运营管理流程,帮助企业数字化升级。
5186 0
|
机器学习/深度学习 算法 API
量子计算“热闹得紧”,Zapata抢先推出体验
我们在量子计算的路上前行。不过这些功能强大的量子机器却仍处于雏形原型阶段,在我们开始制造更多量子机器之前还要克服几个关键的挑战。