
【论文】略读笔记84-前沿-大规模模拟器LGDCloudSim

📖《LGDCloudSim: A Resource Management Simulation System for Large-Scale Geographically Distributed Cloud Data Center Scenarios》
2024 年 同济大学团队 发表于 CCF-C 类会议 IEEE Cloud,获最佳学生论文奖。
🎯需求
当前IaaS提供商已在全球范围内部署数据中心,资源持续增加。
- 随着数字经济的发展,全球的laaS提供商如亚马逊、谷歌和微软已在世界各地部署数据中心以提高用户服务质量[1]。数据中心的规模和数量正在增加,总主机数量超过数千万[2],[3]。
同时,用户请求的并发性和请求类型多样性呈上升趋势。
- 全球laaS提供商处理用户请求的并发性也在增加,达到每秒高达100k次[2]。为了更好地利用地理分布数据中心资源,对多个资源节点的用户请求通常需要网络约束。例如,具有网络延迟、带宽和用户访问延迟约束的亲和性请求[4]。
🚧现状——调度架构
为了实现更好的资源分配,已提出了各种复杂的调度架构。
- 为了更好地分配资源以满足用户请求,人们提出了许多调度架构(SAs,scheduling architectures),包括多个数据中心的数据中心间调度架构(inter-SA)和单个数据中心内的数据中心内调度架构(intra-SA)。
- 前者包括集中式单级[5]、[6]、集中式双级[7]、[8]、分布式双级[9]和混合式双级[10] SA。
- 后者涉及单体[11]-[15]、两级[16]-[18]和共享状态[3]、[19]-[21] SA。
具体而言,对于inter-SA:
- 为了更好地利用不同地理位置的数据中心资源,提出了许多inter-SAs,包括集中式一阶段[5]、[6],集中式两阶段[7]、[8],分布式两阶段[9],以及混合式两阶段[10]SA,如图1所示。
- (1)在集中式一阶段SA中,集中式调度器位于所有数据中心的上层,调度器掌握所有主机资源状态的信息。它接收所有用户请求并直接将这些请求调度到相应的主机上。例如,CA-DP [5] 中使用的SA和[6]中的SA。
- (2)在集中式两阶段SA中,调度过程分为两个阶段,如OODA [7] 和[8]中的SA。在第一阶段,上层的集中式调度器将请求分发到每个数据中心。在第二阶段,每个数据中心的调度器将请求调度到相应的主机上。
- (3)在分布式两阶段SA中,没有上层的集中式调度器。用户请求被发送到最近的数据中心进行两阶段调度。首先,数据中心的调度器尝试在数据中心内部找到适合的主机来处理请求。如果未成功,则将请求调度到其他数据中心。一个代表是[9]中的SA。
- (4)在混合式两阶段SA中,类似于集中式两阶段SA和分布式两阶段SA的混合。与集中式两阶段SA相比,上层的集中式调度器将请求分发到数据中心后,数据中心的调度器可以将请求调度到主机上,或者如果没有任何合适的主机,则将请求转发到其他数据中心。一个示例是[10]中提出的SA。
- inter-SA的目标是通过上层集中调度器或数据中心转发请求到最合适的数据中心。因此,模拟这些调度架构需要多种多样的主动请求转发能力。
对于intra-SA:
- 随着单数据中心规模的增加,传统的单个集中式调度器的单体式SA [11]–[13] 已不再能满足调度需求。这导致了多调度器SA的提出,例如两级SA [16]–[18] 和共享状态SA [3],[19]–[21]。这些intra-SA如图2所示。
- (1)单体式SA:Borg [11]、[12]、Maui [13] 和 Kubernetes [14]、[15] 等单体 SA 的特点是由一个集中式调度器负责所有请求的调度决策。它们的特点包括无调度冲突和高调度质量。然而,在大规模场景中,仅由一个调度器进行请求调度具有挑战性,因为调度速度通常慢于请求到达速度。
- (2)两级式SA:以 YARN[16]、Mesos[17]和伏羲[18]为例,两级 SA 采用悲观并发控制。中央资源管理器将资源划分成小块,并将其分配给多个任务调度器,以便在块内进行独立调度。任务调度器执行请求调度,既不协作也不竞争。
- (3)状态共享式SA:共享状态 SA 采用乐观并发控制,具有多个并行调度器。每个调度器都可以通过自由竞争将请求调度到数据中心的任何主机。这方面的例子包括 Fuxi 2.0 [3]、Omega [19]、Yaqd [20] 和 Apollo [21]。
- 模拟这些内部SA的关键在于支持多调度器并行调度和调度冲突处理。
🚧现状——模拟器
然而,由于与实际实验相关的挑战,需要模拟系统来构建相关研究的环境。
- 由于基础设施限制、成本高、实验时间长、可重复性差等原因,在大规模地理分布式云数据中心(LGDC,large-scale geographically distributed cloud data center)的实际场景中进行调度实验极具挑战性。因此,使用仿真系统进行研究更为合适[22]。
- 虽然存在一些云仿真系统,如 CloudSim [22] 和 IfogSim2 [23],但它们在 LGDC 场景中的仿真能力仍然不足。
- (1) 在场景仿真方面,现有系统对全球分散的数据中心和用户之间的网络延迟和带宽描述不足。它们无法支持 LGDC 场景的部分状态同步需求[3]。它们也没有考虑复杂网络拓扑约束下的用户请求模拟。
- (2) 在调度模拟方面,许多站点间服务需要主动转发用户请求,许多站点内服务需要多个调度器并行调度。然而,现有系统并不能充分支持这些功能。此外,这些系统通常假设调度时间可以忽略不计,而这在 LGDC 场景中是不切实际的。
- (3) 在大规模仿真方面,现有系统无法支持数千万台主机和 100k/s 并发请求的仿真。它们缺乏针对大规模场景的特定优化。
🛩创新
因此,我们设计了LGDCloudSim 以支持LGDC场景的资源分配模拟。本文的主要贡献如下。
- (1)我们充分考虑了大规模地理分布云数据中心场景的特点。我们建立了LGD场景模型并提供了一个软件架构来模拟它。
- 关于场景模拟,使用谷歌网络数据集,LGDCloudSim可以模拟数据中心-数据中心(Dc-Dc)网络和数据中心-用户(De-User)网络。它支持与定制内容的数据中心状态周期性同步。它支持普通和亲和力请求。
- 关于调度模拟,它使数据中心之间能够进行主动请求转发,在数据中心内部进行多个调度器的并行调度,并跟踪调度时间。
- (2)为了支持大规模模拟,我们提出了状态管理优化和操作流程优化方法。我们提出了适用于大规模模拟的优化方法。这些方法包括状态管理和操作过程优化方法。它们减少了内存使用并加速了模拟。
- (3)我们进行了实验以确认LGDCloudSim的可扩展性和有效性。
📊效果
实验表明,LGDCloudSim可以模拟高达5 X 10^8个主机和10^7请求并发。它还支持多样化的调度架构和不同类型的请求。
⛳️未来机会
- 考虑到能源在地理分布的云数据中心场景中被广泛考虑,我们计划在未来增强LGDCloudSim模块中的数据中心能源统计功能。
- 我们还打算在LGD场景中基于LGDCloudSim研究跨SAs和内SAs、亲和请求处理方法、高效调度算法和状态同步策略。
🧠疑问
- intra-SA的分类其实有争议。
- 一方面,YARN有争议,在部分文章中将其视为单体式集中调度架构、而其他部分文章中将其视为两级式调度架构;
- 另一方面,总类别有争议,还有部分本文未归类的调度架构可被称为“完全分布式SA”,如Sparrow。
- inter-SA的进一步总结:
- 除了分布式两阶段SA外,其余架构都依赖于一个集中式调度器(所有任务都要先到达该调度器,再进行后续操作),因此在高效率要求的场景下该单点调度器将会成为瓶颈。
- 同时,目前总结的都是学界的相关架构,业界成熟的多集群管理工具有脱胎于华为的CNCF项目Karmada和脱胎于字节的KubeAdmiral,初步看来都是集中式两阶段SA。
- 希望这篇博客对你有帮助!如果你有任何问题或需要进一步的帮助,请随时提问。
- 如果你喜欢这篇文章,欢迎动动小手给我一个follow或star。
🗺参考文献
- 标题: 【论文】略读笔记84-前沿-大规模模拟器LGDCloudSim
- 作者: Fre5h1nd
- 创建于 : 2025-05-19 14:20:10
- 更新于 : 2025-05-19 15:03:37
- 链接: https://freshwlnd.github.io/2025/05/19/literature/literatureNotes84/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论