内附原文|SIGMOD’24:百万核的智能调度,云数仓如何结合AI处理用户混合负载

本文涉及的产品
阿里云百炼推荐规格 ADB PostgreSQL,4核16GB 100GB 1个月
云原生数据仓库AnalyticDB MySQL版,8核32GB 100GB 1个月
简介: 论文提出的Flux通过使用AI技术将短时和长时查询解耦进行自动弹性,解决了云数据仓库的性能瓶颈,同时支持了资源按需预留。Flux优于传统的方法,查询响应时间 (RT) 最多可减少75%,资源利用率提高19.0%,成本开销降低77.8%。

引言

日前,2024年数据库领域顶会ACM SIGMOD/PODS会议在智利圣地亚哥举行,来自阿里云瑶池数据库团队的论文《Flux: Decoupled Auto-Scaling for Heterogeneous Query Workload in Alibaba AnalyticDB》成功入选SIGMOD Industrial Track(工业赛道)


云数据仓库的混合查询负载的波动性会导致负载峰值资源不足以及低谷资源空闲,从而影响云数仓的性能及资源效率。在保证混合查询负载性能的同时,实现大规模CPU资源的高效调度,是一项极具挑战的任务。


论文提出的Flux通过使用AI技术将短时和长时查询解耦进行自动弹性,解决了云数据仓库的性能瓶颈,同时支持了资源按需预留。Flux优于传统的方法,查询响应时间 (RT) 最多可减少75%,资源利用率提高19.0%,成本开销降低77.8%。


该技术已应用在CPU百万核规模的AnalyticDB调度场景中AnalyticDB是阿里云2014年推出的自研云原生数据仓库AnalyticDB MySQL版为千万家企业级客户提供了数据处理ETL、实时在线分析、核心报表、大屏和监控能力,服务的场景包括实时数仓、精准营销、商业智能报表、多源联合分析、交互式查询等。


论文背景

云数据仓库中查询工作负载的多样性导致资源利用率随时间而变化。如下图所示,AnalyticDB实例的实时CPU使用情况(蓝线)在五天内显著波动。混合查询工作负载的执行会导致长时间运行的查询性能不佳,长时查询影响短时查询的性能,保障峰值资源使用会导致资源的浪费。

image-3.png


Flux的整体架构

下图所示的 Flux 架构说明了我们以实用有效的方式实现解耦自动扩展的创新方法。Flux 的实现围绕两个核心设计目标:


  • 目标G1:工作负载分离。在执行之前,应将长时间运行的查询与短时间运行的查询区分开来,然后在隔离的集群上执行。
  • 目标G2:解耦自动扩展。运行短时间运行的查询和长时间运行的查询的集群采用不同的自动扩展机制并独立扩展。


这些目标是通过以下过程实现的。在每个 AnalyticDB 实例中,混合的异构工作负载首先由查询调度程序进行分类,然后分离独立的进行资源弹性。在多个 AnalyticDB 实例下,为了提高弹性和效率,我们构建了共享资源池和按需资源池。具体的架构如下图,包括查询调度器、多集群组的自动扩展、Job资源调度、共享资源池自动伸缩等组件构成。

image-4.png


Flux的设计和实现

(1)查询调度器

Flux的查询调度器负责对短期运行和长期运行的查询(例如,RT 超过 3 分钟)进行分类,然后进行调度。此外,查询调度器有望实现三个设计目标:高精度、轻量级(900 QPS)、增量训练。


为了实现设计目标,我们开发了一个查询调度器,它由模板分类器和级联AI机器学习分类器组成。下图展示了查询调度器的工作流程,所有 SQL 查询都传递给模板分类器。如果 SQL 查询无法匹配任何模板,或者模板很少见,则将其交给 ML 分类器。

image-5.png

(2)多集群组的自动扩展

当长时运行的查询解耦出来后,短时查询的负载波动平缓,使用AI时序预测算法可以获得较好的预测准确性。我们开发了一个多集群自动扩展器,以提高多集群组的查询性能和资源利用率。首先,它由工作负载预测器启用,支持主动自动扩展;其次,它支持性能触发的被动自动扩展。

