第 7 章 分布式资源管理和调度(2)
崔皓
7.3 分布式调度架构
我们知道了资源是如何划分的,计算任务又是如何通过调度策略与资源相匹配的,以及三类调度策略是如何工作的。通过 7.2 节的介绍发现,调度器在分布式调度中占有非常重要的位置,它就是任务和资源之间的纽带。本节就来介绍一下分布式调度架构,也就是如何构建分布式调度器。在 Malte Schwarzkopf 的关于集群调度架构演进过程的论文中,提到了调度器的架构经历了中央式调度器、两级调度器和共享状态调度器,这里我们也基于这三部分进行介绍。
7.3.1 中央式调度器
中央式调度器(Monolithic Scheduler),是指在集群中只有一个节点能够运行调度程序,要保证该节点对集群中的其他节点都有访问权限,该节点可以获取其他节点的状态信息和资源,并且管理这些节点。中央式调度器同时也作为用户请求执行任务的入口,每当用户发起计算任务时,调度器就会对请求任务与自己管理的资源进行匹配,然后将计算任务分配给指定的资源节点,这就完成了调度工作。从这个过程描述来看,中央式调度器需要维护资源列表和任务列表,以便对资源和任务进行约束并执行全局调度策略。有很多集群管理系统采用了中央式调度器的设计,例如 Google Borg、Kubernetes 等。与分布式资源调度的架构相似,中央式调度器一边接收计算任务的申请,一边对管理资源,同时通过任务调度策略将两者匹配在一起。如图 7-15 所示,图中上方的调度器就是中央式调度器,其位于单个网络节点上,由资源状态管理和任务调度策略量两大模块组成。
公开
同步至部落
取消
完成
0/2000
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
![](https://static001.geekbang.org/resource/image/d0/e4/d0880927e2a522a038be2d04bf19dfe4.png)
本文深入探讨了分布式调度架构的演进历程和设计原理,重点介绍了中央式调度器和两级调度器的工作原理及其在集群资源管理中的应用。文章首先详细介绍了中央式调度器的工作原理和最佳实践,以 Google Borg 为例,阐述了其在集群资源管理中的重要性和应用。其次,讲解了两级调度器的概念,指出将资源管理和任务调度分开的优势,能更好地应对复杂的计算任务和资源管理。通过图示和案例分析,生动地展现了中央式调度器和两级调度器的工作流程和架构原理。文章还介绍了 Hadoop YARN 作为两级调度架构的经典代表,详细解析了其组成结构和工作流程。此外,还介绍了共享状态调度器的概念,以及其在解决两级调度系统存在的全局优化和并发调度受限问题方面的作用。最后,以 Google 的 Omega 架构为例,详细介绍了共享状态调度器的工作原理和架构特点,展示了其在资源分配和作业调度方面的优势。整体而言,本文通过深入的技术分析和案例阐述,全面解析了分布式调度架构的演进历程和设计原理,对于读者快速了解分布式资源管理和调度的技术特点具有重要参考价值。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《分布式架构原理与实践》
《分布式架构原理与实践》
立即购买
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论