Fall 2003 - CS 553 (Call no 35366) Distributed Systems

Instructor: Ajay Kshemkalyani
Email: ajayk@cs.uic.edu
Class meeting times: T,R 12:30-13:45pm
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: SES 230
Office Hours: (T,R 2:00PM - 3:00PM)@915 SEO
URL: http://www.cs.uic.edu/~ajayk/c553fa03.html

Textbooks

This course focuses on theoretical principles. You will not be programming in this course.

Course Description

  1. Models: synchronous/asynchronous; shared memory/message-passing
  2. Global states and snapshots; time models
  3. Group communication, managing group views
  4. State predicates
  5. Mutual exclusion, deadlock detection, leader election
  6. Distributed shared memory - coherence, models
  7. Checkpointing, rollback recovery; distributed debugging
  8. Agreement and consensus
  9. Peer-to-peer computing
  10. Multicast
  11. other current topics

Grading

The following is only a TENTATIVE breakup of the evaluation scheme and is subject to changes as the course progresses. The full scale of grades ("A" - "E") will be used. Handwritten submissions, except for the exam(s), will not be accepted.

Prerequisites

Algorithm analysis and design, Operating systems; or permission of the instructor.

TENTATIVE course progress chart:


Course Structure and Class Participation

Attendance is not compulsory. However, if you miss class, it is your responsibility to find out what was announced and what was covered.
The course format will be in two parts.

  1. For the first part, the instructor will teach.
  2. The second part involves active student participation and is planned as follows. Each team of 2-3 students will be required to present 1 topic. A paper will be assigned at least 3 weeks before its presentation date. Each student has to read and critique EACH paper, INCLUDING the ones his/her team is presenting, and submit a critique in class on the presentation day. If several papers are being discussed in a class, each of them should have a separate critique. Each critique should be anywhere between 1 to 2 printed pages (short and crisp) and should have the following format.

Class Participation Topics

The following are specific topics. For each, suggested papers for presentation, or suggested papers or suggested URLs for starting points to identify appropriate papers for presentation are given. If you are not too thrilled with any of topics 3-8, feel free to suggest me some topics, based on some paper from ICDCS TPDS, JPDC etc. within the past two years. It MUST 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.
  1. Physical clock synchronization.
    Network Time Protocol (Version 3) Specification, Implementation and Analysis
    David L. Mills. RFC 1305, 1992.
    David Mill's home page for NTP. See IEEE TComm , ref [27] in particular.
    Improved algorithms for synchronizing computer network clocks, David Mills.
    Presenters: AW, JC
  2. Replica placement and caching on the Internet
    Coordinated placement and replacement for large-scale distributed caches, Korupolu, M.R.; Dahlin, M., Page(s): 1317- 1329, IEEE TKDE, Nov/Dec. 2002.
    Mike's web page
    Amin's web page
    Presenters: US, PS
  3. Algorithmic Challenges in Peer-to-Peer Systems. What are the topic-specific problems that pose new algorithm design challenges?
    Chord: a scalable peer-to-peer lookup protocol for internet applications. Ion Stoica, Robert Morris, David Liben-Nowell, David Karger, M. Frans Kaashoek, Frank Dabek, Hari Balakrishnan, IEEE/ACM Transactions on Networking 11(1): 17-32 (2003)
    IPTPS Workshops
    Presenters: AB, MB
  4. More Peer-to-peer. Topology Overlays - Algorithmic Challenges.
    Building topology-aware overlays using global soft-state, Zhichen Xu; Chunqiang Tang; Zheng Zhang, IEEE ICDCS, May 2003, Page(s): 500- 508.
    Presenters: SK, AS
  5. More Peer-to-peer. Topology Overlays - Algorithmic Challenges.
    Decentralized p2p object replication system for weakly connected environments, Cetintemel, U.; Keleher, P.J.; Bhattacharjee, B.; Franklin, M.J., IEEE Transactions on Computers, 52(7), July 2003, pages 943-959.
    Presenters: WK, MS
  6. Mobile ad-hoc networks: What are the algorithmic challenges? Routing ....
    AODV Routing algorithm
    Presenters: LM, CP
  7. Mobile ad-hoc networks: What are the algorithmic challenges? Routing ....
    Virtual backbone for multicast in ad-hoc networks
    Presenters: LX, YH
  8. Web Content Caching and Distribution: What are the algorithmic challenges?
    A course on Web Algorithms at ETH, Zurich
    International Workshops on Web Content Caching and Distribution (WCW),
    11th World Wide Web Conference (WWW), 2002, 12th World Wide Web Conference (WWW), 2003, Prashant's pubs
    Presenters: BW, WS

Auxiliary information

Literature sources: The following is a listing of journals and conferences that you may find useful in your literature search for your term paper.

  1. Inter. Conference on Distributed Computing Systems (ICDCS)
  2. IEEE Transactions on parallel and distributed systems (TPDS)
  3. Journal of Parallel and Distributed Computing (JPDC)
  4. ACM Symp. on Principles of Distributed Computing (PODC)
  5. IEEE Symp. on Parallel and Distributed Processing (SPDP)
  6. Distributed Computing
  7. Journal of the ACM
  8. Journal of Algorithms
  9. Workshop on Distributed Algorithms (WDAG)
  10. SIAM Journal on Computing