• CS 457/557: Introduction to Distributed Systems - Fall 2023, Spring 2024, Fall 2024, Spring 2025 |
• CS 595: Termination Project - Spring 2024 |
• CS 597: Independent Study - Fall 2023, Spring 2025 |
• Tutorial on Programming New AI Accelerators for Scientific Computing - Fall 2022 |
• Argonne Training Program on Extreme-Scale Computing - Summer 2022 |
Chapter of the Lecture Notes |
|||
Week 1 |
Class 1 |
Introduction 1: About distributed systems and distributed tasks |
1/22/2025 |
Week 2 |
Class 2 |
Introduction 2: Evaluation of distributed systems |
1/27/2025 |
Class 3 |
Hands-on: Nginx and Node.js |
1/29/2025 |
|
Week 3 |
Class 4 |
Programming background: Java basic and network programming |
2/3/2025 |
Class 5 |
Distributed communication 1: Naming, clock synchronization, and logical clocks |
2/5/2025 |
|
Week 4 |
Class 6 |
Distributed communication 2: TCP/IP network model and broadcast protocols |
2/10/2025 |
Class 7 |
Distributed Communication 3: IP multicast and Remote Procedure Call (RPC) & Hands-on: XML-RPC in Java |
2/12/2025 |
|
Week 5 |
Class 8 |
Distributed communication 4: Message-oriented middleware (MOM), and group communication |
2/17/2025 |
Class 9 |
Distributed Computing 1: MapReduce parallel computational model |
2/19/2025 |
|
Week 6 |
Class 10 |
Distributed Computing 2: Hadoop MapReduce framework & Hands-on: Hadoop example for PageRank |
2/24/2025 |
Class 11 |
Distributed Computing 3: Spark framework and resilient distributed dataset (RDD) & Hands-on: Spark example for PageRank |
2/26/2025 |
|
Week 8 |
Class 12 |
Distributed Computing 4: Storm real-time framework and graph computing system & Mid-Semester Overview |
3/3/2025 |
Class 13 |
Midterm Exam (in-class) |
3/5/2025 |
|
Week 10 |
Class 14 |
Distributed Storage 1: Distributed Hash Table |
3/17/2025 |
Class 15 |
Distributed Storage 2: Distributed File Systems & Hands-on: Hadoop Distributed File System (HDFS) |
3/19/2025 |
|
Week 11 |
Class 16 |
Distributed Storage 3: Distributed Mutual Exclusion |
3/24/2025 |
Class 17 |
Distributed Storage 4: Distributed Leader Election |
3/26/2025 |
|
Week 12 |
Class 18 |
Distributed Storage 5: Consensus |
3/31/2025 |
Class 19 |
Distributed Storage 6: Concurrency Control |
4/2/2025 |
|
Week 13 |
Class 20 |
Fault Tolerance |
4/7/2025 |
Class 21 |
Distributed Security |
4/9/2025 |
|
Week 14 |
Class 22 |
Group Project 1: The Google File System |
4/16/2025 |
Week 15 |
Class 23 |
Group Project 2: MapReduce: Simplified Data Processing on Large Clusters |
4/22/2025 |
Class 24 |
Group Project 3: Bigtable: A Distributed Storage System for Structured Data |
4/23/2025 |
|
Week 16 |
Class 25 |
Group Project 4: Kafka: a Distributed Messaging System for Log Processing |
4/28/2025 |
Class 26 |
Group Project 5: Zero: Memory optimizations toward training trillion parameter models |
4/30/2025 |
|
Week 17 |
Class 27 |
Group Project 6: Spanner: Google's Globally-Distributed Database |
5/5/2025 |
Class 28 |
Wrap-up and Final-Semester Overview |
5/7/2025 |