8/29/2021 Course Modules: Distributed Computing - CS-7210-O01
Collapse All
Welcome to CS7210 Distributed Computing Complete All Items
Step 1: Getting Started
Mark done
Step 2: Course Activities and Locations
Mark done
Step 3: Enroll in the Piazza Forums
Mark done
Step 4: Check Your Canvas Communication Settings
Mark done
Step 5: Proctoring Information
Mark done
Step 6: Onboarding Quiz
7 pts | Submit
Lesson 1: Introduction to Distributed Systems Prerequisites: Welcome to CS7210 Distributed Computing Complete All Items
Lesson 1 Readings and Additional Resources
View
https://gatech.instructure.com/courses/220502/modules 1/20
8/29/2021 Course Modules: Distributed Computing - CS-7210-O01
View
Lesson 1 Introduction
Examples of Distributed Systems
What is a Distributed System?
A Simple Model of a Distributed System
A Slightly More Complex Model of a Distributed System
Importance of a Model
What is Hard about Distributed Systems?
Properties of a Distributed System
Correctness
The CAP "Theorem"
Lesson 1 Summary
Project 1 DSLabs Intro
Sep 6 | 5 pts
https://gatech.instructure.com/courses/220502/modules 2/20
8/29/2021 Course Modules: Distributed Computing - CS-7210-O01
Lesson 2: Primer on Remote Procedure Call Prerequisites: Welcome to CS7210 Distributed Computing Complete All Items
Lesson 2 Readings and Additional Resources
View
Lesson 2 Introduction
Client-Server Architecture
Challenges in Client-Server
Role of RPC
Architecture of an RPC System
Anatomy of an RPC Call
Invocation Semantics of RPC Operations 1
Invocation Semantics of RPC Operations 2
Examples of RPC Systems
Examples of RPC Systems: gRPC
https://gatech.instructure.com/courses/220502/modules 3/20
8/29/2021 Course Modules: Distributed Computing - CS-7210-O01
Lesson 2 Summary
Lesson 3: Time in Distributed Systems Prerequisites: Welcome to CS7210 Distributed Computing Complete All Items
Lesson 3 Readings and Additional Resources
View
Lesson 3 Introduction
Why Do We Need Time?
Why Is Measuring Time Hard in DS?
Logical Time
Common Notations
Concurrent Events
Logical Clock
Lamport’s Scalar Clock
Vector Clock
https://gatech.instructure.com/courses/220502/modules 4/20
8/29/2021 Course Modules: Distributed Computing - CS-7210-O01
Matrix Clock
Lesson 3 Summary
Lesson 4: State in Distributed Systems Prerequisites: Welcome to CS7210 Distributed Computing Complete All Items
Lesson 4 Readings and Additional Resources
View
Lesson 4 Introduction
Global State, Snapshots, and Other Terminology
Challenges about State in Distributed Systems
System Model
Finding a Consistent Cut: Algorithm in Action
Snapshot Algorithm
Global State
Properties of a Global State
https://gatech.instructure.com/courses/220502/modules 5/20
8/29/2021 Course Modules: Distributed Computing - CS-7210-O01
Properties of a Global State
Benefits of Global State: Evaluate Stable Properties
Definite vs. Possible State
Lesson 4 Summary
Project 2 Client-Server
Sep 20 | 10 pts
Lesson 5: Consensus in Distributed Systems Prerequisites: Welcome to CS7210 Distributed Computing Complete All Items
Lesson 5 Readings and Additional Resources
View
Lesson 5 Introduction
What is Consensus?
Preliminaries: System Model
Preliminaries: Definitions
FLP Theorem
https://gatech.instructure.com/courses/220502/modules 6/20
8/29/2021 Course Modules: Distributed Computing - CS-7210-O01
Proof in a Nutshell
Is Consensus Really Impossible?
Lesson 5 Summary
Lesson 6: Replication Prerequisites: Welcome to CS7210 Distributed Computing Complete All Items
Lesson 6 Readings and Additional Resources
View
Lesson 6 Introduction
Goal of Replication
Replication Models
Replication Techniques
Replication and Consensus
Chain Replication
CRAQ
https://gatech.instructure.com/courses/220502/modules 7/20
8/29/2021 Course Modules: Distributed Computing - CS-7210-O01
CRAQ vs CR Scalability?
Lesson 6 Summary 2
Lesson 7: Fault Tolerance Prerequisites: Welcome to CS7210 Distributed Computing Complete All Items
Lesson 7 Readings and Additional Resources
View
Lesson 7 Introduction
Some Taxonomy
Rollback-Recovery Idea
Basic Mechanisms
Checkpointing Approaches
Uncoordinated Checkpointing
Coordinated Checkpointing
Communication Induced
https://gatech.instructure.com/courses/220502/modules Checkpoints 8/20
8/29/2021 Course Modules: Distributed Computing - CS-7210-O01
Communication-Induced Checkpoints
Logging
Which Method to Use?
Lesson 7 Summary
Project 3 Primary-Backup
Oct 11 | 10 pts
Lesson 8: PAXOS and Friends Prerequisites: Welcome to CS7210 Distributed Computing Complete All Items
Lesson 8 Readings and Additional Resources
View
Lesson 8 Introduction
Goal of Consensus Protocol
2PC and 3PC
Paxos History
Paxos Made Simple
https://gatech.instructure.com/courses/220502/modules 9/20
8/29/2021 Course Modules: Distributed Computing - CS-7210-O01
Paxos Made Simple: Phases
Paxos: Prepare Phase
Paxos: Accept Phase
Paxos: Learn Phase
Corner Cases
Paxos vs. FLP
Multi-Paxos
Paxos in Practice
RAFT
RAFT Overview
RAFT Leader Election
RAFT Log Replication
RAFT Safety
https://gatech.instructure.com/courses/220502/modules 10/20
8/29/2021 Course Modules: Distributed Computing - CS-7210-O01
RAFT in Action
Lesson 8 Summary
Lesson 9: Distributed Transactions Prerequisites: Welcome to CS7210 Distributed Computing Complete All Items
Lesson 9 Readings and Additional Resources
View
Lesson 9 Introduction
What are Distributed Transactions?
Spanner Brief
Spanner Stack
Consistency Requirements
True Time
Ordering Write Transactions with TT Timestamps
Read Transactions
https://gatech.instructure.com/courses/220502/modules 11/20
8/29/2021 Course Modules: Distributed Computing - CS-7210-O01
No TrueTime?
Another DDB Example: AWS Aurora
Lesson 9 Summary
Mid-Term Exam
Oct 13 | 100 pts
Project 4 Paxos
Nov 8 | 15 pts
Lesson 10: Consistency in Distributed Data Stores Prerequisites: Welcome to CS7210 Distributed Computing Complete All Items
Lesson 10 Readings and Additional Resources
View
Lesson 10 Introduction
Why is Consistency Important and Hard?
Key-Value Store
Memcached
https://gatech.instructure.com/courses/220502/modules 12/20
8/29/2021 Course Modules: Distributed Computing - CS-7210-O01
Look-Aside Cache Design
Mechanisms in Memcached
Causal+ Consistency
Lesson 10 Summary
Lesson 11: Peer-To-Peer & Mobility Prerequisites: Welcome to CS7210 Distributed Computing Complete All Items
Lesson 11 Readings and Additional Resources
View
Lesson 11 Introduction
Communication Support Assumed So Far
Interconnect Support
Peer to Peer Systems
Connectivity in P2P
Distributed Hash Table (DHT)
https://gatech.instructure.com/courses/220502/modules 13/20
8/29/2021 Course Modules: Distributed Computing - CS-7210-O01
Chord
Hierarchical Systems
Heterogeneous Systems: A Mobile Network Example
Alternative Algorithms
Lesson 11 Summary
Lesson 12: Distributed Data Analytics Prerequisites: Welcome to CS7210 Distributed Computing Complete All Items
Lesson 12 Readings and Additional Resources
View
Lesson 12 Introduction
Data Processing at Scale
MapReduce Brief
Design Decisions MapReduce
https://gatech.instructure.com/courses/220502/modules 14/20
8/29/2021 Course Modules: Distributed Computing - CS-7210-O01
Limitations of MapReduce
Spark
Resilient Distributed Datasets (RDDs)
RDDs through Example
RDD Transformations
Did Spark Achieve its Goal?
Lesson 12 Summary
Project 5 Sharded KV Store
Dec 6 | 15 pts
Lesson 13: Support for Datacenter-Based Distributed Computing Prerequisites: Welcome to CS7210 Distributed Computing Complete All Items
Lesson 13 Readings and Additional Resources
View
Lesson 13 & 14 Introduction
https://gatech.instructure.com/courses/220502/modules 15/20
8/29/2021 Course Modules: Distributed Computing - CS-7210-O01
Datacenter Trends
What is RDMA?
RDMA-Specialized RPC
What if Memory is Persistent?
Disaggregation
Systems Software in Disaggregated Systems?
LegoOS Approach
Disaggregating CPU and Memory with LegoOS
LegoOS Select Experimental Result
Lesson 14: Datacenter-based Distributed Management Prerequisites: Welcome to CS7210 Distributed Computing Complete All Items
Lesson 14 Readings and Additional Resources
Management Stack in Datacenters
View
https://gatech.instructure.com/courses/220502/modules 16/20
8/29/2021 Course Modules: Distributed Computing - CS-7210-O01
Datacenter Management at Scale
Overview of Borg Operations
Achieving Scalability
Experimental Results
Lesson 13 & 14 Summary
Lesson 15: Distributed Machine Learning Prerequisites: Welcome to CS7210 Distributed Computing Complete All Items
Lesson 15 Readings and Additional Resources
View
Lesson 15 Introduction
Distributed Machine Learning
Distributed Machine Learning Approaches
Geo-Distributed ML
Leverage Approximation
https://gatech.instructure.com/courses/220502/modules 17/20
8/29/2021 Course Modules: Distributed Computing - CS-7210-O01
Leverage Approximation
Gaia: An Approximate Synchronous Parallel System
Tradeoffs of Using Global Model
Collaborative Learning with Cartel
Beyond Geo-Distributed Training
Lesson 15 Summary
Lesson 16: Byzantine Fault Tolerance & Blockchain Prerequisites: Welcome to CS7210 Distributed Computing Complete All Items
Lesson 16 Readings and Additional Resources
View
Lesson 16 Introduction
Byzantine Failure and Byzantine Generals
Byzantine Fault Tolerance
Practical Byzantine Fault Tolerance: pBFT
https://gatech.instructure.com/courses/220502/modules 18/20
8/29/2021 Course Modules: Distributed Computing - CS-7210-O01
pBFT Algorithm
Byzantine Consensus vs. Blockchain?
How to Learn More
Lesson 16 Summary
Lesson 17: Edge Computing & IoT (Internet of Things) Prerequisites: Welcome to CS7210 Distributed Computing Complete All Items
Lesson 17 Readings and Additional Resources
View
Lesson 17 Introduction
Tiers in Computing
Why Edge Computing?
Closing the Latency/Bandwidth Gap
Is Edge Computing New?
Edge Computing Drivers
https://gatech.instructure.com/courses/220502/modules 19/20
8/29/2021 Course Modules: Distributed Computing - CS-7210-O01
Distributed Edge Computing
IoT and Distributed Transactions
Transactuations
Evaluation of Transactuations
Lesson 17 Summary
Final Exam
Dec 15 | 100 pts
Link to Jeff Dean's talk Prerequisites: Welcome to CS7210 Distributed Computing
JeffDean_USENIX_PWL.mp4
https://gatech.instructure.com/courses/220502/modules 20/20