StarRocks on AWS Graviton3,实现 50% 以上性价比提升

在数据时代,企业拥有前所未有的大量数据资产,但如何从海量数据中发掘价值成为挑战。数据分析凭借强大的分析能力,可从不同维度挖掘数据中蕴含的见解和规律,为企业战略决策提供依据。数据分析在营销、风险管控、产品优化等领域发挥着关键作用,帮助企业提高运营效率、优化业务流程、发现新商机、增强竞争力。低成本高效率的完成对海量数据的分析,及时准确的释放数据价值,已成为企业赢得竞争优势的利器。StarRocks on AWS 为这个课题交出了一份答卷。

StarRocks 作为新一代极速全场景 MPP(Massively Parallel Processing)数据库,架构简洁,采用了全面向量化引擎,并配备全新设计的 CBO(Cost Based Optimizer)优化器,实现亚秒级的查询速度,尤其是多表关联查询表现尤为突出。StarRocks 还支持现代化物化视图,进一步加速查询。

StarRocks 不仅能很好地支持实时数据分析,实现对实时更新数据的高效查询,3.0 及以后版本的存算分离架构,对于数据湖中的数据也能够实现极速查询,配合 AWS 提供的高性能高可用的云平台,能够极大地助力客户轻松构建数据湖仓。

越来越多的客户正在尝试湖仓一体的探索,后续我们会推出系列博客介绍如何在 AWS 上构建您的数据湖仓,而存算分离的 StarRocks 会是其中非常重要的一部分,我们也会结合实际客户案例分享 StarRocks on AWS 的最佳实践以及实际业务效果,本文则重点介绍 StarRocks on AWS Graviton3 上实现的超高性价比提升。

关于AWS Graviton

AWS Graviton 是 AWS 推出的基于 ARM 架构的自研处理器,专为优化云计算性能和成本效益而设计。Graviton3 相较于前代产品 Graviton2 有了显著的性能提升,其单线程性能提高了 25%,整体性能提升了 50%。

  • Graviton3 支持 DDR5 内存,提供更高的内存带宽和更低的延迟,使其在处理大规模数据分析、高性能计算(HPC)和内存密集型应用方面表现尤为出色。

  • 在机器学习工作负载方面,Graviton3 的性能提升更为显著,可以达到高达 3 倍的加速,这得益于其增强的矩阵乘法指令集。

  • Graviton3 处理器集成了先进的硬件安全功能,包括内置的内存加密和更高效的加密算法支持,确保数据在传输和存储过程中的安全性,满足敏感数据处理的需求。

  • Graviton3 具有更高的能效,能够在相同的性能下减少能耗,这对于希望降低运营成本和碳足迹的企业来说尤为重要。

通过使用基于 Graviton3 的实例,如 Amazon EC2 C7g 和 R7g,用户可以在保持高性能的同时显著降低计算成本。

最近几年来,在 AWS 上部署和使用 StarRocks 的客户越来越多,AWS 和 StarRocks 致力于为客户提供更加极速和高性价比的服务体验。截至 2024 年 6 月,StarRocks 已经基于 AWS Graviton3 做了大量优化,详见下文测试报告。从最新实测数据来看,相对于 C6i,在 C7g 上已经实现了平均 30% 的性能提升。

测试方法以及结论

由于 Graviton3 基于ARM 的指令集尤其是 SIMD 指令集跟 x86 不同,需要做额外的适配工作。之前已经做了大部分的 SIMD 适配工作,本次测试,是 StarRocks 基于近期完成的适配了一些热点 SIMD 指令优化,然后做出的基于 TPC-DS 100GB 和 1TB 规模的测试。

参与本次对比测试的节点选型:

图片

实例具体配置:

c7g.4xlarge 

  1. 价格:根据 AWS 官网定价, 按需的价格为 0.5781 USD/hour

  2. CPU:ARM AWS Graviton

  3. 16 vCPUs, 32GB Memory, 15 Gbps Network Bandwidth

  4. CPU 频率:6GHz

  5. CPU cache:

