首页 > 其他分享 >第 2 章分布式系统中的调度

第 2 章分布式系统中的调度

时间:2023-04-20 11:34:10浏览次数:26  
标签:容器 分布式系统 Hadoop 调度 使用 CPU

介绍

  在分布式计算中,调度器负责管理传入的容器请求,并确定接下来要运行哪些容器,在哪个节点上运行它们,以及在该节点上并行运行多少个容器。调度器的复杂性各不相同,最简单的调度器具有简单的先进先出 (FIFO) 策略。不同的调度器偏重于各种(某些层面上是相互冲突的)目标,例如:

  尽可能充分利用集群资源

  为每个用户和组提供对集群的公平访问权限

  确保高优先级或对延迟敏感的作业按时完成

  多租户分布式系统通常优先考虑用户和组之间的公平性,而不是最大资源使用;如果没有公平,用户可能会在不考虑其他人需求的情况下最大化他们自己对集群的资源占用。此外,不同的团体和业务部门将倾向于运行他们自己的较小、效率较低的集群以确保能够可控的访问使用。

  在 Hadoop 的上下文中,最常用的两个调度器之一:容量调度器和公平调度器。从历史上看,每个调度程序都是作为简单 FIFO 调度程序的扩展编写的,并且最初每个调度程序都有不同的目标,正如它们的名称所示。随着时间的推移,这两个调度器经历了趋同的演变,每个调度器都吸收了彼此的改进;今天,它们在细节上大不相同。两个调度程序都具有要调度的多个作业队列的概念,每个队列的准入是根据用户或操作员指定的策略确定的。

  Hadoop 在2.X版本后采用了两级调度,其中运行在 ResourceManager 节点上的集中式调度程序将集群资源(容器)分配给每个应用程序,运行在其中一个容器中的 ApplicationMaster 使用其他容器为应用程序运行单独的任务。ApplicationMaster 管理应用程序的细节,包括任务之间的通信和协调。这种架构比 Hadoop 最初的单级调度更具可扩展性,在后者中,单个中央节点(JobTracker)同时完成 ResourceManager 和每个 ApplicationMaster 的工作。

  许多其他现代分布式系统,如 Dryad 和 Mesos,都有类似于 Hadoop 调度器的调度器。

公平调度的资源考量

  从历史上看,大多数调度器在决定下一步调度哪个容器时只考虑单一类型的硬件资源:既计算每个节点上的空闲资源,也计算给定用户、组或队列已经使用了多少。对于 Hadoop,偏向于只考虑内存使用情况。

  然而,在多租户分布式系统中,不同的作业和容器通常具有截然不同的硬件使用配置文件,一些容器需要大量内存,而一些则使用更多的 CPU(见图 2-1)。在调度中不考虑 CPU 使用率意味着系统可能未得到充分利用,一些用户最终会获得或多于或少于其真正公平的集群份额。一种称为主导资源公平性(DRF)的策略通过考虑多种资源类型并以通用货币表示每种资源的使用情况(该资源占总分配的份额),然后根据每个容器使用最频繁的资源进行调度来解决这些限制。

                  

            图 2-1。在生产集群的代表性时间段内,每个容器的物理内存使用情况与 CPU 使用情况。请注意,某些作业消耗大量内存,而使用相对较少的 CPU;其他人使用大量 CPU 但内存相对较少。

  在 Hadoop 中,运营商可以配置 Fair Scheduler 和 Capacity Scheduler,以便在考虑在给定节点上接下来启动哪个容器时同时考虑内存和 CPU(使用 DRF 框架) 。

后续补充.....

标签:容器,分布式系统,Hadoop,调度,使用,CPU
From: https://www.cnblogs.com/coder-life/p/17336171.html

