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

简介: 近日,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化云数仓具备整体的认知。

点击这里,查看详情!

相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
19天前
|
Cloud Native Serverless 开发者
阿里云助力开发者创新:探索云原生技术的新境界
阿里云开发者社区推动云原生技术发展,提供丰富产品(如容器服务、Serverless、微服务架构、服务网格)与学习平台,助力企业数字化转型。开发者在此探索实践,共享资源,参与技术活动,共同创新,共创云原生技术新篇章。一起加入,开启精彩旅程!
|
12天前
|
测试技术 块存储 开发者
阿里云块存储团队软件工程实践
本文介绍了阿里云团队软件工程实际开发流程,并简述了开发过程中遇到的一些问题。且附带案例,以及遇到案例中出现的情况应当如何应对。
|
25天前
|
NoSQL Cloud Native Redis
Redis核心开发者的新征程:阿里云与Valkey社区的技术融合与创新
阿里云瑶池数据库团队后续将持续参与Valkey社区,如过往在Redis社区一样耕耘,为开源社区作出持续贡献。
Redis核心开发者的新征程:阿里云与Valkey社区的技术融合与创新
|
1月前
|
人工智能 安全 数据挖掘
阿里云高级技术专家李鹏:AI基础设施的演进与挑战 | GenAICon 2024
阿里云高级技术专家、阿里云异构计算AI推理团队负责人李鹏将在主会场第二日上午的AI Infra专场带来演讲,主题为《AI基础设施的演进与挑战》。
|
1月前
|
Cloud Native Java 关系型数据库
阿里云 PolarDB-X 团队25届实习生招聘
阿里云 PolarDB-X 团队25届实习生招聘
|
2月前
|
弹性计算 网络协议 关系型数据库
网络技术基础阿里云实验——企业级云上网络构建实践
实验地址:<https://developer.aliyun.com/adc/scenario/65e54c7876324bbe9e1fb18665719179> 本文档指导在阿里云上构建跨地域的网络环境,涉及杭州和北京两个地域。任务包括创建VPC、交换机、ECS实例,配置VPC对等连接,以及设置安全组和网络ACL规则以实现特定服务间的互访。例如,允许北京的研发服务器ECS-DEV访问杭州的文件服务器ECS-FS的SSH服务,ECS-FS访问ECS-WEB01的SSH服务,ECS-WEB01访问ECS-DB01的MySQL服务,并确保ECS-WEB03对外提供HTTP服务。
|
2月前
|
供应链 安全 专有云
阿里云通过信通院面向一云多芯的专有云技术能力评测
近日,阿里云飞天企业版通过中国信息通信研究院2023年度《面向一云多芯的专有云技术能力要求》,在异构兼容能力、专有云基础能力、迁移适配能力三个方面,再一次验证了阿里云专有云一云多芯领先的技术能力。
|
2月前
|
弹性计算 缓存 数据库
2核4G服务器优惠价格,阿里云降价了,释放技术红利
2核4G服务器优惠价格,阿里云降价了,释放技术红利,2核4G配置1个月多少钱?2核4G服务器30元3个月、轻量应用服务器2核4G4M带宽165元一年、企业用户2核4G5M带宽199元一年
|
11天前
|
存储 弹性计算 固态存储
阿里云服务器CPU内存配置详细指南,如何选择合适云服务器配置?
阿里云服务器配置选择涉及CPU、内存、公网带宽和磁盘。个人开发者或中小企业推荐使用轻量应用服务器或ECS经济型e实例,如2核2G3M配置,适合低流量网站。企业用户则应选择企业级独享型ECS,如通用算力型u1、计算型c7或通用型g7,至少2核4G配置,公网带宽建议5M,系统盘可选SSD或ESSD云盘。选择时考虑实际应用需求和性能稳定性。
117 6
|
13天前
|
域名解析 弹性计算 Linux
阿里云购买云服务器、注册域名、备案及绑定图文教程参考
本文为大家介绍了2024年购买阿里云服务器和注册域名,绑定以及备案的教程,适合需要在阿里云购买云服务器、注册域名并备案的用户参考,新手用户可通过此文您了解在从购买云服务器到完成备案的流程。
阿里云购买云服务器、注册域名、备案及绑定图文教程参考

热门文章

最新文章