SQL
Caches (sum of all):
L1d: 1 MiB (16 instances)
L1i: 1 MiB (16 instances)
L2: 16 MiB (16 instances)
L3: 32 MiB (1 instance)
2.6GHZ

2.6GHZ

c6i.4xlarge

  1. 价格:根据 AWS 官网定价, 按需的价格为 0.68 USD/hour

  2. CPU:x86

  3. 16 vCPUs, 32GB Memory, 12.5 Gbps Network Bandwidth

  4. CPU 频率:9GHz

  5. CPU cache:

SQL 
Caches (sum of all): 
L1d: 384 KiB (8 instances) 
L1i: 256 KiB (8 instances) 
L2: 10 MiB (8 instances) 
L3: 54 MiB (1 instance)

集群版本:

 StarRocks:StarRocks version 3.3 StarRocks version 3.3 | StarRocks

具体的测试方法和代码这里不再展开,有兴趣的读者可以参考: StarRocks TPC-DS Benchmark |  TPC-H Homepage

详细测试结果

在标准 TPC-H 测试集 100G 和 1T 规模下,相比于 C6i 机型,C7g 机型基本没有出现性能回退的 case,并且平均性能提升达到 30%,再结合 C7g 机型 15% 的价格优化,综合起来,可以实现 53% 的性价比提升。

图片

说明:

以上每个测试集的数据都是对测试集内 99 个 query 的延时求和。

  • C6i

在 C6i 机型上的测试结果。

  • C7g

优化 bitshuffle 使用的指令  #44607

优化 CRC 使用的 NEON 指令 #44607

优化 filter_range 使用的 NEON 指令 #44194

C6i/C7g: 任务跑在 C6i 上的耗时是 C7g 的几倍

简单来说,比值越高,说明优化效果越明显。

另外,这里给出在 OLAP 典型应用场景中的优化情况: Scan & Bitshuffle / Aggregate / HashJoin

图片

由上表可知, 在 OLAP 常见的场景中,优化指令集之后的,性能均有 15% 以上的提升,尤其是在 Aggregate 场景下,达到了 43% 的性能提升。

总结

基于 StarRocks 当前的优化情况和最新的测试数据来看,StarRocks on Graviton3 (C7g) 的总体性能比 Ice Lake 8375C (C6i) 实现了30%以上的综合性能提升。再结合 AWS Graviton3 自身的价格优势(C7g 相对于C6i 有 15% 的成本优化),StarRocks on C7g 相对于 C6i 可以实现 50% 以上的性价比提升。

如果您有计划在 AWS 上部署您的 StarRocks 服务,或者您已经运行 StarRocks on AWS,Graviton3 都将会给您带来更优的体验和更低的成本。

另外,还有很多客户在密切关注最新的 AWS Graviton4。Graviton4 与当前一代 Graviton3 处理器相比,性能提升高达 30%,独立核心增加 50% 以上,内存带宽提升 75% 以上,为在 Amazon EC2 上运行的工作负载提供最佳性能和能效,这让我们非常兴奋,近日 Graviton4 在 global region 正式 GA,我们会需要一些时间做定向优化和测试,所以建议大家现阶段可以优先使用 StarRocks on AWS Graviton3。

附录:

  1. 有关 C++ 针对 ARM NEON 指令集的优化,您可以参考这个 Github 链接:aws-graviton-getting-started/SIMD_and_vectorization.md at main · aws/aws-graviton-getting-started · GitHub

  2. 有关 SIMD 优化思路,您可以参考这个链接:SIMD | OLAP 数据库性能优化指南

  3. 测试环境中 FE 以及 BE 中配置参数调整如下:fe.conf --- catalog_trash_expire_second be.conf --- max_compaction_concurrency=0 trash_file_expire_time_sec=0

  4. 性价比提升计算方式:

如果 A 相对于 B,性能提升 30%,价格降低 15%,那么总体性价比的提升有多少?

性能:A= 1.3B

价格:A= 0.85B

如果以 B 的性价比为 1,则 A 的性价比 = 1.3B / 0.85B = 1.53

本篇作者

