当前课程知识点:大数据平台核心技术 >  第三讲 资源管理与任务调度 >  资源调度 >  资源调度(主讲人:陶阳宇)

返回《大数据平台核心技术》慕课在线视频课程列表

资源调度(主讲人:陶阳宇)在线视频

资源调度(主讲人:陶阳宇)

下一节:容错机制(主讲人:陶阳宇)

返回《大数据平台核心技术》慕课在线视频列表

资源调度(主讲人:陶阳宇)课程教案、知识点、字幕

以上是给同学们分享的

关于伏羲如何

进行任务的调度

那么接下来再给大家

分享一下飞天调度系统

在解决资源调度问题时的

一些细节

首先分布式系统

是高并发的多任务系统

这里我向大家展示一下

阿里云机房中

一个集群上的任务数量曲线

从图中大家可以看到

平均有1000个任务在运行

那么问题来了

如何将集群的

CPU/Memory资源

在多个任务之间调度

有些同学可能会说

随机分配是不是就可以了

事实不是这样的

资源调度要考虑

以下几个目标

首先一个集群的资源

利用率需要最大化

第二个每个任务的

资源等待时间

必须最小化

第三个要能支持

分组控制资源的配额

第四点是要支持

临时的紧急任务

那我们来看一下

飞天分布式调度

是如何做资源调度的

首先给大家介绍一下

整体的这个架构

Fuxi Master与Tubo

这两个角色配合起来

完成资源的调度过程

Tubo是每个节点上都有的

它主要负责收集

每个机器的硬件资源

像CPU Memory

磁盘 网络等等

并发送给Fuxi Master

而Fuxi Master

是一个中控节点

它负责整个集群的资源调度

当启动一个计算任务的时候

会生成一个APP Master

APP Master它会根据

自己的需要向Fuxi Master

申请资源

当计算完成不再需要的时候

归还这个资源

首先给大家介绍一下

飞天分布式调度

在分配资源时的

第一种策略

我们称为优先级和抢占

每一个计算任务

我们称之为job

它在提交时会带上一个

priority值

也就是一个优先级值

它是一个整数

越小 优先级越高

这点可以理解为排队在前面

相同优先级的job

按照他们的提交时间来排序

先提交的优先级比较高

那么Fuxi Master在调度时

资源优先分配给

高优先级的job

剩余的资源继续分配给

次高优先级的job

如果有临时的

高优先级的任务加入

Fuxi Master会开启

抢占功能它会从当前

正在运行的任务中

从最低优先级的任务

开始强制收会资源

以分配给紧急任务

这个过程称之为抢占

抢占是为递归进行的

直到被抢的任务

优先级不高于紧急任务为止

换句话说一个紧急任务

不能够抢比它自己优先级

更高的任务

从这个图中我们可以看到

当插入了一个

紧急优先级的任务

如图中的红色方块所示

它需要获得一份资源

那Fuxi Master会从

队尾的任务开始

去剥夺它们的资源

来分配给这个紧急任务

但是这个紧急任务

之前的任务也就是那些

比抢占任务优先级

更高的任务是不会被抢占的

接着给大家介绍一下

在资源分配时的

第二个策略

公平调度

当有资源时

Fuxi Master依次轮询的

将部分资源分配给各个job

这样做的好处是

如果有job体积非常大

意思是说

它需要非常多的资源

那么它有可能

将整个集群的资源全部要走

从而使那些后面排队的job

可能会出现饿死的情况

公平调度就是为了

解决这种问题的

首先它会按优先级分组

同一优先级组内的平均分配

如果有剩余资源

再去下一个

优先级组进行分配

例如对于已有的任务

我们按照优先级进行分组

当有新的资源来的时候

我们首先在最高优先级组内

进行平均配

如果有剩余资源

再在次优先级组内

进行平均分配

依此类推

接着给大家介绍

资源分配时的第三个策略

称为配额 也叫Quota

多个任务组成一个组

通常是按照不同的业务

进行区分的

例如淘宝 支付宝

小微金服

或者是阿里妈妈

那集群管理员

会设立每一个组的资源上限