相关文章

  • Kubernetes集群调度增强之超容量扩容
    作者:京东科技 徐宪章1什么是超容量扩容超容量扩容功能,是指预先调度一定数量的工作节点,当业务高峰期或者集群整体负载较高时,可以使应用不必等待集群工作节点扩容,从而迅速完成应用横向扩容。通常情况下HPA、ClusterAutosacler和超容量扩容同时使用以满足负载敏感度高的业务场景。超......
  • 操作系统(3.2.1)--作业调度的主要任务
    作业调度的主要功能是根据作业控制块中的信息,审查系统能否满足用户作业的资源需求,以及按照一定的算法,从外存的后备队列中选取某些作业调入内存,并为它们创建进程、分配必要的资源。然后再将新创建的进程插入就绪队列,准备执行。有时也把作业调度称为接纳调度(AdmissionScheduling)。......
  • 设置master调度_去除master污点
    转载自:https://www.modb.pro/db/424007=============== 使用kubeadm初始化的集群,默认情况下,出于安全考虑Pod不会被调度到MasterNode上,不参与工作负载。在某些资源有限的情况下,需要允许master节点部署pod,可以设置去除Master节点污点,使Master节点可以承担工作负载。 1.查看......
  • 主题:基于共享储能电站的工业用户日前优化经济调度
    Matlab调用Yalmip工具箱,采用Cplex或Gurobi求解器求解。主题:基于共享储能电站的工业用户日前优化经济调度多用户(微网)储能电站日前经济调度,完美复现......
  • MATLAB代码 柔性负荷 综合能源系统 低碳调度
    MATLAB代码柔性负荷综合能源系统低碳调度考虑柔性负荷的综合能源系统低碳经济调度综合能源系统(IES)逐渐成为实现减排目标的重要支撑技术。 基于能源集线器概念,结合需求侧柔性负荷的可平移、可转移、可削减特性,构建了含风光储、燃气轮机、柔性负荷等在内的IES模型。 综合......
  • 电-气-热综合能源系统耦合优化调度
    电-气-热综合能源系统耦合优化调度关键词:综合能源系统优化调度电气热耦合 仿真平台:MATLAB+CPLEX主要内容:代码主要做的是一个考虑电网、热网以及气网耦合调度的综合能源系统优化调度模型,考虑了电网与气网,电网与热网的耦合,算例系统中,电网部分为10机39节点的综合能源系统,气网......
  • MATLAB代码:计及电转气 含碳捕集与垃圾焚烧虚拟电厂 优化调度
    MATLAB代码:计及电转气  含碳捕集与垃圾焚烧虚拟电厂   优化调度关键词:碳捕集 虚拟电厂需求响应优化调度电转气协同调度 参考文档:《计及电转气协同的含碳捕集与垃圾焚烧虚拟电厂优化调度》仿真平台:MATLAB需要CPLEX主要内容:代码主要做的是一个计及电转气协同的含......
  • 参照考虑源荷两侧不确定性的含风电的低碳调度,引入模糊机会约束,程序包括储能、风光、火
    电力系统 低碳调度源荷不确定风电程序语言:matlab+yalmip(可适用cplex或者gurobi作为求解器)内容:参照考虑源荷两侧不确定性的含风电的低碳调度,引入模糊机会约束,程序包括储能、风光、火电机组及水电机组,解决了目标函数含有分类特征的约束问题、非线性约束目标的线性转化问题,且......
  • MATLAB代码:基于多时间尺度滚动优化的多能源微网双层调度模型
    MATLAB代码:基于多时间尺度滚动优化的多能源微网双层调度模型关键词:多能源微网多时间尺度滚动优化微网双层模型调度主要内容:代码主要是一个多能源微网的优化调度问题,首先对于下层多能源微网模型,考虑以其最小化运行成本为目标函数,通过多时间尺度滚动优化求解其最优调度策略,对......
  • 基于共享储能电站的工业用户日前优化经济调度方法
    基于共享储能电站的工业用户日前优化经济调度方法文献复现首先提出共享储能电站的概念,分析其商业运营模式。然后将共享储能电站应用到工业用户经济优化调度中,通过协调各用户使用共享储能电站进行充电和放电的功率,实现用户群日运行成本最优。最后以江苏省3个工业用户进行算例......