美文网首页程序员
MIT 6.824 lecture 1:课程介绍和MapRedu

MIT 6.824 lecture 1:课程介绍和MapRedu

作者: 东方_雨 | 来源:发表于2020-08-30 23:39 被阅读0次

最近在学习MIT的6.824课程,主要内容是关于分布式系统,其中涉及到了很多分布式相关的知识,对于分布式有一个成体系的介绍,所以准备在此记录下学习这门课程的笔记。

课程地址

https://pdos.csail.mit.edu/6.824/schedule.html

MIT 6.824 Distributed Systems Spring 2020 分布式系统 第一课 课程简介

课程介绍

什么是分布式系统?

  • 多个互相合作的计算机

  • 大型网站的存储,MapReduce以及点对点分享等

  • 许多重要基础设施是分布式的

为什么人们建造分布式系统?

优点

  • 通过并行增加容量

  • 通过复制进行容错

  • 将计算物理上靠近外部实体

  • 通过隔离保证安全

但是也有缺点

  • 许多并发的部分,复杂的交互

  • 必须处理部分失败

  • 难以实现性能潜力

课程结构

课程划分

  • Lectures

  • Papers

  • Two exams

  • Labs

  • Final project(optional)

实验

  1. MapReduce

  2. 使用Raft实现可以容错的复制

  3. 可容错的k/v 存储

  4. 分布式k/v 存储

主题

这是一门关于应用基础设施的课程

  • 存储

  • 通信

  • 计算

一个很重要的目标就是,对于隐藏分布式复杂性的抽象,在这个过程中,有以下几个主题会反复出现。

  1. 实现
  • RPC,线程,并发控制,等等
  1. 性能
  • 目标:进行可扩展的吞吐

    • Nx servers-->Nx 倍的网络,CPU,磁盘等

    • 可以通过购买更多的机器来处理更多的负载

  • 随着N变大,扩展变得困难

    • N中最慢的延迟

    • 非并行的代码:初始化,交互等

    • 共享资源的瓶颈:网络

  • 一些性能问题无法通过扩展机器来解决

    • 单个用户请求的快速相应

    • 所用用户同一时间更新数据

  1. 容错
  • 可用性

  • 可恢复性

  1. 一致性
  • 通用基础设施需要定义明确的行为

  • 实现好的行为是很困难的

  • 强一致性和性能是一对“敌人”

MapReduce学习

概览

MapReduce(简称MR):多TB数据集上的长时间计算,通常用来建立搜索的索引,或者排序,或者分析网站结构,适用于成千上百台计算机,代码并非要求专业的分布式专家来写。一般性目标为:面向非专业程序员编写。程序员仅需要定义Map和Reduce两个函数。MR负责并隐藏分布式的所有方面。

示例

image.png

一个典型的单词计数任务可以分解如下:

image.png

MR隐藏了以下细节

  • 发送app代码到server端

  • 追踪task job的状态

  • 发送数据从Map到Reduce

  • 在Server端平衡负载

  • 从失败中恢复

同时,MR限制了app可以做的东西

  • 没有交互或者状态

  • 没有迭代,没有多级流水线

  • 没有实时或者流处理

输入和输出都存储在GFS集群中

  • MR需要大规模的并发输入和输出

  • GFS将文件拆分到很多服务器中,规格大小为64MB

  • GFS拥有3个备份

  • 拥有GFS是MR的一大胜利

什么限制了性能?

--我们为什么关注这个,是因为这个是需要优化的事情,到底是CPU,内存,磁盘还是网络?

在2004年(论文发表的时候),MR的作者是被网络带宽而限制。

那MR在网络中发送了什么?

  • Map函数从GFS中读取数据

  • Reduce函数从Map的输出中读取数据

  • Reduce函数向GFS中写数据

在MR的all-to-all shuffle过程中,有一半的流量通过root来转换

今天,网络和根 switch已经比CPU/磁盘更加快

MR如果获得很好的平衡?

如果在所有的服务中,有一个服务非常慢,那么时间花费会很高,其他服务器必须要等待这个服务器。

但是一些任务要花费更多的时间要比其他任务。

解决方法:让task的数量多于worker的数量

  • Master给那些结束了之前任务的worker分配新的任务

  • 所以没有什么任务是大到可以延长结束时间的

  • 更快的服务器可以处理更多的任务

相关文章

网友评论

    本文标题:MIT 6.824 lecture 1:课程介绍和MapRedu

    本文链接:https://www.haomeiwen.com/subject/louysktx.html