欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 明星 > 【分布式理论15】分布式调度1:分布式资源调度的由来与过程

【分布式理论15】分布式调度1:分布式资源调度的由来与过程

2025/2/22 2:14:01 来源:https://blog.csdn.net/hiliang521/article/details/145721085  浏览:    关键词:【分布式理论15】分布式调度1:分布式资源调度的由来与过程

文章目录

    • 一、操作系统的资源调度:从单核到多核
    • 二、 分布式系统的资源调度:从单台服务器到集群
    • 三、 固定资源映射
    • 四、 动态资源分配:灵活的任务-资源匹配
    • 五、 资源调度过程:从申请到执行

本文主要讨论主题:

  1. 从操作系统到分布式系统,资源调度的复杂性随着计算需求的增长而不断增加。操作系统的进程调度关注单台机器的任务执行,而分布式系统的资源调度则需要考虑多台机器、多种计算任务以及任务与资源之间的灵活匹配。
  2. 通过引入资源调度器,分布式系统可以实现更高效、更灵活的资源管理与任务调度,使得计算任务能够在更大规模的集群中平稳运行。而动态资源分配,不仅提高了资源的利用率,还为系统的扩展性、弹性和可维护性提供了保障。

 

一、操作系统的资源调度:从单核到多核

在操作系统中,资源调度的基本单位是进程。当计算任务较少,且只有一个CPU时,操作系统只能一次处理一个任务。在这种情况下,操作系统依赖进程调度算法来控制计算任务的顺序。最初的调度方式是 时间片轮转,即将CPU的使用时间划分为小片段,多个计算任务交替执行,从而使得每个任务都有机会“看起来”像是独占CPU。

随着计算需求的增加,单核CPU无法满足大量计算任务的需求,于是多核CPU应运而生。与单核不同,多核CPU可以同时执行多个任务,操作系统需要更为复杂的调度算法来协调这些核之间的工作。

 

二、 分布式系统的资源调度:从单台服务器到集群

分布式系统则是对传统操作系统调度的“扩展”。通过水平扩展,多个服务器通过网络连接起来,共同处理更高并发的计算任务。这就引出了如何在多个服务器之间有效地调度资源的问题。在传统的操作系统中,调度的是单台机器上的资源(如CPU、内存),而在分布式系统中,需要调度的资源包括了多个节点上的 CPU、内存、硬盘、网络等资源

 

三、 固定资源映射

在分布式系统中,静态资源分配是最简单的资源管理方式。静态分配将计算任务与资源节点绑定,即每个计算任务都有固定的资源节点执行。例如,在一个资源集群中,我们可以把Spark、MapReduce、Storm等计算任务分别分配到3个不同的资源节点上,每个任务都只有自己专属的节点。这样,资源节点1至3就专门用来运行Spark任务,资源节点4至6专门处理MapReduce任务。

然而,这种方式也有它的缺点。比如,当某些资源节点出现故障或者不可用时,其他任务可能无法获得足够的资源。即使有其他资源节点空闲,这些空闲节点也无法被其他计算任务使用。静态资源分配的这一局限性使得资源利用率降低,并且无法应对集群规模的动态变化。

 

四、 动态资源分配:灵活的任务-资源匹配

相比静态资源分配,动态资源分配更加灵活,它不再要求计算任务和资源节点一一绑定,而是通过一个资源调度器动态地将任务和资源进行匹配。在动态分配中,计算任务向资源调度器提出请求,调度器根据各资源节点的使用情况,决定将任务分配给哪些节点。

动态资源分配的优势在于:

  • 资源利用率提高:空闲的资源也可以被分配给其他任务。
  • 弹性扩展性:如果集群规模需要扩展,只需增加新的资源节点,资源调度器会自动将新节点纳入管理,实现资源的平滑扩展。
  • 解耦计算任务与资源:动态资源分配解耦了计算任务与资源之间的绑定关系,允许多个计算框架(如Spark、MapReduce、Storm等)共享相同的资源。这种方式能够适应各种不同的计算需求,提升了系统的灵活性和可维护性。

 

五、 资源调度过程:从申请到执行

调度策略包含所需的任务调度策略,也就是对资源和计算任务进行匹配的算法。资源池是对收集起来的硬件资源进行存储和管理的地方。资源收集器,顾名思义就是对资源节点上报的资源进行收集和汇总。

资源调度器在动态资源分配中起到了核心作用。具体来说,资源调度的过程可以分为以下几个步骤:

  1. 资源的组织与管理:分布在不同网络节点上的资源(如CPU、内存等)由节点管理器管理。节点管理器定期向资源收集器汇报每个节点的资源使用情况。这些信息进入资源池,用于后续的任务调度。

  2. 计算任务的组织与管理:当有计算任务需要调度时,任务被放入任务队列。资源调度器根据队列中的任务和资源池中的资源,利用调度策略(如FIFO、公平调度、能力调度等)来决定资源分配的优先级和方式。

  3. 资源调度策略:资源调度策略决定了任务和资源的匹配方式。根据不同的策略,可以选择FIFO策略(先进先出)、能力策略(按任务需求分配资源)等。

  4. 任务执行与资源回收:当资源被分配给任务后,计算任务在资源节点上执行。任务执行完毕后,资源调度器回收资源,空闲资源会重新进入资源池等待下一次分配。
    ![[Pasted image 20250219092738.png]]

 

《分布式架构原理与实践 - 崔皓》

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词