This course will be an in-depth study of the algorithmic and implementation challenges in building large scale distributed applications. Topics include distributed coordination, scheduling, consistency issues, and fault tolerance algorithms. The course will cover how fundamental distributed systems concepts are applied to cloud computing environments. The course will mix algorithmic concepts and practical implementations; substantial programming experience is required.
Announcements
- The exam will be online during class Thursday November 12
- The Final Project Milestone 0-1 details have been announced.
- If you have feedback for us, please fill out this anonymous form!
- Check the Syllabus for more info.
- Both sections 10 and 11 of CSCI 6421 will meet together as one class. You can register for either section with no difference.
- We will meet online using Blackboard Collaborate Ultra. If we have problems with Blackboard, check here or on Slack for a backup plan!
- The course will use the Go programming language. Get ready to code!
Schedule
All deadlines are 11:59PM Eastern Time
Part 1: Building Blocks | |
---|---|
Overview
9/3/2020 |
Lecture Slides and Video (on BlackBoard Collaborate click the Menu icon and go to Recordings) |
Tasks: | Join Slack today! -- Student Survey due Monday 9/7 |
Scalable Execution
9/10/2020 | Lecture Slides and Video |
Tasks: | Readings in Chapters 1, 3 -- Watch Azure HWaaS Video -- HW1: Parallel Sum due Tuesday 9/15 |
Communication
9/17/2020 | Lecture Slides and Video |
Tasks: | Readings in Chapters 3, 4 -- Read MapReduce paper |
Architectures
9/24/2020 | Lecture Slides and Video |
Tasks: | Readings in Chapter 2 |
Resource Management
10/1/2020 | Lecture Slides and Video |
Tasks: | HW2: Map Reduce due 10/1, -10 points by 10/8 -- MapReduce Help Video |
Resource Management 2
10/8/2020 | Lecture Slides and Video |
Tasks: | HW2: Map Reduce -10 points by 10/8 -- Partner Feedback Form |
Part 2: Principles of Distributed Systems | |
---|---|
Clocks and Timing
10/15/2020 | Lecture Slides and Video -- Clock Worksheet and Solution Video |
Tasks: | Readings in Chapter 6 -- Milestone 1: Select a Topic - 10/19 |
Distributed Coordination
10/22/2020 | Lecture Slides and Video |
Tasks: | Readings in Chapter 6 |
Fault Tolerance 10/29/2020 |
Lecture Slides and Video |
Tasks: | Readings in Chapter 8 -- Milestone 2: Literature Review - 10/29 |
Replication 11/5/2020 |
Lecture Slides and Video -- Consistency Problems Worksheet |
Tasks: | Readings in Chapter 7 -- Milestone 3: Design Document - 11/8 (extended) |
Midterm Exam 11/12/2020 |
Practice problems |
Tasks: | Study! |
Part 3: Distributed Systems in Practice | |
---|---|
Performance Modeling 11/19/2020 |
Lecture Slides and Video |
Tasks: | Work on your project! |
Cloud Computing 12/3/2020 |
Lecture Slides and Video |
Tasks: | Work on your project! |
Internet of Things and Big Data 12/10/2020 |
Lecture Slides and Video |
Tasks: | Milestone 4: Final Report - 12/14 -- Bonus HW3: Leader Election - 12/10 |