(3)自动扩展路径

在 Flux 中,多集群自动扩展器和作业资源调度器独立做出扩展/调度决策(例如,请求更多资源)。为了满足资源请求,资源调度器决定是从共享资源池还是从按需资源池中获取资源。资源调度器会考虑弹性容忍度和资源成本来做出决策。


在Flux中,资源调度程序旨在管理不同紧急程度的资源请求,如下图中的弹性容忍轴所示。此轴将请求分为两层。第 1 层(红色)请求预计资源将在 5 秒内配置完毕。在Flux中,当工作负载预测器未按预期执行且启用了被动自动扩展时,就会发生第 1 层请求。这表明查询性能下降,因此应尽快配置资源。第 2 层(蓝色)请求预计资源将在 30 秒内配置完毕。第 2 层包含来自多集群自动扩展器的主动扩展请求,这些请求基于 30 秒工作负载预测器的预测。

image-6.png

(4)共享资源池自动伸缩

为了最小化共享资源池和按需资源池的资源总成本,我们首先建立一个成本模型,评估云供应商为了保障资源的弹性需要付出的资源成本。接下来,基于成本模型,我们提出了一种定期调整共享资源池规模的AI自动扩展算法。


成本模型:让我们用一个例子来介绍两个资源池的成本模型。在下图中,蓝色曲线表示所有实例共享同一个共享资源池的区域内所有AnalyticDB实例的总CPU分配;橙色曲线表示所有 Tier 1 请求的 CPU 分配(工作负载分离后);虚线表示共享资源池的大小。𝑆1 表示共享资源池中搁置的资源。𝑆2 表示按需资源池中更昂贵的资源。成本开销定义为 𝑆1 和 𝑆2 的组合,即其中 𝑘 是按需资源价格与共享资源价格的比率。例如,当 𝑘 = 1.2 时,表示按需资源比共享资源贵 1.2 倍。因此,𝑆2 的额外成本开销应为 0.2 × 𝑆2。

image.png

image-7.png


共享资源池弹性算法:成本模型不仅评估资源成本,还指导如何最小化成本开销。例如,在上图中,𝑆1 和 𝑆2 随着共享资源池(用 𝑙 表示)的大小而变化。在公式 5 中,有一个最小化成本的最佳大小。具体算法如下:

image-2.png

实验分析

使用AnalyticDB MySQL购买出来的多集群弹性实例,结合Job资源组投递进行性能评估。

(1)查询RT

Flux对比被动式自动扩展:对于在多集群组上执行的短时间运行查询(下图a、b 和 c),与被动式自动扩展相比,Flux将 P99 查询RT降低了38%-75%。此外,平均查询RT降低了17%-54%。


Flux对比主动式自动扩展:与没有工作负载分离的主动式自动扩展相比,Flux将 P99 查询RT降低了30%-55%,将平均查询RT降低了11%-19%。


Flux将长时间运行查询的查询RT降低了约50%。

image-9.png

(2)资源利用率

Flux相比于被动伸缩(黄线),闲置资源分配减少了48.5%,资源利用率提升了12.2%。相比于主动预测(绿线),闲置资源分配减少了约61.9%,资源利用率提升了19.0%。

image-10.png

(3)资源成本

我们统计了阿里云某个区域内1700多个AnalyticDB实例的总资源分配情况。通过结合两个区域的成本模型计算,Flux相比基线可以节省约77.8%的成本开销。

image-11.png


AnalyticDB MySQL弹性能力的使用手册

论文相关功能使用手册参考👉点击前往

👉论文原文下载

