9:30-10:45 Tuesdays and Thursdays, Room 217 MLH
Instructor:
Sukumar Ghosh
201P MLH, ghosh@cs.uiowa.edu, 319-335-0738
Office Hours: 1:00-2:30 PM Tuesdays and Thursdays.
Announcements, Prerequisites, Homework and Exams, Lecture Notes, On-line resources,
Sukumar Ghosh: Distributed Systems: An Algorithmic Approach, 2006
CRC Press (ISBN 158488564)
Table of contents
In addition to the textbook, we will use the following books as references:
1. Gerard Tel , "Introduction to Distributed Algorithms," Cambridge
University Press 2000
2. George Coulouris, Jean Dollimore, Tim Kindberg , "Distributed Systems: Concepts and Design (4th Edition)," Addison Wesley/Pearson 2005
3. Andrew Tannenbaum, Maarten van Steen , "Distributed Systems: Principles and Paradigms," Prentice Hall (2nd edition) 2006.
The reference books will be on reserve in the Mathematical Sciences Library from the second week of the course.
Some knowledge of Operating Systems and/or Networking, Algorithms, and interest in Distributed Computing. This is not a programming course. Our goal is to learn and analyze why and how distributed systems work, why some of them fail, and how to tolerate failures.
Teaching Assistant
Office hours: 9:00-10:15 AM Wednesdays and 8:00-9:15 AM Fridays
Course policies are governed by the College of Liberal Arts.
A+ = 95-100 B+ = 80-84 C+ = 65-69 D+ = 50-54 F = 0-39 A = 90-94 B = 75-79 C = 60-64 D = 45-49 A- = 85-89 B- = 70-74 C- = 55-59 D- = 40-44
The instructor reserves the right to make minor modifications in the above grading scale.
|
August 28, 2007 Lecture 1. Introduction to Distributed Systems Read Chapter 1 and 2. Refresh your background |
|
August 30, 2007 Lecture 2. What good are models? Understanding models and model transformation Read Chapter 3. |
|
September 4, 2007 Lecture 3. Representing distributed computation. Understanding non-determinism, atomicity, and fairness. Read Chapter 4. |
|
September 6, 2007 Lecture 4. Liveness and safety properties. Arguing about program correctness. Read Chapter 5. |
|
September 11, 2007 Lecture 5. Sequential and concurrent events. Understanding logical clocks and vector clocks. Read Chapter 6. |
|
September 13, 2007 Lecture 6. Physical clock synchronization. Introduction to distributed mutual exclusion. Start reading Chapter 7. |
|
September 18, 2007 Lecture 7. Distributed Mutual Exclusion Continue reading Chapter 7. |
|
September 20, 2007 Lecture 8. Distributed Mutual Exclusion (continued). Introduction to distributed snapshot Start reading Chapter 8. |
|
September 25, 2007 Lecture 9. Distributed snapshot. Read Chapter 8. |
|
September 27, 2007 Lecture 10. Global state collection. Termination detection. Read Chapter 9. |
|
October 2, 2007 Lecture 11. Deadlock detection (Chapter 9) Introduction to Routing (Chapter 10). |
|
October 4, 2007 Lecture 12. Routing Read Chapter 10. |
|
October 9, 2007 Lecture 13. Interval routing, Prefix routing, graph traversal Use the slides of October 4, 2007 Read Chapter 10. |
|
October 16, 2007 Lecture 14. Minimum spanning tree construction Read Chapter 10. |
|
October 18, 2007 Lecture 15. Leader election, synchronizers Read Chapter 11. |
|
October 23, 2007 Lecture 16. Fault and Fault-tolerance Read Chapter 12. |
|
October 25, 2007 Lecture 17. Fault and Fault-tolerance Read Chapter 12. |
|
November 1, 2007 Lecture 18. Sliding window protocols. Introduction to distributed consensus. Read Chapter 13. |
|
November 6, 2007 Lecture 19. Distributed consensus in asynchronous systems: FLP impossibility result. Introduction to Byzantine Generals Problem. Read Chapter 13. |
|
November 8, 2007 Lecture 20. Byzantine Generals Problem (continued). Read Chapter 13. |
|
November 13, 2007 Lecture 21. Review. |
|
November 27, 2007 Lecture 22. Failure detectors Read Chapter 13. |
|
November 29, 2007 Lecture 23. Group Communication Read Chapter 15. |
|
December 4, 2007 Lecture 24. Group Communication Read Chapter 15. |
|
December 5, 2007 Lecture 25. Replication Read Chapter 16. |
|
December 11, 2007 Lecture 26. Replication Read Chapter 16. |
|
December 13, 2007 Wrap-up and review |