【云计算与大数据技术】资源管理、调度模型策略的讲解

news/2024/11/28 0:40:00/

一、资源管理模型

集群资源管理模型通常由两个部分组成,即资源表示模型和资源分配模型,由于这两个部分是耦合的,所有优化集群资源管理时需要同时结合这两个部分考虑,资源表示模型用于描述集群资源的组织方式,是集群资源统一管理的基础,从狭义上来讲,计算资源是指具有计算能力的资源,如CPU GPU等等,但实际上,对系统计算有影响的资源都可以划分到计算资源的范畴,包括内存容量,磁盘容量 IO和网络带宽等等,合理的资源表示模型可以有效的利用资源,提高集群的利用率

1:基于slot的资源表示模型

集群中每个节点的资源都是多维的,包括CPU 、内存 、网络 I/O 和磁盘 I/O,采用slot组织各个节 点上的计算资源。实际上,基于slot的资源表示模型就是各个节点上的资源等量切分成若干份,每一份用一个slot表示,同时规定任务可以根据实际需求占用多个slot。通过引入slot这一概念,各个节点上的多维度资源被抽象成单一维度的slot,这样可以把复杂的多维度资源分配问题转化成简单的slot分配问题,从而大大降低了资源管理问题的复杂度

更进一步说,slot相当于任务运行许可证,一个任务只有得到该许可证后才能获得运行的机会,这意味着每个节点上的slot数量决定了该节点上最大允许的任务并发度

2:基于最大最小公平原则的资源分配模型

对于任何共享集群的系统,资源分配都是一个至关重要的模块,一个最常用的分配策略是最大最小公平原则,其最早用于控制网络流量,以实现公平分配网络带宽,最大最小策略的基本含义就是使得资源分配的最小分配量尽可能最大,它可以防止任何网络流被饿死,同时在一定程度上尽可能地增加每个流的速率,因此最大最小公平策略被认为是一种很好的权衡有效性和公平性的自由分配策略

二、资源调度策略

在分布式计算领域中,资源分配问题是一个 任务调度问题,它的主要任务是根据当前集群中各个节点上的资源的剩余情况与各个用户作业的服务质量要求在资源和作业之间做出最优的匹配,由于用户对作业服务质量的要求是多样化的,分布式系统中的任务调度是一个多目标优化的问题,也是要给NP-Hard问题

1:Capacity Scheduler调度

Capacity Scheduler 调度器是解决多用户情况下共享集群资源的调度方式 ,使每个提交的计算任务都可以在合理的时间内完成

将总体的集群资源以可以预测和简单的方式划分到公司的多个子部门和机构,主要是Job队列的方式

每个Job队列都有一个 capacity 的保证,也同时提供资源弹性功能

2:Fair Scheduler调度

公平调度是一种赋予作业(Job)资源的方法,它的目的是让所有作业随着时间的 推移都能平均地获取等同的共享资源

当单独一个作业运行时,它将使用整个集群。 当有其他作业被提交上来时 ,系 统会将任务 (task)空闲时间片 (slot)赋给这些新的作业,以使每一个作业大概获取到等量的 CPU 时间

三、在YARN上运行计算框架

 YARN 是一个资源管理系统,负责集群资源的管理和分配。如果想将一个新的应用程序运行在 YARN 之上,通常需要编写两个组件,即 Client和 ApplicationMaster

编写一个 YARN Application 涉及下面3个RPC协议

ClientRMProtocol

AMRMProtocol 

ContainerManager

创作不易 觉得有帮助请点赞关注收藏~~~


http://www.ppmy.cn/news/3443.html

相关文章

大数据Kudu(五):Kudu基于Cloudera Manager安装及配置

文章目录 Kudu基于Cloudera Manager安装及配置 一、启动CM集群 二、登录ClouderaManager平台安装Kudu

性能测试知识之三大模型

今天的这篇文章我会聊聊在实际工作中开展性能测试,前期最核心的工作。即业务模型、流量模型和数据模型这三大模型,该如何评估和建立。在性能测试工作中,业务模型、流量模型和数据模型是至关重要且必须在项目中构建的,否则很可能导…

11-FreeRTOS配置函数 FreeRTOSConfig.h

1-FreeRTOSConfig.h介绍 FreeRTOS中的相关定义多数都在FreeRTOSConfig.h中,整个FreeRTOS的定义调用都可以在这里定义,当然你也可以自己命名一个文件实现自定义。 下面是这个文件的内容,如下: #ifndef FREERTOS_CONFIG_H #define…

突然 Java 倒下了......

TIOBE 公布了 2022 年 12 月的编程语言排行榜。 Java 首次跌出前 3 名。除此之外,Kotlin 和 Julia 也越来越接近 Top 20。 TIOBE 将于下个月揭晓其 2022 年度编程语言,目前共有 3 个候选者:Python、C 和 C。TIOBE CEO Paul Jansen指出&#…

【软件开发】前后端分离架构下JWT实现用户鉴权

前后端分离架构下JWT实现用户鉴权在【计算机网络】JWT(JSON Web Token)初识 中,我们讲解了 JWT 的基础知识。Token 验证的方式一般是用在前后端分离的软件开发项目中,所以本篇文章将会从前端和后端的角度去考虑 JWT 的实现。前端 …

【算法】实验 1 查找

目录 【实验目的】 【实验预习】 【实验内容】 1. 编写程序,实现顺序查找和折半查找 2. 编写程序,实现哈希表的构造和查找及哈希冲突的检测方法 【实验目的】 1. 掌握查找表、动态查找表、静态查找表和平均查找长度的概念 2. 掌握线性表中顺序表查…

基于opencv传统数字图像处理实现车道线检测详细过程(附源码)

车道线检测 (Lane Detection) 1、实验内容 本实验使用数字图像处理的基本方法,构建了一个车道线检测模型。该模型可以识别图像中所有的车道线,并得到完整的车道线信息。模型在tuSimple Lane Dataset大小为100的数据子集进行了测…

外贸:圣诞新年祝福语语

每到圣诞或者元旦的时候,我都会习惯给过圣诞的客户制作一张卡片,写上祝福的话,然后再在卡片的周围添加上含有我们公司信息和主打产品的图片,这样一来,即祝福了客户,而且还介绍了我们的公司和产品&#xff0…