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

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

一、资源管理模型

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

1基于slot的资源表示模型

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

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

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

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

二、资源调度策略

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

1Capacity Scheduler调度

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

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

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

2Fair Scheduler调度

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

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

三、在YARN上运行计算框架

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

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

ClientRMProtocol

AMRMProtocol 

ContainerManager

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

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6