A-Tune-Online: Efficient and QoS-aware Online Configuration Tuning for Dynamic Workloads
作者:Yu Shen, Beicheng Xu, Yupeng Lu, Donghui Chen, Huaijun Jiang, Zhipeng Xie, Senbo Fu, Nan Zhang, Yuxin Ren, Ning Jia, Xinwei Hu, Bin Cui
Github链接:https://github.com/PKU-DAIR/A-Tune-Online
1. 问题背景与动机
现代在线服务(如数据库、编译器、分布式系统等)需要处理动态变化的负载,例如白天以交互式查询为主,夜间转为批量处理任务,或突发流量导致的负载波动。传统静态调优方法假设负载固定,无法适应这种动态性,导致历史最优配置在新负载下性能下降甚至失效。因此,在线配置调优系统需要满足三个核心目标:动态性(快速适应负载变化)、效率(低调优开销)和QoS保障(避免性能劣化)。然而,现有在线调优方法因未能有效解决历史数据干扰和负载变化检测问题,在实际场景中表现不佳。
现有在线调优方法主要分为两类:一类(如Rover[1]、Online-Tune[2])假设负载变化微小,持续复用全部历史观测数据优化,但不同负载的性能特征可能差异极大甚至负相关,导致当前调优被误导,收敛效率低下;另一类(如OnlineTune[3])尝试通过无监督聚类分割历史数据,但聚类准确性有限,误分类的观测数据仍会污染模型。此外,这些方法缺乏显式且鲁棒的负载变化检测机制。
在线负载通常具有周期性或阶段性稳定的特点(如一种负载持续运行一段时间后切换),A-Tune-Online的核心思路是:通过多阶段负载检测精准触发优化重启,隔离不相关历史数据;结合相似任务知识迁移加速重启后的收敛;并利用置信区间构建安全区域保障QoS。实验表明,其负载切换检测准确率和最终性能均显著优于现有方法。
2. 在线调优流程
图1. A-Tune-Online系统流程图
(1)流程概述
如图1所示,A-Tune-Online的在线调优流程是一个基于环境感知的动态优化系统。系统通过客户端持续采集两类关键环境变量:一类是通用系统指标,包括CPU利用率、内存使用率等基础资源指标;另一类是应用特定指标,如Spark执行器的任务执行时间、数据库查询类型分布等。这些环境变量通过日志文件采集,既保证了数据的可获取性,又避免了涉及隐私的高层信息泄露。
在服务器端,系统以环境变量为核心构建了完整的调优闭环。每次迭代时,服务器接收客户端上传的环境变量和性能数据,并将其存入历史数据库。① 系统首先采用多指标多阶段负载检测器来分析环境变量的变化:先通过基于规则的方法快速检测潜在变化,再通过回放验证确保检测准确性。当环境变量显示负载发生显著变化时,系统会触发重启优化流程。② 此时基于机器学习相似性的双预热启动机制会从历史数据中筛选最相似的任务环境特征,为新一轮优化提供热启动。之后 ③ 若环境变量未显示显著变化,则使用置信下界增强的QoS感知贝叶斯优化,基于当前环境特征构建概率随机森林模型,该模型能同时考虑配置参数和环境变量的交互影响,从而生成既安全又高效的配置推荐。
(2)多指标多阶段负载检测器
这一设计直接针对现有方法负载检测精度不足的问题。通过结合规则基检测和回放基检测,系统既能快速响应潜在变化,又能通过回放验证确保检测准确性。这种高精度的检测机制为后续优化提供了可靠的基础,避免了不必要的重启或遗漏关键变化。当检测到负载变化后,系统会触发优化重启。
A-Tune-Online采用了一种创新的多阶段负载变化检测机制,以应对动态工作负载带来的调优挑战。该系统首先通过一个基于多指标规则的高精度检测器进行初步判断,只有当所有预设指标(如CPU利用率、内存使用率等系统指标和特定应用指标)都一致表明负载变化时,才会触发变化信号。这种"全票通过"的设计理念显著降低了误报率,确保只有在负载确实发生变化时才重启优化过程。
当第一阶段的保守检测未能达成一致判断但部分指标显示异常时,系统会启动更精确但计算成本较高的回放式检测作为第二道防线。这种分阶段的设计既保证了检测的实时性,又通过逐步深入的验证确保了结果的可靠性。检测过程中,系统运用了严密的数学理论来保证多指标联合判断的精度下限,并通过精心选择的指标组合来进一步提升检测性能。一旦任一阶段确认负载变化,系统就会立即终止当前优化过程,并针对新负载启动全新的调优流程。
这种多阶段检测策略的创新之处在于:它通过规则基检测的快速筛选和回放检测的精确验证相结合,在保证高精度的同时兼顾了召回率,有效解决了传统方法在动态负载场景下要么过于敏感(导致频繁无效重启)、要么过于迟钝(错过重要变化)的两难问题。实验证明,该检测机制能准确识别各种类型的负载变化,为后续的优化重启决策提供了可靠依据。
(3)基于相似性的双预热启动机制。
A-Tune-Online采用了一种基于任务相似性的热启动策略来优化重启过程,当检测到负载变化时,系统会立即启动新调优任务,并针对不同相似度采取差异化的预热策略,既充分利用了相似任务的知识加速收敛,又有效隔离了不相似任务带来的负面影响。这一设计使得系统在重启后平均仅需15.6次迭代即可收敛,大大提升了调优效率。
系统首先构建了一个基于环境向量的任务相似性预测模型,该模型采用LightGBM回归器,通过分析随机配置在历史任务中的表现排序一致性(Kendall-tau相关系数)来量化任务相似度。
在具体实施时,系统采用两级渐进式预热机制:第一级配置预热会选取相似度最高的5个历史任务,将其最优配置作为新任务的初始候选;第二级模型预热则仅在最高相似度超过0.65阈值时,直接复用相似任务的代理模型进行前10次迭代的配置推荐。这种双重机制既充分利用了高相似任务的知识,又通过严格的相似度阈值避免了低质量迁移。实验数据显示,相似度高于0.65的代理模型在前10次迭代中预测准确性显著优于新建模型,而10次迭代后新建模型逐渐成熟,此时系统自动切换为基于当前任务观测的纯BO优化。
为确保鲁棒性,当训练数据不足时,系统会降级使用欧氏距离进行任务匹配,并禁用模型级预热,这种设计使得A-Tune-Online能够在最差情况下退化为标准BO性能。整个预热过程结束后,系统将完全依赖当前任务的观测数据,确保不相似任务的负面影响不会持续存在。
(4)置信下界增强的QoS感知贝叶斯优化。
为确保调优过程的安全性,系统引入了QoS感知机制,传统贝叶斯优化在探索新配置时可能造成性能下降,而该系统通过构建基于置信下界的安全区域,将采样限制在性能有保障的范围内,完全避免了QoS违规。
系统通过构建预测置信下界来量化每个配置的安全程度。基于此,系统动态维护一个安全区域,仅包含那些预测下界超过预设阈值δ的配置(δ通常设为默认配置性能水平)。在每轮迭代中,优化器会从安全区域内选择预期改进最大的配置进行测试,而非全局最优配置。
这种机制具有双重优势:随着观测数据积累,安全区域会自适应扩展,既避免了早期盲目探索高风险区域,又不会永久限制搜索空间。实验表明,该方法能在保证零QoS违规的前提下,实现与无约束优化相当的最终性能,解决了在线调优中安全与探索的根本矛盾。
3. 实验结果
A-Tune-Online在5个典型场景(MySQL、Redis、Kafka、UnixBench和Spark)进行评测,通过周期切换12-36种不同负载模拟真实动态环境。系统从应用日志提取10维(Kafka)至67维(MySQL)环境向量,每10分钟采集性能数据并推荐新配置,最多评估40个配置。对比基线包括GP-BO、TPE、OnlineTune等5种调优方法,测试平台为96核CPU/100G内存服务器。实验指标涵盖吞吐量(rps/lps)和运行时等关键性能参数。
图2. 无历史数据实验结果
图3. 有历史数据实验结果
实验首先在无历史知识的情况下评估各调优算法的表现,如图2所示。当所有方法都从零开始时,基于贝叶斯优化的方法(如GP-BO、TPE)在初始阶段表现优于强化学习方法(DDPG+和QTune),这与前人研究中关于强化学习需要更多初始配置的结论一致。随着时间推移,A-Tune-Online和OnlineTune凭借对动态负载的处理能力逐渐拉开差距。关键数据显示,A-Tune-Online在MySQL和Redis场景中分别实现了0.88和0.81的负载分类准确率,显著高于OnlineTune的0.59和0.57,这使其能有效利用97%的相关历史观测数据,避免不相似负载的干扰。相比之下,OnlineTune由于依赖不稳定的无监督聚类,性能受到明显限制。
如图3,在有历史知识的情况下,实验进一步验证了各方法利用先验信息的能力。预先使用标准BO为每个场景构建历史数据库后,A-Tune-Online展现出更快的收敛速度。在涵盖MySQL、Redis等五大场景的测试中,该系统相比OnlineTune和DDPG+分别实现了2.86%-13.20%和4.68%-13.18%的性能提升。特别值得注意的是,在Spark任务中仅用5次迭代就找到近优配置,证明其相似任务匹配机制的有效性。效率指标显示,达到相同性能水平时,A-Tune-Online平均比OnlineTune快2.9倍,比DDPG+快1.72倍。这些结果充分说明,系统设计的双重热启动策略能智能区分负载相似度,在保证安全性的前提下最大化历史知识的价值。
表1.切换检测召回率
此外,A-Tune-Online的负载变化检测机制在实验中展现出卓越的性能表现。如表1所示,该系统的多阶段检测策略在五大测试场景中实现了76%-91%的召回率,其中回放式检测器平均提升了8%的召回性能。特别值得注意的是,得益于保守设计原则,所有场景下的检测精度都达到了完美的100%,完全避免了误报情况。在检测效率方面,系统平均仅需触发0.6次回放检测(耗时约6分钟),且大多数负载变化能在5次配置评估内被准确识别。这些数据充分验证了系统设计的规则基检测与回放基检测相结合的策略,既保证了检测的及时性,又确保了判断的准确性。
4. 总结
A-Tune-Online 是一种面向动态工作负载的在线配置调优系统,能够同时实现高性能、高效率和 QoS 保障。该系统通过多阶段负载突变检测(结合规则和重放检测器)精准识别工作负载变化,并触发优化重启以避免历史不相关数据的干扰。为提高重启后的优化效率,它采用热启动技术,利用回归模型匹配历史相似负载并复用其配置或代理模型知识。此外,系统通过维护安全区域并优先推荐预期改进最优的配置来确保 QoS。实验表明,A-Tune-Online 在多种场景下均能准确检测负载变化、快速适应新负载,并提供比现有系统更优的配置推荐和 QoS 保障。
参考文献
- Y. Shen, X. Ren, Y. Lu, H. Jiang, H. Xu, D. Peng, Y. Li, W. Zhang, and B. Cui, “Rover: An online spark sql tuning service via generalized transfer learning,” in Proceedings of the 29th ACM SIGKDD Conference on Knowledge Discovery and Data Mining, 2023, pp. 4800-4812.
- Y. Li, H. Jiang, Y. Shen, Y. Fang, X. Yang, D. Huang, X. Zhang, W. Zhang, C. Zhang, P. Chen et al., “Towards general and efficient online tuning for spark,” Proceedings of the VLDB Endowment, vol. 16, no. 12, pp. 3570-3583, 2023.
- X. Zhang, H. Wu, Y. Li, J. Tan, F. Li, and B. Cui, “Towards dynamic and safe configuration tuning for cloud databases,” in Proceedings of the 2022 International Conference on Management of Data, 2022, pp. 631-645.
实验室简介
北京大学数据与智能实验室(Data And Intelligence Research Lab at Peking Univeristy,PKU-DAIR实验室)由北京大学计算机学院崔斌教授领导,长期从事数据库系统、大数据管理与分析、人工智能等领域的前沿研究,在理论和技术创新以及系统研发上取得多项成果,已在国际顶级学术会议和期刊发表学术论文200余篇,发布多个开源项目。课题组同学曾数十次获得包括CCF优博、ACM中国优博、北大优博、微软学者、苹果奖学金、谷歌奖学金等荣誉。PKU-DAIR实验室持续与工业界展开卓有成效的合作,与腾讯、阿里巴巴、苹果、微软、百度、快手、中兴通讯等多家知名企业开展项目合作和前沿探索,解决实际问题,进行科研成果的转化落地。
评论 0