ByteBrain团队EuroSys25 | 秒级推理强化学习系统,实现云计算虚机重调度

360影视 动漫周边 2025-06-05 14:37 2

摘要:在大规模云数据中心中,虚拟机(VM)调度是保障计算资源高效利用的关键环节。尽管初始调度(VMS)已被广泛研究,但运行一段时间后的虚拟机重调度(VMR)问题却长期被忽视。VMR 指的是在已有资源使用状态下,通过迁移部分已部署的 VM 来重组资源、降低碎片、提升整

在大规模云数据中心中,虚拟机(VM)调度是保障计算资源高效利用的关键环节。尽管初始调度(VMS)已被广泛研究,但运行一段时间后的虚拟机重调度(VMR)问题却长期被忽视。VMR 指的是在已有资源使用状态下,通过迁移部分已部署的 VM 来重组资源、降低碎片、提升整体资源利用率。然而,VMR 面临状态复杂、搜索空间巨大、系统约束多样、推理效率要求高等诸多挑战,成为云基础设施中“重要却难解”的优化难题。

为此,字节跳动ByteBrain团队主导,联合UC Merced和UC Berkeley提出了 VMR²L,研发了一套基于深度强化学习的VMR系统,在保持近似最优性能的同时,将推理时间压缩至 1.1 秒,成功实现系统性能与工业可部署性的统一。本工作已在系统顶会EuroSys25发表。

论文标题:Towards VM Rescheduling Optimization Through Deep Reinforcement Learning

论文主页:https://dingxianzhong.github.io/VMR2Lhomepage/

论文链接:https://dl.acm.org/doi/abs/10.1145/3689031.3717476

论文代码:https://github.com/zhykoties/VMR2L_eurosys

论文海报:https://drive.google.com/file/d/1AkuVoXV4J67Vld7s-_dkl6OoCZUj2406/view

本文两位共同一作是字节跳动ByteBrAIn团队的实习生,Xianzhong Ding来自UC Merced,Yunkai Zhang来自UC Berkeley,Binbin Chen和Tieying Zhang为实习生mentor,通讯作者为Tieying Zhang(ByteBrain团队负责人)和Wan Du.

背景介绍

1)什么是虚拟机调度(VM Scheduling)与重调度(VM Rescheduling)?

- VM 调度(VM Scheduling)

如上图1侧所示,VM 调度指的是在新虚拟机请求到达时,系统根据当前物理机(PM)的资源状况,决定将该 VM 分配至哪台 PM 上运行,以满足资源可用性与业务约束。

- VM 重调度(VM Rescheduling)

图2部分展示了VM 重调度过程:系统将已部署的 VM 从当前 PM 迁移至另一台 PM,以优化整体资源利用率、减少资源碎片,或满足如亲和性/反亲和性、负载均衡等系统约束条件。

- 系统动态性与高频调度需求

图3所示为字节跳动内部数据中心某集群在连续 30 天内的运行数据,展示了系统每分钟处理的 VM 创建与销毁数量。

2)动机分析:为何必须满足低延迟推理?

图4:碎片率与计算时间对比(Fragment Rate, FR)

在迁移次数上限(MNL)设为 50 的场景下,基于 MIP(混合整数规划)的方法能够获得最优解,碎片率显著下降。然而,其推理时间可达 50 分钟以上,难以满足实时系统需求。相比之下,启发式算法(HA)虽然推理更快,但重排效果明显劣于 MIP,存在稳定性与调度效果的短板。

图5:推理延迟的边界效应(Elbow Point)

实验进一步发现,5 秒推理时长是 MIP 解仍可保持近似最优的“转折点”:

当推理时长 ≤ 5 秒,碎片率仍显著下降;

一旦超时,性能迅速退化,碎片率降低幅度大幅缩减。

模型细节

1)两阶段框架(Two-Stage Agent)

在我们的建模中,每轮 VM 重调度过程被视为一个 episode。若允许重调度 50 个 VM,则对应执行 50 次动作。每个动作分为两个子步骤:

第一步:

选择一个待迁移的 VM;

第二步:

为该 VM 选择一个目标物理机(PM)。

为此,我们设计了一个两阶段智能体(Two-Stage Agent)结构,以有效地支持复杂的系统约束:

如图6(a)所示,模型首先将所有 VM 和 PM 的状态嵌入统一特征空间中。随后,VM Actor 负责从中选出一个候选 VM,作为当前步骤的迁移目标。