刘子赫:StarRocks 查询团队核心研发 & StarRocks Committer。

Angela Ren:亚马逊云科技解决方案架构师,负责基于亚马逊云科技云计算方案架构的咨询和设计,推广亚马逊云科技云平台技术和各种解决方案。

Li Jing:亚马逊云科技解决方案架构师,负责亚马逊云科技云计算方案咨询和设计。目前主要专注在现代化应用改造和机器学习领域的技术研究和实践。曾就职于 F5,甲骨文,摩托罗拉等多家 IT 公司,有丰富的实践经验。

更多交流,联系我们:https://wx.focussend.com/weComLink/mobileQrCodeLink/33412/8da64

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/842820.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

8、添加第三方包

目录 1、安装Django Debug Toolbar Django的一个优势就是有丰富的第三方包生态系统。这些由社区开发的包,可以用来快速扩展应用程序的功能集 1、安装Django Debug Toolbar Django Debug Toolbar位于名列前三的第三方包之一 这是一个用于调试Debug Web应用程序的有…

Linux网络:应用层协议HTTP(一)

一、什么是HTTP协议 虽然我们说, 应用层协议是我们程序猿自己定的. 但实际上, 已经有大佬们定义了一些现成的, 又非常好用的应用层协议, 供我们直接参考使用. HTTP(超文本传输协议)就是其中之一。 在互联网世界中,HTTP(HyperText Transfer Protocol&…

多口适配器,给您的生活增添便利

随着科技的快速发展,我们的生活已离不开各种各样的电子设备,智能手机、平板电脑、智能手表、无线耳机……它们共同构建了我们丰富多彩的数字生活。然而,面对众多设备的充电需求,传统的单一充电口已难以满足现代人的使用习惯。在这…

完整创建一个vite前端项目

目录 1.先创建一个vite项目 2.下载第三方依赖 ① 安装路由vue-router ② 安装vuex全局数据管理 ③ 安装element-plus ④ 安装element-plus图标 ⑤ 安装axios发送请求 ⑥ 完整main.js代码模板 3.开发组件 4.登陆页面开发用例 5. 完整项目代码 废话少说,直接…

DDei在线设计器-HTML渲染

Html渲染 HtmlViewer插件通过将一个外部DIV附着在图形控件上,从而改变原有图形的显示方式。允许使用者自己定义HTML通过HTML元素。本示例演示了通过Html来扩展渲染图形,从而获得更加丰富的图形展现。 通常情况下,我们创建的图形控件&#xff…

IDEA的工程与模块管理

《IDEA破解、配置、使用技巧与实战教程》系列文章目录 第一章 IDEA破解与HelloWorld的实战编写 第二章 IDEA的详细设置 第三章 IDEA的工程与模块管理 第四章 IDEA的常见代码模板的使用 第五章 IDEA中常用的快捷键 第六章 IDEA的断点调试(Debug) 第七章 …

STM32项目分享:智能宠物喂食系统

目录 一、前言 二、项目简介 1.功能详解 2.主要器件 三、原理图设计 四、PCB硬件设计 1.PCB图 五、程序设计 六、实验效果 七、资料内容 项目分享 一、前言 项目成品图片: 哔哩哔哩视频链接: https://www.bilibili.com/video/BV1zy411z7…

【STL专题】模拟实现std::string,深入解析内部实现机制:从大小到运算符重载的探索之旅【万字详解】

欢迎来到 CILMY23的博客 🏆本篇主题为:模拟实现std::string,深入解析内部实现机制:从大小到运算符重载的探索之旅【万字详解】 🏆个人主页:CILMY23-CSDN博客 🏆系列专栏:Python |…

使用 PVE 自签 CA 证书签发新证书

前言 PVE 安装时会自动创建一个有效期 10 年的 CA 证书, 我们可以利用这个 CA 证书给虚拟机中的 Web 应用签发新的 TLS 证书用于提供 HTTPS 服务. 下面以 PVE 虚拟机中通过 Docker 跑的一个 雷池 应用为例进行演示. PVE 证书位置 官方文档: https://pve.proxmox.com/wiki/Pr…

python-多任务编程

2. 多任务编程 2.1 多任务概述 多任务 即操作系统中可以同时运行多个任务。比如我们可以同时挂着qq,听音乐,同时上网浏览网页。这是我们看得到的任务,在系统中还有很多系统任务在执行,现在的操作系统基本都是多任务操作系统,具备…

国产麒麟、UOS在线打开pdf加盖印章

PageOffice支持两种电子印章方案,可实现对Word、Excel、PDF文档加盖PageOffice自带印章或ZoomSeal电子印章(全方位保护、防篡改、防伪造)。Word和Excel的盖章功能请参考:Word和Excel加盖印章和签字功能 (目前只支持win…

【Django+Vue3 线上教育平台项目实战】Celery赋能:优化订单超时处理与自动化定时任务调度

文章目录 前言⭐✨💫🔥📖一、Celery⭐1.基本概念及介绍:✨2.使用步骤💫 二、订单超时 取消订单(Celery)🔥具体实现流程📖 前言⭐✨💫🔥📖 在构建复…

Mac Electron 应用如何进行签名(signature)和公证(notarization)?

最近很多客户反映,从官网下载的Mac Electron应用打不开,直接报病毒,类似于这种: 这是因为在MacOS 10.14.5之后,如果应用没有在苹果官方平台进行公证notarization(我们可以理解为安装包需要审核,来判断是否存…

Typora 1.5.8 版本安装下载教程 (轻量级 Markdown 编辑器),图文步骤详解,免费领取(软件可激活使用)

文章目录 软件介绍软件下载安装步骤激活步骤 软件介绍 Typora是一款基于Markdown语法的轻量级文本编辑器,它的主要目标是为用户提供一个简洁、高效的写作环境。以下是Typora的一些主要特点和功能: 实时预览:Typora支持实时预览功能&#xff0…

【每日一练】python编写一个简易计算器

程序代码: #循环语句,条件为真所以循环执行 while True: #定义两个数的变量和运算符号 num1 float(input("第一个数:")) num2 float(input("第一个数:")) syminput("选择运算符 - * /:") #判断运算符号 …

知名在线市场 Etsy 允许在其平台上销售 AI 艺术品,但有条件限制|TodayAI

近日,以手工和复古商品著称的在线市场 Etsy 宣布,将允许在其平台上销售 AI 生成的艺术品。这一举措引发了广泛关注和争议。尽管 Etsy 正在接受 AI 艺术的潮流,但平台对这一类商品的销售设置了一些限制。 根据 Etsy 新发布的政策,…

小程序图片下载保存方法,图片源文件保存!

引言 现在很多时候我们在观看到小程序中的图片的时候,想保存图片的原文件格式的话,很多小程序是禁止保存的,即使是让保存的话,很多小程序也会限制不让保存原文件,只让保存一些分辨率很低的,非常模糊的图片…

【iOS】类对象的结构分析

目录 对象的分类object_getClass和class方法isa流程和继承链分析isa流程实例验证类的继承链实例验证 类的结构cache_t结构bits分析实例验证属性properties方法methods协议protocolsro类方法 类结构流程图解 对象的分类 OC中的对象主要可以分为3种:实例对象&#xf…

tinymce富文本支持word内容同时粘贴文字图片上传 vue2

效果图 先放文件 文件自取tinymce: tinymce富文本简单配置及word内容粘贴图片上传 封装tinymce 文件自取&#xff1a;tinymce: tinymce富文本简单配置及word内容粘贴图片上传 页面引用组件 <TinymceSimplify refTinymceSimplify v-model"knowledgeBlockItem.content…

exo 大模型算力共享;Llama3-70B是什么

目录 exo 大模型算力共享 exo框架的特点 如何使用exo框架 注意事项 结论 Llama3-70B是什么 一、基本信息 二、技术特点 三、性能与应用 四、未来发展 exo 大模型算力共享 exo框架的特点 异构支持:支持多种不同类型的设备,包括智能手机、平板电脑、笔记本电脑以及高…