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

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

规模挑战 (主讲人:陶阳宇)在线视频

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

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

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

规模挑战 (主讲人:陶阳宇)课程教案、知识点、字幕

解决了容错问题

接下去我们问一个问题

这个系统在规模上

最大能支撑到多少台机器呢

分布式系统设计的

主要目标之一就是横向扩展

称之为scale-out

现在阿里云飞天

在2013年时已经支撑了

单个集群5000个节点

并发1万个任务

在做横向扩展设计的时候

有两个要点

第一个是多线程异步

第二个是增量的资源调度

多线程异步是编写

分布式程序一个非常重要

而且常用的技术手段

这里我以

处理网络通信的地方为例

给同学们分享一下

这里每个APP Master

都需要跟Fuxi Master

进行资源通信同时也需要跟

很多Tubo进行通信

以启动他们自己的

APP Worker

那么APP Master在处理

这些网络通信

我们称之为RPC

RPC通信的时候必须采用

线程池来处理

比如图中所示的

我们四个线程池

来处理这些消息

但是同学们也能

观察到这个现象

由于Fuxi Master

是一个中控节点

而Tubo的数量非常众多

如果将这些消息

都在同一个线程池中处理

Fuxi Master的消息有可能

会被大量的Tubo消息阻塞

这个问题我们称之为

分布式系统中的

对头阻塞问题

那在伏羲系统当中

为了规避这个问题

我们设立了

一个独立的线程池

来处理Fuxi Master的消息

另外一个线程池

来处理Tubo的消息

将线程池进行分开

我们通常称之为泳道

独立的泳道能有效的解决

Fuxi Master的消息

被对头阻塞的问题

伏羲解决规模问题的

另一个技术点是增量

伏羲采用增量的消息通信

和资源调度

这里我用一个例子来说明

增量调度的语义

我们通过一个例子

来给同学们介绍一下

伏羲所采用的

增量资源调度的协议

左边这个为我们的中控节点

Fuxi Master

右边为某一个APP Master

如果说APP Master

需要1000份资源

那最直接的一种实现方式

是直接将我要1000个资源

这样的消息直接

发送给Fuxi Master

Fuxi Master在接到

消息之后可能当前的

剩余资源只有200份

那它将说我分配给你200

这样的消息

发送给APP Master

那APP Master还会

继续发送消息

我还要剩余的800

Fuxi Master说

此时没有资源

我分配0个给你

那APP Master在下一次

通信的时候需要继续说

我还要剩余的800

依此类推

可能某一个时刻

Fuxi Master还能

分一点资源下来

这个就是最直观的

全量消息通信

每一次APP Master

提出请求的时候

都要指明它总共需要多少

而在伏羲的实现当中

为了减小这种通信量

和不必要的开销

我们采用这种增量的语义

它是这样工作的

首先APP Master

发送一个请求说

我要1000个资源

Fuxi Master收到之后

将当时空闲的200个资源

返回给APP Master

之后APP Master无需

再提交请求说我还需要800

因为Fuxi Master会将这

1000个请求记录下来

等到某一时刻

又有更多的

比如150个资源释放出来了

它直接将150个分配结果

发送给APP Master即可

这期间APP Master

无需再发多余的网络通信

以上是给同学分享的

分布式调度模块

伏羲所做的一些考虑

包括任务调度 资源调度

容错机制和

规模上的一些挑战

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

第一讲 大数据和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编程运行时库

-分布式环境下的新问题

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

-工程实现范例

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

-课程设计相关问题

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

规模挑战 (主讲人:陶阳宇)笔记与讨论

也许你还感兴趣的课程:

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