相关实践学习
数据库实验室挑战任务-初级任务
本场景介绍如何开通属于你的免费云数据库,在RDS-MySQL中完成对学生成绩的详情查询,执行指定类型SQL。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
相关文章
|
2天前
|
人工智能
[AI Mem0] 快速开始:智能记忆管理,让你的数据活起来!
[AI Mem0] 快速开始:智能记忆管理,让你的数据活起来!
|
1天前
|
Cloud Native 关系型数据库 新能源
|
2天前
|
机器学习/深度学习 存储 人工智能
智能化运维:AI在IT管理中的应用与挑战
【7月更文挑战第22天】在数字化转型的浪潮中,智能化运维成为企业追求效率和创新的关键。本文将深入探讨人工智能(AI)技术如何在IT运维领域发挥作用,包括自动化故障检测、预测性维护、以及智能决策支持等。同时,文章也将揭示AI运维面临的挑战,如数据隐私保护、模型可解释性和高成本投入等问题,并提出相应的解决策略。
|
5天前
|
机器学习/深度学习 人工智能 算法
智能医疗新时代:AI在诊断与治疗中的深度探索
【7月更文第19天】随着人工智能技术的飞速发展,其在医疗领域的应用正逐渐成为推动行业变革的关键力量。从精准的医学影像分析到疾病的早期预测,再到加速药物研发进程,AI技术正以前所未有的方式辅助医生制定更加个性化、高效的治疗方案,为患者带来新的希望。本文将深入探讨AI在健康医疗中的三大核心应用领域:医学影像分析、疾病预测与药物研发,并通过代码示例展示其技术实践。
25 4
|
3天前
|
人工智能 搜索推荐 机器人
[AI Mem0] 概览,智能自我改进记忆层
[AI Mem0] 概览,智能自我改进记忆层
|
5天前
|
机器学习/深度学习 人工智能 供应链
智能制造:AI驱动的生产革命——探索生产线优化、质量控制与供应链管理的新纪元
【7月更文第19天】随着第四次工业革命的浪潮席卷全球,人工智能(AI)正逐步成为推动制造业转型升级的核心力量。从生产线的智能化改造到质量控制的精密化管理,再到供应链的全局优化,AI技术以其强大的数据处理能力和深度学习算法,为企业开启了全新的生产效率和质量标准。本文将深入探讨AI在智能制造中的三大关键领域——生产线优化、质量控制、供应链管理中的应用与影响,并通过具体案例和代码示例加以阐述。
38 3
|
9天前
|
机器学习/深度学习 人工智能 运维
智能化运维:AI在IT管理中的创新应用
【7月更文挑战第15天】本文探讨了人工智能(AI)如何革新传统的IT运维模式,通过智能自动化、实时分析和预测性维护,显著提高运维效率和准确性。文章将深入分析AI技术在故障检测与解决、资源优化配置以及安全监控等方面的具体应用案例,并讨论实施AI时可能遇到的挑战和解决方案。
49 2
|
10天前
|
机器学习/深度学习 人工智能 自然语言处理
智能引领未来:精准选择与高效利用AI技术的实战指南
【7月更文第14天】在当今科技飞速发展的时代,人工智能(AI)已不再局限于科幻电影的想象,而是成为了推动各行各业革新升级的核心驱动力。从自动驾驶汽车到个性化推荐系统,从医疗诊断辅助到智能制造,AI正深刻改变着我们的生活和工作方式。然而,面对琳琅满目的AI技术和工具,如何精准选择并高效利用AI,成为企业和开发者亟需解决的关键问题。本文将为您揭示这一过程中的核心策略与实践技巧,并通过一个简单的代码示例,让您直观感受AI技术的魅力。
34 3
|
12天前
|
机器学习/深度学习 数据采集 人工智能
智能化运维:AI在系统管理中的应用与挑战
本文将深入探讨人工智能(AI)技术在运维领域的应用,分析其带来的效率提升和成本节约,同时指出实施过程中可能遇到的技术和管理挑战。文章还将提供针对这些挑战的应对策略,以期为运维专业人士提供指导和参考。
|
5天前
|
机器学习/深度学习 人工智能 自然语言处理

相关产品

  • 云原生数据仓库AnalyticDB MySQL版