意味着这个组最多

能使用这么多CPU

Memory 磁盘等等

这个值上限

我们称之为Quota

每个组的job

所分配的资源总和

不会超过该组内的Quota

当然如果每一个组内

没有用完的Quota是可以

分享给其他的组的

会按照Quota的比例

进行均分

比如最后一个job

它有部分的资源不再使用了

那么这部分空闲的资源

会分给前面的三个组

那每个组分多少

是按照前三个组它们的比例

来分配的

在实际的运用场景中

不同的策略是可以

配合起来使用的

这里给大家展示一下

当开启了多种策略之后

Fuxi Master的调度性能

从数据中同学们可以看到

绝大多数的调度

都可以在40微秒左右完成

大数据平台核心技术课程列表:

第一讲 大数据和ODPS

-主讲人:武永卫

--大数据处理平台概述(主讲人:武永卫)

-主讲人:程永

--大数据平台ODPS(主讲人:程永)

-QUIZ--作业

第二讲 分布式存储

-大纲

--大纲(主讲人:姚文辉)

-初步认识大数据对分布式存储系统的需求

--初步认识大数据对分布式存储系统的需求

-理解大数据对分布式存储系统的需求

--理解大数据对分布式存储系统的需求(主讲人:姚文辉)

-具体说明大数据对分布式存储系统的需求

--具体说明大数据对分布式存储系统的需求(主讲人:姚文辉)

-大规模分布式存储的挑战

--大规模分布式存储的挑战(主讲人:姚文辉)

-小概率事件-Raid卡故障

--小概率事件-Raid卡故障(主讲人:姚文辉)

-分布式存储系统举例

--分布式存储系统举例(主讲人:姚文辉)

-分布式存储系统重要功能设计要点剖析

--分布式存储系统重要功能设计要点剖析(主讲人:姚文辉)

-链式写正常流程

--链式写正常流程(主讲人:姚文辉)

-写流程的另一种常见方式:主从模式

--写流程的另一种常见方式:主从模式(主讲人:姚文辉)

-链式写异常流程

--链式写异常流程(主讲人:姚文辉)

-写异常处理的另一种方法-Seal and New

--写异常处理的另一种方法-Seal and New(主讲人:姚文辉)

-读正常流程

--读正常流程(主讲人:姚文辉)

-读流程优化-BackupRead

--读流程优化-BackupRead(主讲人:姚文辉)

-IO QoS

--IO QoS(主讲人:姚文辉)

-数据正确性:checksum

--数据正确性:checksum(主讲人:姚文辉)

-数据可靠性-Replication

--数据可靠性-Replication(主讲人:姚文辉)

-数据均衡-Rebalance

--数据均衡-Rebalance(主讲人:姚文辉)

-垃圾回收-Garbage collection

--垃圾回收-Garbage collection(主讲人:姚文辉)

-Erasure coding

--Erasure coding(主讲人:姚文辉)

-Erasure coding(3,2)写入和读取过程

--Erasure coding(3,2)写入和读取过程(主讲人:姚文辉)

-元数据管理的高可用性和可扩展性

--元数据管理的高可用性和可扩展性(主讲人:姚文辉)

-元数据管理的高可用性

--元数据管理的高可用性(主讲人:姚文辉)

-Paxos概要

--Paxos概要(主讲人:姚文辉)

-Raft

--Raft(主讲人:姚文辉)

-元数据管理的可扩展性

--元数据管理的可扩展性(主讲人:姚文辉)

-不同存储介质的特性

--不同存储介质的特性(主讲人:姚文辉)

-盘古混合存储

--盘古混合存储(主讲人:姚文辉)

-QUIZ--作业

第三讲 资源管理与任务调度

-阿里云飞天分布式调度

--阿里云飞天分布式调度(主讲人:陶阳宇)

-任务调度

--任务调度(主讲人:陶阳宇)

-资源调度

--资源调度(主讲人:陶阳宇)

-容错机制

--容错机制(主讲人:陶阳宇)

-规模挑战

--规模挑战 (主讲人:陶阳宇)

-安全域性能隔离

