You are on page 1of 20

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

You might also like