一  背景介绍

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

阿里云神龙团队拿下TPCx-BB排名第一的背后技术是什么?相关推荐

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

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

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

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

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

    简介:阿里云自主研发的神龙大数据加速引擎获得了TPCx-BB SF3000世界排名第一的成绩. 一  背景介绍 近日,TPC Benchmark Express-BigBench(简称TPCx-BB) ...

  4. 突破性能极限——阿里云神龙最新ASPLOS论文解读

    作者 | 阿里云神龙团队 责编 | 徐威龙 封图| CSDN 下载于视觉中国 日前,ASPLOS 2020公布了计算机界最新科技成果,其中包括阿里云提交的名为<High-density Mult ...

  5. 突破性能极限,阿里云神龙最新ASPLOS论文解读

    作者 | 阿里云神龙团队 责编 | Elle 出品 | CSDN(ID:CSDNnews) 前言 日前,ASPLOS 2020公布了计算机界最新科技成果,其中包括阿里云提交的名为<High-de ...

  6. 阿里云异构计算团队亮相英伟达2018 GTC大会

    摘要: 首届云原生计算国际会议(KubeCon + CloudNativeCon,China,2018)在上海举办,弹性计算研究员伯瑜介绍了基于虚拟化.容器化编排技术的云计算操作系统PouchCont ...

  7. nc65数据字典 云盘_从搜索引擎到核心交易数据库,详解阿里云神龙如何支撑双11...

    2020年的双11,天猫又创造了新的纪录:订单峰值达到创纪录的58.3万笔/秒,销售额达到历史新高4982亿,阿里云神龙再次成功扛住了全球流量洪峰.2020年是双11全面云原生化的第一年,也是神龙架构 ...

  8. 双11背后的技术力量,阿里云神龙治愈云计算阿克琉斯之踵

    边策 发自 凹非寺  量子位 出品 | 公众号 QbitAI 导语:自计算机诞生以来,计算性能一直是科技产业发展的标尺.过去数十年提升芯片制造工艺.堆叠核数是性能演进的标准路线,摩尔定律约束下性能增长 ...

  9. 揭秘 | 连续3年支撑双11,阿里云神龙如何扛住全球流量洪峰?

    简介:2019年云栖大会,阿里云正式发布第三代自研神龙架构,全面支持ECS虚拟机.裸金属.云原生容器等,贯穿整个IaaS计算平台,并在IOPS.PPS等方面提升5倍性能,用户能在云上获得物理机100% ...

最新文章

  1. 实验3  数据库综合查询
  2. 【全文搜索引擎】Elasticsearch基本查询基础JavaAPI
  3. python pdf报告_Python实现html转换为pdf报告(生成pdf报告)功能示例
  4. uva 247(floyd传递闭包)
  5. 教育部:麻省理工学院2019年本科生未招收一名中国大陆的学生不属实
  6. HDOJ2026 ( 首字母变大写 ) 【水题】
  7. qq语音按住ctrl就静音怎么解决_绝地求生大逃杀:语音故障的解决办法
  8. Android类参考---Fragment(二)
  9. Eclipse主题插件之DevStyle
  10. ADAS/AD控制器模块开发03 - 系统架构设计及通用需求定义
  11. 大学生计算机专业顶岗实习日记24篇
  12. 如何在SendWS上做到WhatsApp账号多开,WhatsApp群发超链的意义,WhatsApp营销推广引流
  13. HBase MapReduce MultiTableInput首次测试
  14. 完美解决Python 发送邮件126,136,QQ等,都会报•554 DT:SPM 发送的邮件内容包含了未被许可的信息,或被系统识别为垃圾邮件。请检查是否有用户发送病毒或者垃圾邮件
  15. URAL-1941 Scary Martian Word 队列维护
  16. MoveIt!入门教程-简介
  17. vite简介,使用vite创建项目的优势
  18. rdkitsmarts | 化学反应模板特殊官能团SMARTS整理
  19. 学计算机的都是傻子?《打工人的点点思考》
  20. Gerrit快速安装手册

热门文章

  1. 李宏毅深度学习ppt总结
  2. PhpStudy 后门分析
  3. php命令执行后门,php后门木马常用命令
  4. StarGAN快速阅读
  5. typescript (TS)进阶篇 --- 内置高阶泛型工具类型(Utility Type)
  6. Headless CMS Sanity 数据建模——定义文档内容的结构
  7. 计算机专业考研390分是什么水平,考研初试390分被淘汰,复试到底发生了什么?...
  8. 记录学习Jsoup时第一次创建Maven项目时的报错(No marketplace entries found to handle maven-compiler-plugin:3.1)
  9. 政考网:一年最多可以参加几次公务员考试?
  10. Centos7配置阿里云DNS