Fall 2009 - CS 553 (Call no 10696) Distributed Systems
Instructor:
Ajay Kshemkalyani
Email:
ajayk@cs.uic.edu
Class meeting times: M,W,F 11:00-11:50am
Room: BH208
Office Hours in 915 SEO:
M 12:00 - 12:50pm,
W 12:00 - 12:50pm
This course focuses on theoretical principles, but will have an implementation project.
Topics
- Models: synchronous/asynchronous; shared memory/message-passing
- Global states and snapshots; time models
- Distributed graph algorithms
- Group communication (including multicast), managing group views
- State predicate detection
- Reasoning with knowledge
- Distributed mutual exclusion, distributed deadlock detection, leader election, termination detection
- Distributed shared memory - coherence, models, register constructions, atomic snapshots
- Checkpointing, rollback recovery; distributed debugging
- Agreement and consensus
- Failure detectors
- Self-stabilizing systems
- Peer-to-peer computing
- other current topics
Algorithm analysis and design; or permission of the instructor.
The following is only a tentative breakup of the evaluation scheme
and is subject to changes as the course progresses.
- 2 Exams + final (70%)
- Implementation project and report (30%)
TENTATIVE course progress chart:
Will be updated as we progress.
- Week 1: Introduction, models (Chapter 1)
- Week 2: failure models, synchronous/asynchronous communication,
blocking/nonblocking communication (Chapter 1)
- Week 3: Elementary distributed algorithms (Chapter 5)
- Week 4: Elementary distributed algorithms (Chapter 5)
- Week 5: Elementary distributed algorithms (Chapter 5)
- Week 6: Model (Chapter 2); time in a distributed system (Chapter 3: exclude Sections 3.4.3, 3.5.2, 3.6, 3.8)
- Week 7: Global state recording (Chapter 4: exclude Sections 4.4 onwards), group communication (Chapter 6)
- Week 8: Midterm on Monday Oct 12.
Causal order; total order, multicast and group communication;
fault-tolerant communication specifications; layered protocol design; (Chapter 6)
- Week 9: Knowledge in distributed systems (Chapter 8)
- Week 10: Distributed Shared memory (Chapter 12)
- Week 11: Distributed Shared memory (Chapter 12)
- Week 12: Agreement and consensus (Chapter 14);
Midterm on Wednesday Nov 11.
- Week 13: Agreement and consensus (Chapter 14)
- Week 14: Peer-to-peer systems (Chapter 18)
- Week 15: Global Predicate Detection (Chapter 11)
- Final: Thursday December 10, 10:30am-12:30pm.
Auxiliary information
Literature sources:
The following is an additional listing of traditional journals and conferences
that you may find useful in your literature search for your term paper.
Note that there are many more journals and conferences not listed here.
All can be accessed online via the library UIC portal,
i.e., from a campus IP address or after logging in to the library network
using your UID account.
-
IEEE Transactions on Parallel and Distributed systems (TPDS)
-
IEEE Transactions on knowledge and data engineering (TKDE)
-
Journal of Parallel and Distributed Computing (JPDC) - Elsevier
-
Distributed Computing - Springer
-
Journal of the ACM
-
Journal of Algorithms - Elsevier
-
SIAM Journal on Computing
-
Ad-Hoc Networks - Elsevier
-
ACM Symp. on Principles of Distributed Computing (PODC)
-
IEEE Symp. on Parallel and Distributed Processing (SPDP)
-
IEEE Network Computing and Applications Symposium (NCA)
-
Inter. Conference on Distributed Computing Systems (ICDCS)
-
Symoisum on DIstributed Computing (DISC)