【论文】略读笔记27-前沿-跨地域资源预留调度
📖《Characterizing and orchestrating VM reservation in geo-distributed clouds to improve the resource efficiency》
🎯需求
- 云提供商通常从不同地理区域的多个数据中心构建地理分布式云,为不同位置的租户提供服务。
- 公共云提供商通常在不同的地理区域构建多个数据中心,为不同地点的租户提供服务。数据中心中的硬件资源通常被组织成资源池,云提供商通常提供不同的虚拟机(VM)类型供租户选择。由于不同的能源费用和虚拟机性能,这些区域和虚拟机类型通常具有不同的资源成本系数。
- 运行大规模应用的租户,往往会根据其在靠近终端用户的区域的峰值负载来预留资源,以应对不断变化的应用负载,浪费了大量资源。
- 这些地理分布式云通常托管大型应用程序,例如流视频应用程序(如 YouTube)和社交网络应用程序(如 Twitter 和 Facebook)。此类面向租户的应用程序的实际负载经常由于计划外负载峰值或每日负载模式而动态变化,需要不同数量的资源来实现严格的服务质量(QoS)。
- 为此,当前的云(例如 AWS、Azure、Google Cloud)允许租户在首选区域中预留具有首选规格的虚拟机。租户经常申请根据靠近最终用户的云区域中可能的峰值负载来预留虚拟机。
🤺挑战
因此,我们描述了生产公共地理分布式云中排名靠前的租户的 VM 请求模式,并在 4 个月内从云的前 20 个租户中开源了 VM 请求跟踪。特征分析表明,大型租户的资源使用在时序、地域、虚拟机类型等维度上具有不同的时空模式,并具有不同租户间调峰的潜力,从而进一步降低资源预留成本。
- 在本文中,我们首先分析了具有 17 个区域的生产地理分布式云中这些租户的资源(CPU 核心和内存空间)预留模式。
- 我们观察到租户指定的资源预留策略导致两个主要问题。
- 1)首先,租户往往只在短时间内使用所有预留资源,预留资源造成巨大的资源浪费。例如,在我们的地理分布式云中,最多 68.6% 的预留资源在一个区域中实际使用,而在最坏的情况下只有 1.0% 的预留资源被使用(第 4.1 节)。
- 2)其次,预留通常放置在靠近最终租户的昂贵区域或昂贵的VM类型上,昂贵区域/VM类型上的资源可能被不必要地预留(第4.2节)。在地理上接近且具有类似性能的更便宜的区域/VM 类型上保留“刚好够用”的资源是有益的,同时仍然确保所需的服务级别协议 (SLA)。
- 我们观察到租户指定的资源预留策略导致两个主要问题。
- 在本文中,我们首先分析了具有 17 个区域的生产地理分布式云中这些租户的资源(CPU 核心和内存空间)预留模式。
下图显示了我们跟踪的 84379 个租户的资源使用百分比(核心 × 小时)。据观察,前 20 位租户使用了所有资源使用量的 54.3%。虽然少数大型租户使用了很大比例的资源,但通过说服他们以较低的价格和有保证的 SLA 允许灵活的跨数据中心虚拟机预留/调度,有机会大大提高地理分布式云的资源效率。
利用上述机会并非易事,因为大型租户的资源使用表现出不同的 时间(第 5.1 节)和空间(第 5.2 节)模式。
- 1)时间模式呈现租户随时间的资源使用量。
- 例如,视频应用程序通常具有每日负载模式,而社交网络应用程序具有突发新闻的突发请求模式。
- 2)空间模式显示了租户在不同区域和虚拟机类型上的资源使用模式。
- 例如,租户可以将虚拟机部署在靠近最终用户的多个区域,以实现较短的响应延迟,或者部署在满足性能要求的各种规格的虚拟机上。
- 1)时间模式呈现租户随时间的资源使用量。
此外,我们还观察到一些大租户具有互补的时间和空间资源使用模式。
- 当某个租户使用少量资源时(实际预留大量资源),其他一些租户会使用其预留的大部分资源,反之亦然。这是因为这些租户通常运行不同的应用程序,并且他们的最终用户具有不同的访问行为。通过将这些互补租户的资源编排在地理分布式云的同一区域,可以进一步降低资源预留成本。
🚧现状
- 在数据中心内部的任务调度方面,人们提出了一系列的工作来调度VM、容器和函数,分类为:
- 1)集中式
- 2)分布式:
- 两级式
- 状态共享式
- 3)混合式
- 他们的共同目标是在低延迟调度决策下寻求高调度质量。这些调度程序专注于数据中心内的任务级调度,因此它们不能应用于在地理上预留资源和调度虚拟机。(?)
- 在地理分布式任务调度方面,大部分工作集中在管理不同数据中心之间的网络流量。
- Yugong通过项目放置、表复制和作业外包来管理网络流量,以节省公共网络带宽。
- Taiji通过将网络流量路由建模为分配问题,在地理上分配流量对象,以满足服务级别目标。
- Gaia消除了数据中心之间无关紧要的通信,同时保持了机器学习算法的正确性。
- ELIS和Nautilus在数据中心和边缘之间部署微服务时优化了公共网络中的网络流量,以实现更好的服务延迟。
- 然而,这些工作都没有考虑数据中心不同资源成本下的资源预留,没有以最小化计算资源预留成本为目的。(?)
- 此外,当前的云提供商根据云租户指定的最大需求量和实例位置来预留资源。但云租户大多数时候无法充分利用预留资源,且预留位置可能资源成本系数较高,导致资源预留成本巨大。
- 此外,纳拉亚南等人提出了一种地理分布式容量规划策略来优化部署成本,但为每个租户独立编排资源,导致资源效率较差。
- 综上所述,迄今为止对公有云资源管理和任务调度的研究缺乏对大型商业提供商大租户时空格局关键特征的透彻理解。
🛩创新
从技术上讲,要提高资源效率,需要解决三个挑战。
- 1)首先,要准确预测租户的资源使用模式,以便为租户预留“刚够用”的资源。
- 2)其次,为了避免在高成本区域或虚拟机类型上不必要地预留过多资源的情况,考虑到租户的空间资源使用模式,跨区域资源编排器需要仔细地将每个租户的预留资源分配到不同的区域/虚拟机类型。
- 3)最后,由于应用程序的负载偶尔会爆发,因此需要在线调度机制来快速为租户分配更多资源。
基于此,我们提出了一种名为ROS的资源预留和虚拟机请求调度方案,以在满足虚拟机分配请求的同时最大限度地降低资源预留成本。
因此,我们进一步提出了一种名为 ROS 的运行时方案来编排地理分布式云中的资源。 ROS根据多个租户的时间和空间资源使用模式来优化它们的资源编排。
- ROS 包括负载模式预测器、跨区域资源协调器和突发感知调度器来解决上述挑战。
- 1)预测器使用不同的预测方法来预测大租户的资源使用情况。
- 2)考虑到区域/虚拟机类型的不同成本以及大租户的互补性,编排器将预测的负载模式作为输入,将预留资源编排到不同区域/虚拟机类型上,以降低总体部署成本。
- 3)在线调度器对VM请求进行调度,并对运行时的突发请求和不规则请求进行补偿。
- ROS 包括负载模式预测器、跨区域资源协调器和突发感知调度器来解决上述挑战。
我们将贡献总结如下:
- • 我们的生产地理分布式云的开源虚拟机请求数据集。该数据集包括前 20 个租户在 4 个月内的 VM 请求跟踪。据我们所知,这是地理分布式云中第一个大型租户的虚拟机请求数据集。
- • 对我们生产级地理分布式云中的虚拟机请求进行全面分析。从分析中获得的见解确定了通过跨区域预留和调度来降低资源预留成本的机会。
- • 资源编排和调度方案的设计。该方案在满足虚拟机请求的同时,最大限度地降低了资源预留成本。仿真结果表明,它可以降低总体部署成本和预留资源。
我们的主要贡献是开源跟踪以及对地理分布式云中大型租户的虚拟机使用模式的全面分析。 ROS是基于分析而设计的,也具有多项技术新颖性。
📊效果
- 我们根据痕迹进行了模拟,结果表明,ROS 使整体部署成本降低了 75.4%,预留资源降低了 60.1%。我们在生产地理分布式云中采用了 ROS,并显示出与模拟相似的性能。
🧠疑问
- 为什么面向数据中心内的任务调度架构不能应用于面向跨数据中心的调度?
- 本文最终采用的架构如何?
- 希望这篇博客对你有帮助!如果你有任何问题或需要进一步的帮助,请随时提问。
- 如果你喜欢这篇文章,欢迎动动小手给我一个follow或star。
🗺参考文献
- 标题: 【论文】略读笔记27-前沿-跨地域资源预留调度
- 作者: Fre5h1nd
- 创建于 : 2023-11-23 19:37:32
- 更新于 : 2024-10-08 11:39:55
- 链接: https://freshwlnd.github.io/2023/11/23/literature/literatureNotes27/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论