
【论文】略读笔记82-前沿-跨地域VM整合

📖《Towards VM Rescheduling Optimization Through Deep Reinforcement Learning》
2025 年 UC Merced大学、 UC Berkeley大学、字节跳动团队 发表于 CCF-A 类会议 EuroSys。
🎯需求
- 现代行业规模的数据中心需要管理大量虚拟机(VM)。
- 云服务提供商(Cloud Service Providers)允许最终用户(end-users)访问计算资源,例如CPU和内存。
- 他们采用资源虚拟化来最大化硬件利用率,将虚拟机(Virtual Machines,VMs)与请求的资源分配给最终用户。一个行业规模的数据中心通常组织成集群(Cluster),每个集群都有数百种物理机器(Physical Machines,PMs),每个PM可以托管多个独立运行的VM。
- 由于VM的不断创建和释放,许多小型资源片段散布在物理机器(PMs)之间。
- 但是,如果PM已经托管了多个VM,并且PM上的其余资源无法满足额外的VM请求,则不能使用剩余的资源称为碎片(fragments)。
- 为了处理这些片段,数据中心定期将一些VM重新安排为替代PM,这种做法通常称为VM重新安排。
- 为了有效地分配资源,中央服务器通过执行两个任务,调度和重调度来管理PMs上的所有VM请求,以实现不同的资源利用目标,例如最大程度地减少总体碎片率(Fragment Rate,FR)或最大程度地减少实现特定FR所需的迁移数量。
- 碎片率(Fragment Rate,FR)。FR量化了无法使用的CPU资源与所有PMS中可用的CPU资源的比率。具体而言,
- 分子代表无法用于安排16核VM的总CPU资源(即,太小或太分散而无法容纳这种VM的CPU碎片);
- 分母是所有PMs中可用的CPU资源。
- 该指标有助于评估系统如何利用其资源进行大型VM分配。
- VM调度(VM Scheduling,VMS)。当一个新的虚拟机请求到达时,VMS 会从所有可用的 PM 中选择一个可以满足该请求的 PM。如果虚拟机调度不当,会直接影响最终用户。
- 图 1 显示了 24 小时内每分钟虚拟机变化(虚拟机到达和退出)的分布情况,这是我们内部数据中心集群 30 天内的平均值。
- Y 轴表示每分钟内发生变化(到达和退出)的虚拟机数量。
- 要在所有时间为所有用户提供服务,VMS 算法(绿色数字 1)必须处理最大数量的虚拟机变更,如绿线所示,绿线代表全天持续的虚拟机调度过程。每秒高查询次数(QPS)要求 VMS 算法具有严格的延迟和稳定性,因此只有推理时间短的简单启发式方法才可行。
- 在实践中,ByteDance 采用了 best-fit,即根据添加该虚拟机前后的 FR 减少量对满足当前虚拟机要求的所有 PM 进行排序,并选择减少量最大的 PM。
- 然而,这种启发式算法会导致许多碎片分散在 PM 中。再加上已完成虚拟机的不断退出,导致许多碎片分散在各个 PM 中。
- 这些问题必须通过虚拟机重调度来解决。
- 图 1 显示了 24 小时内每分钟虚拟机变化(虚拟机到达和退出)的分布情况,这是我们内部数据中心集群 30 天内的平均值。
- VM重调度(VM Rescheduling,VMR)。重新调度对于优化资源使用至关重要,它将虚拟机从当前 PM 迁移到新的目标 PM。
- 时机:与需要全天运行的 VMS 不同,VMR 主要在非高峰时段的清晨执行,如图 1 中的红点所示,清晨的 VM 变动较少。这样就可以使用更先进的算法。在不太常见的情况下,如果观察到高 FR,有可能导致即将到来的虚拟机请求资源不足,也会执行 VMR。
- 影响:此外,如果重新调度操作失败,虚拟机只需停留在原来的 PM 上,不会影响最终用户。VMR 可通过实时迁移高效执行,确保停机时间最短。由于大多数数据中心在管理虚拟机时都将计算与存储分离(即使用云磁盘),因此只需传输内存。具体来说,我们首先将虚拟机的内存状态从源 PM 复制到目标 PM,同时继续在源 PM 上运行。在此过程中,虚拟机内存的变化(称为 “脏页”)会被跟踪并逐步重新复制,直到剩余的变化很小为止。此时,虚拟机会短暂暂停,进行最终同步。由于现代数据中心使用高带宽网络进行内部文件传输,因此 VMR 过程产生的开销较低。
- 对象-任务:
- 重调度主要应用于托管使用硬件虚拟化的虚拟机(VMs)的集群,类似于弹性计算云(EC2)环境。这些虚拟机提供强大的隔离性,并且启动成本高,因此适合运行长时间的工作负载,如开发机器。
- 对于CI/CD或CronJob等短期任务,重新调度是不必要的。它们通过Kubernetes在单独的集群中管理,Kubernetes通过操作系统级别的虚拟化提供快速启动。
- 小型虚拟机(例如,Proxy代理服务器或常规监控/测试。Proxy代理服务器在请求资源的客户端和提供该资源的服务器之间充当中间人。)使用碎片化资源创建简单,几乎不存在供应中断的风险。相反,许多直接面向消费者的高优先级任务需要中等和大型虚拟机。因此,我们的研究重点在于16核心FR,以满足字节跳动的运营需求,其中16核心是开发机器的默认虚拟机类型。
- 对象-资源:
- 为了系统稳定性,重新调度通常限制在同一个集群。一个集群通常涉及不超过几百个PM,因为
- i)它允许为不同的用户组分配专用资源,其中特定的配置可以更好地优化,
- ii)每个集群可以独立监控和管理,允许一个集群升级而不影响其他集群。
- 设置迁移数量限制(migration number limit,MNL)以控制迁移的虚拟机数量,通常选择为所有虚拟机的 2∼3%。
- 为了系统稳定性,重新调度通常限制在同一个集群。一个集群通常涉及不超过几百个PM,因为
- VMR的益处。
- 有效:考虑图2中的FR。PM1剩余12个CPU,PM2剩余20个CPU,但只有PM2可以托管另一个16核心的虚拟机,剩余的12 + (20 - 16) = 16个CPU成为碎片。因此,FR为16/(12 + 20) = 50%。在图3中,VMR将VM1从PM1重新分配到PM2,每个PM上留下16个空闲CPU,这正好可以处理额外的16核心虚拟机。VMR后的FR变为0%。
- 失效:请注意,虽然VMR算法正在计算解决方案,但VMS仍在处理新的虚拟机请求,并且完成的虚拟机也在被删除。虚拟机状态的动态性导致计算出的VMR解决方案不再是最优的,甚至可能不可行。虚拟机如果已退出或目标PM不再有足够的资源或未能满足其他服务约束,将不会被重新安排。
- 因此,VMR也需要非常高效。在第2节中,我们将VMR表述为一个混合整数规划(MIP)问题,并进行实验以表明,与其他MIP应用不同,VMR推理时间必须低于五秒,以确保解决方案具有竞争力。
- 因此,VMR也需要非常高效。在第2节中,我们将VMR表述为一个混合整数规划(MIP)问题,并进行实验以表明,与其他MIP应用不同,VMR推理时间必须低于五秒,以确保解决方案具有竞争力。
- 碎片率(Fragment Rate,FR)。FR量化了无法使用的CPU资源与所有PMS中可用的CPU资源的比率。具体而言,
- 为了有效地分配资源,中央服务器通过执行两个任务,调度和重调度来管理PMs上的所有VM请求,以实现不同的资源利用目标,例如最大程度地减少总体碎片率(Fragment Rate,FR)或最大程度地减少实现特定FR所需的迁移数量。
🚧现状
- 尽管随着数据中心的规模增长,VM重新安排的重要性越来越大,但问题仍在研究中。
- 大多数现有的解决方案要么涉及加速MIP求解器,要么完全依靠启发式方法。但是,前者仍然无法满足严格的延迟要求,而后者则导致了次优的解决方案。
🛩创新
- 我们首先表明,与大多数组合优化任务不同,由于此期间动态VM状态变化,VM重新安排算法的推理时间显着影响其性能。这会导致现有方法的扩展较差。
- 因此,我们开发了用于VM重调度的强化学习系统VMR2L,该系统结合了一组定制技术,例如适合各种约束和工作量条件的两阶段框架,该框架是一种特征提取模块,可捕获特定于重新安置,重新安置的关系信息,以使寻求评估的用户以及能够享受额外的用户,并确保使用额定范围,并准确地享受了准确的范围。
- RL非常适合,有两个原因。
- 1)首先,尽管RL通常患有样本复杂性差,但VMR在确定性的环境中运行,这意味着,鉴于当前状态和动作,可以准确预测下一个状态。这使我们能够构建一个仅需要初始的VM-PM映射进行培训的模拟器,而无需与真实数据中心互动,该中心大大降低了所需的培训样本数量。
- 2)其次,深度RL的概括能力使代理商能够离线训练并直接在生产中直接应用学习政策而无需再培训。这对于满足VMR严格的延迟要求至关重要。
- RL非常适合,有两个原因。
- 我们总结了本文的贡献如下:
- 1)用于虚拟机重新安排的 RL。我们确定了重新安排问题在延迟要求和环境不确定性方面的独特特征,这促使我们将其表述为一个 RL 问题。
- 2)虚拟机重新安排的定制技术。我们设计了
- i) 一个两阶段框架,可灵活适应不同的服务约束并解决探索难题;
- ii) 一个特征提取模块,可扩展到大型数据中心,同时捕捉 VMR 特有的关系信息;
- iii) 一个风险寻求评估管道,可利用 VMR 的确定性,在推理速度和解决方案质量之间进行更好的权衡。
- 3)VMR2L 原型和广泛评估。我们收集了两个真实数据集,并证明 VMR2L 能够适应不同的目标、服务约束以及部署时的异常工作负载。我们的代码和数据集已发布。
📊效果
- 我们对来自行业规模数据中心的数据进行了广泛的实验。我们的结果表明,VMR2L可以实现与最佳解决方案相当的性能,但运行时间为几秒钟。 代码和数据集是开源的。
⛳️未来机会
- 跨地域场景下的资源整合该如何处理?
🧠疑问
- 现在在多大规模下达到5s?如果更大规模情况下该如何处理?
- 希望这篇博客对你有帮助!如果你有任何问题或需要进一步的帮助,请随时提问。
- 如果你喜欢这篇文章,欢迎动动小手给我一个follow或star。
🗺参考文献
- 标题: 【论文】略读笔记82-前沿-跨地域VM整合
- 作者: Fre5h1nd
- 创建于 : 2025-04-28 16:40:29
- 更新于 : 2025-04-28 21:57:12
- 链接: https://freshwlnd.github.io/2025/04/28/literature/literatureNotes82/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论