Fall 2007 - 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
We may need to set up a few extra class meetings to make up for any
of the regular meetings we miss due to my travel.
Room:
Office Hours in 915 SEO:
M 12:00 - 12:50pm,
W 12:00 - 12:50pm
-
(main text) Course notes.
-
Selected papers and other material from the literature will be posted on the
web or distributed in class.
-
Additional reference texts
- Advanced Concepts in Operating Systems by Singhal and Shivaratri, McGraw Hill, 1994
- Distributed Systems, by Sape Mullender, Addison-Wesley, 1993
- Distributed Operating Systems and Algorithms, by Chow and Johnson, Addison-Wesley, 1997.
- Distributed Systems Concepts and Design, by
Coulouris, Dollimore, and Kindberg, Addison-Wesley, 2001.
This course focuses on theoretical principles.
- Models: synchronous/asynchronous; shared memory/message-passing
- Global states and snapshots; time models
- Group communication, managing group views
- State predicates
- Mutual exclusion, deadlock detection, leader election
- Distributed shared memory - coherence, models
- Checkpointing, rollback recovery; distributed debugging
- Agreement and consensus
- Peer-to-peer computing
- Multicast
- other current topics
The following is only a TENTATIVE breakup of the evaluation scheme and is
subject to changes as the course progresses.
- Presentation and paper on topic of your choice (paper may or may not
relate to the presentation) (15+ 20 = 35%)
- 2 Exams (65%); exam will cover all presentation topics
All or a part of the test may be take-home (depending on class-size).
Algorithm analysis and design; or permission of the instructor.
TENTATIVE course progress chart:
Will be updated as we progress.
- Week 1: Introduction, models, failure models, synchronous/asynchronous,
blocking/nonblocking communication
- Week 2: elementary distributed algorithms
- Week 3: elementary distributed algorithms;
- Week 4: Global states; Chandy-Lamport algorithm. Time - scalar and vector clocks, read this survey paper. partial orders; clock synchronization
- Week 5: Causal order; total order, multicast and group communication
fault-tolerant communication specifications; layered protocol design;
predicate detection
- Week 6: knowedge in distributed systems, Distributed Shared Memory
- Week 7: Distributed Shared memory; Agreement and consensus
M: Deadline for forming student groups.
W: Deadline for selecting presentation papers.
- Week 8: Agreement and consensus
F October 19: In-class test
Syllabus: Modules 1 (Intro),2 (Terminology and basic calgorithms),3 (Message ordering and group communication),4 (Reasoning with Knowledge), above linked survey papers on global states and on time (scalar, vector, etc.)
- Week 9: agreement and consensus
- Week 10: agreement and consensus
- Week 11: distributed mutual exclusion
- W November 9:In-class Test.
- Week 12:
- Week 13
- Week 14
- Week 15
- M Dec 3: Presentation 9. (Prasad, Matthew)
A Scalable Content Addressable Network,
- W Dec 5: Presentation 10.(Bharath, Karthik)
Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications
.
- F Dec 7: Presentation 11. (Antonio, ArthurChristian)
Tapestry: A Resilient Global-scale Overlay for Service Deployment
Ben Y. Zhao, Ling Huang, Jeremy Stribling, Sean C. Rhea, Anthony D. Joseph, and John Kubiatowicz
IEEE Journal on Selected Areas in Communications, January 2004, Vol. 22, No. 1.
- Sat Dec 8:
Sat In-class Test 10 am-12 noon
Syllabus: see email
- Monday Dec 10, 12 noon: Term paper due
Click here for scores.
The course format will be in two parts.
- For the first part, the instructor will teach.
Attendance when the instructor is
teaching is not compulsory, but you must attend all the tests/exams.
However, if you miss class, it is your responsibility
to find out what was announced and what was covered, from other students.
- The second part involves active student
participation and is planned as follows.
Each team of 2 students will be required to present 1 or 2 papers,
depending on the final enrollment which will be known only in the third
week of class.
A paper will be assigned at least 3 weeks before its presentation date.
Also submit a description (in your own words) of the
main ideas of the paper. This should be roughly 5-7 pages.
Attendance when the student presentations are going on is compulsory.
This year,
the class presentations will be on an assortment of topics of current interest.
Each group chooses a paper/topic from the following list.
This is only a starting point. Once you select a paper on a topic
from the list below, you may have to identify more basic or
fundamental papers on that specific topic for presentation.
Pick the most basic/ fundamantal papers that are
rich in new ideas.
They must also have algorithmic content.
Please let me know which paper you would like to present. I encourage you to
meet me in person during weeks 5-8 to discuss what you would be presenting.
And continue meetings during the semester on a regular basis.
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 execpt the ACM material 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 (JPDC)
-
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)