如图6(b)所示,针对所选 VM,系统自动屏蔽所有不满足资源或约束条件的非法 PM,仅保留剩余合法目标。PM Actor 仅基于该 VM 的嵌入与剩余 PM 状态进行评分和目标选择。该设计显式剔除了非法动作,使模型在训练与推理时能自然满足诸如资源容量、亲和性/反亲和性、迁移次数限制等关键系统约束,大大提升了策略收敛性与实际部署可行性。

2)稀疏注意力特征提取(Sparse Attention)

我们采用基于注意力机制的模型作为主干,其参数规模不依赖于 VM / PM 数量,具备良好的扩展性和适应大规模集群的能力。为进一步提升结构信息建模能力,我们设计了一个基于树结构的稀疏注意力模块(Tree-Level Sparse Attention),该模块重点建模了 VM 与 PM 之间的“亲缘关系(Affiliation)”——这类结构联系在传统的全连接注意力(vanilla attention)中常被忽略,但在 VM 重调度任务中却至关重要。通过引入结构感知的稀疏注意力机制,模型能够有效学习 VM 在 PM 内部的协作与约束关系,从而提升迁移策略的表达能力与调度精度。

3)风险偏好评估机制(Risk-Seeking Evaluation)

由于我们能够精确模拟 VMR 行为的结果,因此在推理阶段可以采样多条轨迹,然后仅执行奖励值最高的轨迹。

强化学习模型在训练阶段会探索多样策略;

在推理阶段,则通过选优策略避免低概率、低质量动作,有效提升系统性能。

实验结果

1) 延迟约束下的表现

- 碎片率(FR)

如图7所示,在常见规模集群下,VMR²L 在所有对比方法中始终保持接近于MIP最低的碎片率,显著优于传统启发式算法(如 GA、POP)以及其他强化学习方案(如 Decima、NeuPlan),展现出更强的资源整合能力与调度效果。

- 推理延迟

如图8所示, VMR²L 在满足此秒级推理限制的前提下,依然在性能上全面领先,超越 MIP 等计算密集型优化方法,以及多数 RL基线模型。

2)泛化能力:适应不同优化目标

VMR²L 不仅能最小化碎片率,还可适应其他目标函数;

例如,可指定目标碎片率,在满足该目标的前提下最小化迁移数量;

在多种优化方向(碎片控制、迁移成本控制)下均具备良好性能。

3)异常负载下的鲁棒性

我们测试了模型在不同负载水平下的表现,包括:

L(低负载):资源宽裕;

M(中等负载):中间 CPU 压力;

H(高负载):系统资源紧张;

通过控制训练数据包含不同负载分布,我们观察了 VMR²L 在未知场景中的策略生成能力。

◾ 实验结果分析

单一负载训练仍具泛化能力:即使模型只在某一负载水平(如 L/M/H)上训练,VMR²L 在未见过的其他负载场景下仍能保持较优碎片率,展现良好泛化性。

混合负载训练提升最显著:在低负载与高负载数据上联合训练(VMR²L L,H)后,即使从未见过中间负载数据,模型依然在该场景中取得最佳表现,实现平滑泛化。

4)策略可视化工具

为了更好地分析重调度过程中的策略行为,我们开发了一个可视化工具,用于动态展示 VMR²L 在每一步迁移中如何优化物理机(PM)资源布局。每个柱状图代表一台 PM,其中不同颜色块表示不同规格的虚拟机(例如 xlarge、2xlarge、16xlarge 等),灰色部分表示空闲资源。每次迁移动作将会在图中以连线和步骤注解形式呈现,清晰展示迁移源 PM、目标 PM 以及迁移收益(Reward)。

结语

本研究聚焦于长期被忽视但至关重要的虚拟机重调度问题,提出了 VMR²L——一个融合系统先验与强化学习的智能调度器,兼具秒级推理速度与近最优调度性能。该方法支持复杂约束、具备强泛化能力。

ByteBrain团队介绍

ByteBrain是字节跳动AI for Infra / AI for System服务平台,旨在利用AI技术、特别是机器学习、LLM和运筹优化技术,对基础架构和系统的全生命周期进行自动优化。优化对象包括:系统运维、数据库、存储、大数据系统、虚机、容器、网络等。ByteBrain的主要方向为AIOPS、AI4DB、运筹优化、LLM4Infra,功能模块包括容量规划、资源调度、系统调参、异常检测、根因分析、慢SQL优化、LLM-AGENT等。ByteBrain团队正在招聘相关方向研究员,欢迎联系tieying.zhang@bytedance.com

来源:字节跳动技术团队

相关推荐