MIT-6.824-Lecture1-Introduction
Lec1-Introduction
1. Distributed System
- Multiple Cooperating computers
- Storage for big web sites, MapReduce, peer-to-peer sharing
- A lots of critical infracture is distributed
1.1. Purpose of Distributed System
- to increase capacity via parallism, that’s CPU, disk and so on.
- to tolerate faults via replication
- to place computing physically close to external entities.
- to achiece security via isolation: untrust code ans so on.
1.2. Chanllenges of Distributed System
- Many concurrent parts, complex interactions
- Must cope with partial failure
- Tricky to realize performance potential
2. Lab
- Lab1-MapReduce
- Lab2-Raft for fault tolerance
- Lab3-K/V Server
- Lab4-Shared K/V service
3. Preview
- Infrastracture of application
- storage:focus on, useeful adstraction
- communication: tool need to be used to create distributed system
- computation: mapreduce
- for storage and computation, out goal is to discover abstraction where use of simplyfing the interface of system(hide the distributed system, make syste look like non-distributed system)
- topic
- Implemenatation, Tool: RPC, Threads, Concurrency Control
- Performance, Scalability: increasing number of people, increasing number of computer
- Fault Tolerance
- Availability:huge numbers of computer makes failure constant thing.
- Recoverability:for example, save disk date for recovery.
- Tool: non-volatile storage, replication
- Consistency:for key-value, there are two operation: put(k, v), get(k). but in distributed system, the replica makes many version.
- level of consistency
- Strong consistency: make gurantee
- Weak consistency: do not make gurantee
- Don’t put replica(copy) in the same place
- level of consistency
4. MapReduce
- Purpose: Looking for a framework that would make it easy for non specialists to be able to write and run giant distributed computations.
- Map function
- run on each of input file(or chunk)
- output a list of key value pair
- for example, input:
a b
, output:<a,1> <b,1>
- Reduce function
- collect all output of maps
- for example: each reduce deal with a word, result in
<a, 2>
,<b, 2>
.
- Output of MapReduce can be used as input of MapReduce, like PageRank
- More in paper.
MIT-6.824-Lecture1-Introduction
https://spricoder.github.io/2022/02/18/MIT-6.824/MIT-6-824-Lecture1-Introduction/