--安全域性能隔离(主讲人:陶阳宇)

-分布式调度的发展方向

--分布式调度的发展方向(主讲人:陶阳宇)

-QUIZ--作业

第四讲 分布式编程模型的设计与演化

-数据格式和抽象

--数据格式和抽象(主讲人:吴威)

-分布式编程模型

--分布式编程模型(主讲人:吴威)

-MapReuduce编程模型

--MapReuduce编程模型(主讲人:吴威)

-关系型数据编程模型

--关系型数据编程模型(主讲人:吴威)

-分布式图计算模型

--分布式图计算模型(主讲人:吴威)

-分布式编程未来展望

--分布式编程未来展望(主讲人:吴威)

-QUIZ--作业

实践1:通过两阶段提交协议完成数据上传

-分布式事务

--分布式事务 (主讲人:冯骁)

-分布式一致性算法

--分布式一致性算法(主讲人:冯骁)

-两阶段提交与三阶段提交

--两阶段提交与三阶段提交(主讲人:冯骁)

-实践--介绍

--实践--介绍(主讲人:冯骁)

第五讲 离线分布式关系型计算

-关系型计算基本原理_1

--离线分布式关系型计算_1(主讲人:王鹏飞)

-关系型计算基本原理_2

--关系型计算基本原理_2(主讲人:王鹏飞)

-分布式环境中的连接计算和聚合计算

--分布式环境中的连接计算和聚合计算(主讲人:王鹏飞)

-其他计算和物理优化

--其他计算和物理优化(主讲人:王鹏飞)

-QUIZ--作业

第六讲 全局数据管理与调度

-提纲

--提纲(主讲人:罗李)

-课程背景介绍

--课程背景介绍(主讲人:罗李)

-前序知识

--前序知识(主讲人:罗李)

-分布式节点距离计算法则

--分布式节点距离计算法则(主讲人:罗李)

-数据分布策略

--数据分布策略(主讲人:罗李)

-分布式计算调度

--分布式计算调度(主讲人:罗李)

-数据就近原则计算如何容错

--数据就近原则计算如何容错(主讲人:罗李)

-ODPS跨集群数据依赖

--ODPS跨集群数据依赖(主讲人:罗李)

-QUIZ--作业

实践2:编写MR完成Group By+Join操作

-主讲人:谢德军

--实践2:编写MR完成Group By+Join操作(主讲人:谢德军)

第七讲 流式计算的系统设计与实现

-增量计算和流式计算

--流式计算的系统设计与实现(主讲人:强琦)

-与批量计算的区别

--与批量计算的区别(主讲人:强琦)

-业界典型系统技术概要分析

--业界典型系统技术概要分析(主讲人:强琦)

-核心技术

--核心技术(主讲人:强琦)

-消息机制

--消息机制(主讲人:强琦)

-有状态计算、并行DAG、抢占式调度和资源隔离、Failover机制

--有状态计算、并行DAG、抢占式调度和资源隔离、Failover机制(主讲人:强琦)

-StreamSQL

--StreamSQL(主讲人:强琦)

-QUIZ--作业

第八讲 内存计算

-软硬件趋势、分布式计算简史与内存计算

--软硬件趋势、分布式计算简史与内存计算(主讲人:强琦)

-分布式计算

--分布式计算(主讲人:强琦)

-内存计算

--内存计算(主讲人:强琦)

-统一的计算框架

--统一的计算框架(主讲人:强琦)

-业界经典系统技术分析-spark&flink

--业界经典系统技术分析-spark&flink(主讲人:强琦)

-QUIZ--作业

第九讲 大规模数据的分布式机器学习平台

-主讲人:褚葳

--大规模数据的分布式机器学习平台(主讲人:褚葳)

-QUIZ--作业

实践3:实现MapReduce编程运行时库

-分布式环境下的新问题

--分布式环境下的新问题(主讲人:徐冬)

-工程实现范例

--工程实现范例(主讲人:徐冬)

-课程设计相关问题

--课程设计相关问题(主讲人:徐冬)

资源调度(主讲人:陶阳宇)笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。