简介:阿里云自主研发的神龙大数据加速引擎获得了TPCx-BB SF3000世界排名第一的成绩。

一  背景介绍

近日,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. 阿里云异构计算团队亮相英伟达2018 GTC大会

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

  2. 重磅干货免费下载!阿里云RDS团队论文被数据库顶会SIGMOD 2018收录

    ACM SIGMOD数据管理国际会议是由美国计算机协会(ACM) 数据管理专业委员会(SIGMOD)发起.在数据库领域具有最高学术地位的国际性学术会议. SIGMOD和另外两大数据库会议VLDB.IC ...

  3. 阿里云MVP:开发者的超能力,用技术创造更好世界

    阿里云MVP:开发者的超能力,用技术创造更好世界 2019年3月,第8期阿里云MVP(最有价值专家)完成终审,截至目前,全球已有27个国家和地区.近500位云计算专家和优秀开发者成为阿里云MVP.阿里 ...

  4. 揭秘阿里云WAF背后神秘的AI智能防御体系

    背景 应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入.跨站等攻击仍然占据着较前的位置.WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在,也正是这些针对W ...

  5. 揭秘阿里云EB级大数据计算引擎MaxCompute

    日前,全球权威咨询与服务机构Forrester发布了<The Forrester WaveTM: Cloud Data Warehouse, Q4 2018>报告.这是Forrester ...

  6. 揭秘阿里云 RTS SDK 是如何实现直播降低延迟和卡顿

    作者:予涛 途坦 这个夏天,没什么能够比一场酣畅淋漓的奥运比赛来的过瘾.但是,在视频平台直播观看比赛也有痛点:"卡顿" 和 "延时".受限于不同地域.复杂的网络 ...

  7. Tapdata 与阿里云 PolarDB 开源数据库社区联合共建开放数据技术生态

      近日,阿里云 PolarDB 开源数据库社区宣布将与 Tapdata 联合共建开放数据技术生态.在此之际,一直专注实时数据服务平台的 Tapdata ,也宣布开源其数据源开发框架--PDK(Plu ...

  8. 深度揭秘腾讯云TSF日调用量超万亿次背后技术架构

    腾讯云TSF是整合外部开源框架和腾讯内部历经多年锤炼的PaaS平台打造而成的企业级分布式应用服务开发与托管平台,本文重点对TSF中负责服务托管的PaaS平台进行揭秘,从技术角度解析TSF 平台是如何每 ...

  9. 技术解密 |阿里云多媒体 AI 团队拿下 CVPR2021 5 冠 1 亚成绩的技术分享

    6 月 19-25 日,备受全球瞩目的国际顶级视觉会议 CVPR2021(Computer Vision and Pattern Recognition,即国际机器视觉与模式识别)在线上举行,但依然人 ...

  10. 企业打开云HBase的正确方式,来自阿里云云数据库团队的解读

    一.HBase的历史由来 HBase是一个开源的非关系型分布式数据库(NoSQL),基于谷歌的BigTable建模,是一个高可靠性.高性能.高伸缩的分布式存储系统,使用HBase技术可在廉价PC Se ...

随机推荐

  1. day02-Spring基本介绍02

    Spring基本介绍02 5.简单模拟Spring基于XML配置的程序 5.1需求说明 自己写一个简单的Spring容器,通过读取beans.xml,获取第一个Javabean:Monster的对象, ...

  2. [置顶] tomcat处理请求导致页面出现ERR_CONNECTION_RESET错误解决方案

    现象: 浏览器发送请求到servlet,servlet处理时间太久,所以导致chrome浏览器出现ERR_CONNECTION_RESET错误 解决方案: 在相应servlet执行最后添加一句代码: ...

  3. JSF之Action 与ActionListener的区别

     事件  检验  参数  事件产生  页面跳转  Action  有 无参数,不传入当前控件,有返回值    当铵钮被单击时产生事件.提交表单   返回页面---根据配置文件跳转  ActionLis ...

  4. FLTK基于cmake编译以及使用(Windows、macOS以及Linux)

    最近因为一些学习的原因,需要使用一款跨平台的轻量级的GUI+图像绘制 C/C++库.经过一番调研以后,最终从GTK+.FLTK中选出了FLTK,跨平台.够轻量.本文将在Windows.macOS以及L ...

  5. 记录--三分钟打造自己专属的uni-app工具箱

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 介绍 可曾想过我们每次创建新项目,或者换地方写程序,都要把之前写过的工具类找出来又要复制粘贴一遍有些麻烦,尤其是写uni-app自定义模板 ...

  6. 工具推荐-sourcetree

    工具推荐-sourcetree 简介 简单好用的win系统下的git可视化软件 支持ssh免密登录 一键暂存和上传到开源仓库 开源免费 安装 下载sourcetree sourcetree下载 下载g ...

  7. kingbaseES 优化之数据库瓶颈排查

    针对数据库的性能瓶颈排查方法分为两个层次1.实例级别性能问题排查 2.语句级别性能问题排查 实例级别 实例级别性能问题排查用来分析数据库实例整体是否存在性能瓶颈,然后根据排除出的疑似问题进行实例级别参 ...

  8. KingbaseESV8R6普通用户无权限执行vacuum

    背景 数据库日志有如下提示: WARNING: skipping "pivot_t1" --- only table or database owner can vacuum it ...

  9. 使用fiddler抓取HTTPS的数据包(抓取App端的数据包)

    众所周知,我们在做接口测试的时候有两种情况: 第一种是先拿到接口测试规范文档,再去做接口测试. 第二种是没有接口文档,只有通过自己抓包. 那么说到抓包,就不得不说抓包工具,对于浏览器web端,我们只需 ...

  10. 鸿蒙HarmonyOS实战-ArkUI组件(Progress)

    一.Progress Progress组件是一种用户界面(UI)元素,用于向用户显示某些任务的进度.它通常以进度条的形式出现,显示任务完成的百分比.Progress组件可以在确定任务持续时间未知的情况 ...