DS

Distributed System 〇

15640 DS0 - General

Posted by freeCookie🍪 on December 18, 2017

Distributed System 零

分布式系统笔记。欢迎捉虫 。

版权和知识属于CMU壹伍陆肆零,OOC属于我。我不拥有任何知识我只是知识的搬运工。

“舍岂能为必胜哉?能无惧而已矣”

。。。表白讲师Daniel❤!表白大佬TAs:zly/Devdeep/Felipe/Vamshi/ljh/Sandeep!感谢他们带来体验这么好的DS!虽然我渣,但这届DS值得被爱❤

Distributed System is the best course I have ever had here. Thanks to all instructors.

*DS笔记系列所有英文部分属于CMU ❤\(//∇//)\ 中文是我瞎理解+瞎写

*图片都来自CMU DS课件

*All English parts including plots come from CMU lectures, copyrights reserved.

Introduction

Distributed System:A collection of independent computers that appears to its users as a single coherent system

Characters:

  • Present a single-system image
  • Easily expandable
  • Continuous availablility
  • Supported by middleware

学习目标:DS听起来很厉害Danile实在是很有魅力所以想学一下 学习分布式系统的实例和理论

Goals:

  • Resource Availability: sharing and enhanced performance
  • Transparency: for eaiser use
  • Openness: to support interoperability, portability, extensibility
  • Scalability: geopgrphic distribution, administrative domains

简而言之,DS这门课主要介绍了对于分布式的几个主要的问题(Lantency, Consistency, Fault-tolerance, Resource Sharing) 应用的算法和技术,以及目前分布式系统的一些实例学习。

DanielOH的板书,想到以后应该是没机会再听他讲课了,舍不得删(;´༎ຶД༎ຶ`),版权属于Daneil。啊顺便说有谁知道如何不用css语法之用md语法把好多张图片放到同一行里怎么弄么_(:з」∠)_

Daneil的板书

唔 出现的所有板书照片版权属于Daniel (其实我只是留个纪念)

*All copyright of notes belong to Daniel, Mistakes belong to me :-)

言归正传,所有的内容围绕着以下展开~

DS的主要内容

主要的Challenges:

  • 响应时间 Latency
  • 一致性 Consistency
  • 容错 Fault-tolerance
  • 资源共享 Resource-Sharing
  • 同步 Time-Synchronization
  • 安全 Security

所以对应的使用的技术:

  • 缓存 Cacheing
  • 存活时间 TTL(TimeToLife)/回调 Callback/分布式互斥锁 Distributed Mutex/2PC
  • PAXOS/Primary Backup/拜占庭问题 BFT PBFT/Log&Recovery
  • 磁盘阵列 RAID(0,1,4,5)/可靠性计算 MTTF等
  • 隔离 Isolation
  • 各种时钟 (Christians/Lamport total 是最重要的两个,因为可以keep global time)

案例学习:

  • 域名服务器 /内容投递网络 DNS/CDN
  • 各种分布式文件系统 NFS/AFS/GFS
  • 谷歌分布式数据库 Spanner
  • 虚拟机和容器控件 VMs/Containers

Projects:

  • P0: Key-value message system

  • P1: Distributed Bitcoin Miner

  • P2: Tribbler

  • P3: Raft (可怜由于某种原因我们没有PAXOS嘤嘤)

这是没有回收的指针:

经典同步 Classical Synchronization & Concurrency

通信和RPC Communication & RPC

分布式文件系统 Distributed File System

分布式互斥锁和一致性 Distributed Mutex & Concurrency

容错 Fault Tolerance

域名服务器、内容分发网络和域名 DNS/CDN & Naming

流行系统 Popular Systems

谷歌文件和数据库系统 GFS/HDFS/Spanner

哈希和区块链 Hashing & P2P/Blockchains

虚拟机 Virtualization

拜占庭容错 Byzantine Fault Tolerance

安全 Security