华南农业大学《分布式计算系统》——核心技术学习
按八章阅读知识点:论述、视频、详解、应用场景和选择题
从系统概论和进程通信,到数据划分、复制一致、容错共识、事务、批处理,以及图计算、机器学习、联邦学习和云边系统
系统概论
1 分布式系统概论
「1 分布式系统概论」合并讲解原 1.1、1.2、1.3、1.4、1.5、1.6 等内容,属于《分布式计算系统》系统概论部分。建立分布式系统的整体图景:定义、目标、结构与技术地图。本章目标是建立分布式...
通信
2.1 进程、线程与地址空间
「2.1 进程、线程与地址空间」是《分布式计算系统》通信部分的核心知识点。说明独立节点如何通过进程、线程、RPC 与消息协同工作。本知识点首先把握:冯·诺依曼模型:取指、执行,指令和数据经总线进出存储...
2.2 进程间通信
「2.2 进程间通信」是《分布式计算系统》通信部分的核心知识点。说明独立节点如何通过进程、线程、RPC 与消息协同工作。本知识点首先把握:协议分层:应用不必直接面对传输细节,中间件提供更高层服务。学习...
2.3 客户机与服务器
「2.3 客户机与服务器」是《分布式计算系统》通信部分的核心知识点。说明独立节点如何通过进程、线程、RPC 与消息协同工作。本知识点首先把握:客户机支持位置透明和复制透明:换地址、换副本,调用方式不变...
2.4 远程过程调用
「2.4 远程过程调用」是《分布式计算系统》通信部分的核心知识点。说明独立节点如何通过进程、线程、RPC 与消息协同工作。本知识点首先把握:目标:远程调用写起来像本地过程调用。学习时请把它放回整门课主...
2.5 面向消息的通信
「2.5 面向消息的通信」是《分布式计算系统》通信部分的核心知识点。说明独立节点如何通过进程、线程、RPC 与消息协同工作。本知识点首先把握:瞬时:Berkeley Socket、MPI。MPI 面向...
2.6 多播
「2.6 多播」是《分布式计算系统》通信部分的核心知识点。说明独立节点如何通过进程、线程、RPC 与消息协同工作。本知识点首先把握:组成员关系要管理加入和退出。学习时请把它放回整门课主线——把独立计算...
数据划分
3.1 为什么划分
「3.1 为什么划分」是《分布式计算系统》数据划分部分的核心知识点。解决数据放在哪里、如何定位与扩容时如何少搬家的问题。本知识点首先把握:目的:集群变大时,容量和算力一起变大。学习时请把它放回整门课主...
3.2 静态划分
「3.2 静态划分」是《分布式计算系统》数据划分部分的核心知识点。解决数据放在哪里、如何定位与扩容时如何少搬家的问题。本知识点首先把握:范围划分:一段连续键值一个分区,适合区间扫描,边界要事先算好。学...
3.3 动态调整
「3.3 动态调整」是《分布式计算系统》数据划分部分的核心知识点。解决数据放在哪里、如何定位与扩容时如何少搬家的问题。本知识点首先把握:数据规模变化后要重新划分并迁移。学习时请把它放回整门课主线——把...
3.4 数据定位
「3.4 数据定位」是《分布式计算系统》数据划分部分的核心知识点。解决数据放在哪里、如何定位与扩容时如何少搬家的问题。本知识点首先把握:目标:快速找到数据所在节点,再读或写。学习时请把它放回整门课主线...
3.5 一致性哈希
「3.5 一致性哈希」是《分布式计算系统》数据划分部分的核心知识点。解决数据放在哪里、如何定位与扩容时如何少搬家的问题。本知识点首先把握:节点和键都映射到环上,键顺时针找到第一个节点。学习时请把它放回...
3.6 GFS
「3.6 GFS」是《分布式计算系统》数据划分部分的核心知识点。解决数据放在哪里、如何定位与扩容时如何少搬家的问题。本知识点首先把握:角色:客户端、Master、Chunk Server。文件切成块,...
一致性
4.1 复制的意义
「4.1 复制的意义」是《分布式计算系统》一致性部分的核心知识点。解释多副本如何读、如何冲突判定,以及强弱一致如何取舍。本知识点首先把握:高可用:一个节点坏了,其他副本继续服务。学习时请把它放回整门课...
4.2 复制架构
「4.2 复制架构」是《分布式计算系统》一致性部分的核心知识点。解释多副本如何读、如何冲突判定,以及强弱一致如何取舍。本知识点首先把握:主从:主节点处理写,从节点同步并承担部分读。学习时请把它放回整门...
4.3 一致性阶梯
「4.3 一致性阶梯」是《分布式计算系统》一致性部分的核心知识点。解释多副本如何读、如何冲突判定,以及强弱一致如何取舍。本知识点首先把握:线性一致性:所有操作像发生在一条与真实时间兼容的全局时间线上。...
4.4 逻辑时钟
「4.4 逻辑时钟」是《分布式计算系统》一致性部分的核心知识点。解释多副本如何读、如何冲突判定,以及强弱一致如何取舍。本知识点首先把握:Lamport 时钟:收到消息后把自己的时钟拨到不小于对方,再加...
4.5 客户端一致性与 BASE、CRDT
「4.5 客户端一致性与 BASE、CRDT」是《分布式计算系统》一致性部分的核心知识点。解释多副本如何读、如何冲突判定,以及强弱一致如何取舍。本知识点首先把握:读己之写:用户随后的读至少能看见自己刚...
容错共识
5.1 为什么要容错
「5.1 为什么要容错」是《分布式计算系统》容错共识部分的核心知识点。回答故障后如何继续服务,以及如何在多数派下达成一致。本知识点首先把握:节点断电、磁盘损坏、网络分区都会发生。学习时请把它放回整门课...
5.2 故障类型
「5.2 故障类型」是《分布式计算系统》容错共识部分的核心知识点。回答故障后如何继续服务,以及如何在多数派下达成一致。本知识点首先把握:按影响范围:单点故障、网络分区、相关故障。学习时请把它放回整门课...
5.3 检测与恢复
「5.3 检测与恢复」是《分布式计算系统》容错共识部分的核心知识点。回答故障后如何继续服务,以及如何在多数派下达成一致。本知识点首先把握:心跳:固定周期简单,频率过短会误报,过长会发现得慢。学习时请把...
5.4 Paxos
「5.4 Paxos」是《分布式计算系统》容错共识部分的核心知识点。回答故障后如何继续服务,以及如何在多数派下达成一致。本知识点首先把握:角色:Proposer、Acceptor、Learner。学习...
5.5 Raft
「5.5 Raft」是《分布式计算系统》容错共识部分的核心知识点。回答故障后如何继续服务,以及如何在多数派下达成一致。本知识点首先把握:状态:Follower、Candidate、Leader。学习时...
5.6 PBFT
「5.6 PBFT」是《分布式计算系统》容错共识部分的核心知识点。回答故障后如何继续服务,以及如何在多数派下达成一致。本知识点首先把握:假设节点可能撒谎,不只是崩溃。学习时请把它放回整门课主线——把独...
分布式事务
6.1 事务与 ACID
「6.1 事务与 ACID」是《分布式计算系统》分布式事务部分的核心知识点。把跨节点操作组织成可提交或可回滚的事务。本知识点首先把握:事务是完成一项任务的操作序列,由开始、操作、提交或中止组成。学习时...
6.2 隔离级别
「6.2 隔离级别」是《分布式计算系统》分布式事务部分的核心知识点。把跨节点操作组织成可提交或可回滚的事务。本知识点首先把握:读未提交:可能脏读。学习时请把它放回整门课主线——把独立计算机组织成对用户...
6.3 并发控制
「6.3 并发控制」是《分布式计算系统》分布式事务部分的核心知识点。把跨节点操作组织成可提交或可回滚的事务。本知识点首先把握:悲观:访问前加锁,锁粒度影响并发,不当加锁会死锁。分布式环境下锁要跨节点。...
6.4 两阶段提交
「6.4 两阶段提交」是《分布式计算系统》分布式事务部分的核心知识点。把跨节点操作组织成可提交或可回滚的事务。本知识点首先把握:准备阶段:协调者问参与者能否提交,回答 Yes 的参与者进入就绪并等待。...
6.5 系统案例
「6.5 系统案例」是《分布式计算系统》分布式事务部分的核心知识点。把跨节点操作组织成可提交或可回滚的事务。本知识点首先把握:Spanner:跨地域、跨分片,用 TrueTime 给出提交顺序。学习时...
并行批处理
7.1 任务分配
「7.1 任务分配」是《分布式计算系统》并行批处理部分的核心知识点。把大批量计算拆开调度,并在失败时可靠恢复。本知识点首先把握:把耗时长的任务拆成子任务,分到多个节点,再汇总。学习时请把它放回整门课主...
7.2 任务协调
「7.2 任务协调」是《分布式计算系统》并行批处理部分的核心知识点。把大批量计算拆开调度,并在失败时可靠恢复。本知识点首先把握:同步:按步推进,步与步之间交换数据,如 BSP。学习时请把它放回整门课主...
7.3 推测执行
「7.3 推测执行」是《分布式计算系统》并行批处理部分的核心知识点。把大批量计算拆开调度,并在失败时可靠恢复。本知识点首先把握:慢任务可能拖住整个作业。学习时请把它放回整门课主线——把独立计算机组织成...
7.4 故障检测与恢复
「7.4 故障检测与恢复」是《分布式计算系统》并行批处理部分的核心知识点。把大批量计算拆开调度,并在失败时可靠恢复。本知识点首先把握:规模越大,故障越常见。心跳、历史预测、Gossip 都可用于检测。...
新型系统
8.1 分布式图计算
「8.1 分布式图计算」是《分布式计算系统》新型系统部分的核心知识点。把前述原理迁移到图计算、机器学习、云原生与边缘场景。本知识点首先把握:图又大、边又密,PageRank、最短路径、连通分量都要多轮...
8.2 分布式机器学习
「8.2 分布式机器学习」是《分布式计算系统》新型系统部分的核心知识点。把前述原理迁移到图计算、机器学习、云原生与边缘场景。本知识点首先把握:数据并行:切样本,同步梯度或参数。瓶颈常在 AllRedu...
8.3 联邦学习
「8.3 联邦学习」是《分布式计算系统》新型系统部分的核心知识点。把前述原理迁移到图计算、机器学习、云原生与边缘场景。本知识点首先把握:数据留在参与方,交换的是模型更新。学习时请把它放回整门课主线——...
8.4 云计算与云原生
「8.4 云计算与云原生」是《分布式计算系统》新型系统部分的核心知识点。把前述原理迁移到图计算、机器学习、云原生与边缘场景。本知识点首先把握:云计算:按需提供计算和存储,用户不必自备全部资源。学习时请...
8.5 边缘计算
「8.5 边缘计算」是《分布式计算系统》新型系统部分的核心知识点。把前述原理迁移到图计算、机器学习、云原生与边缘场景。本知识点首先把握:三层:设备、边缘、云。延迟敏感的放边缘,重计算放云。学习时请把它...