CPSC 668: Distributed Algorithms and Systems
Fall 2000


[Announcements] [Syllabus] [Project] [Calendar] [Useful Links]


Announcements

Back to beginning


Syllabus

Instructor: Prof. Jennifer Welch
Office: 415 H.R. Bright Bldg
Office Hours: 1:30 - 3:00 PM Tuesday and 3:00 - 4:30 PM Thursday (*updated 10/19*); other times by appointment
Email: welch@cs.tamu.edu
Office Phone: 845-5076
Home Phone: 774-0680 (please don't call after 9:00 PM)

Lecture: Monday, Wednesday, Friday, 10:20-11:10 PM, HRBB 104

Textbook: Distributed Computing: Fundamentals, Simulations and Advanced Topics, Hagit Attiya and Jennifer Welch, McGraw-Hill, 1998.

Prerequisite: CPSC 629 (Analysis of Algorithms) or equivalent, or permission of the instructor.

THIS IS A THEORETICAL COURSE. The emphasis will be on proving correctness of algorithms and proving upper and lower bounds on complexity measures. You are expected to be familiar with the general concepts involved in designing and analyzing sequential algorithms. Such familiarity would come from CPSC 629 or CPSC 311 or equivalent. A good reference book for sequential algorithm analysis is Introduction to Algorithms, Thomas H. Cormen, Charles E. Leiserson, and Ronald L. Rivest, The MIT Press/McGraw-Hill Book Company, 1990.

A background in distributed systems, fault-tolerance, operating systems, or networking would be helpful in appreciating possible applications of the results in the course, but is not essential.


Course Goals: In this course we will take a theoretical approach to studying distributed computer systems, especially loosely-coupled and failure-prone ones. The course will cover formal models, algorithm design and analysis, lower bounds, and impossibility proofs. At the end of the semester you should:

Course Content and Tentative Schedule: The course will cover the following topics. The relevant chapters of the textbook are indicated.

week of topic chapter
8/28 introduction 1, 2
9/4, 9/11 leader election 3, 14.1
9/18, 9/25 mutual exclusion 4, 14.2
10/2, 10/9 consensus 5, 14.3
10/16 causality and time 6, 13
10/23 broadcast and multicast 7, 8
10/30 distributed shared memory 9
11/6, 11/13 fault-tolerant shared objects 10, 15
11/20, 11/27 asynchronous solvability 17
12/4 presentations .

Assignments and Grading: All assignments will be announced in class and posted on the course web page calendar. If you cannot turn in an assignment on time, discuss the situation in advance with the instructor.

Your grade will be based on two components:

Course grades will be assigned according to this scale:
A for 90% or above of the total points,
B for 80 to 89%,
C for 70 to 79%,
D for 60 to 69%,
and F for less than 60%.

Collaboration: Discussion of concepts with others and consulting written sources is encouraged, but all assignments must be done on your own, unless otherwise instructed. If you use any source other than the text, reference it/him/her, whether it be a person, a book, a solution set, a web page or whatever. You MUST write up the solutions in your own words. Copying is strictly forbidden.

University Regulations, Section 42, define scholastic dishonesty to include acquiring answers from any unauthorized source, working with another person when not specifically permitted, observing the work of other students during any exam, providing answers when not specifically authorized to do so, informing any person of the contents of an exam prior to the exam, and failing to credit sources used. Disciplinary actions range from grade penalty to expulsion.

Back to beginning


Project

[Purpose] [Topic] [Approaches] [Written Report] [Oral Presentation] [Deadlines]

Purpose: This assignment has several purposes:

I encourage you to discuss your project with me as often as you like, and at any stage, especially early on.

Topic: Your project will involve reading several related papers from the literature, summarizing and critically reviewing the work, and either extending the work in some way or simplifying the results by making some simplifying assumptions.

Your topic should concern distributed algorithms and have some theoretical component to it. An implementation-related topic is possible if it relates somehow to theory, for instance, a simulation to verify or discover the average case performance of some algorithm.

Some good places to look for distributed computing papers are:

Approaches: Some general ideas for approaches to take in your project:

  1. Read a few related theoretical distributed computing papers and

  2. Come up with a new problem based on some application area known to you and try to solve it.

  3. Study a distributed algorithm that is used as the basis of a commercial product (remember that the World Wide Web is a giant distributed systems).
For Approach 1, here are some ideas for problems to consider together with a representative recent paper to get you started finding references:

Written Report: The report is to be typed, at least 10 pages long and no more than 20 pages long. If you believe you have a good reason why the length of your paper should not conform to these guidelines, discuss it with me in advance. Part of your grade will be based on the quality of your composition (including spelling, grammar, logical flow). Typical organization for a technical paper in this area is:

As a general rule, very little, if any, of your paper should consist of copying the contents of the papers you read, and of course if you do quote from a paper, be sure to credit the source.

Oral Presentation: You will be allotted some number of minutes (depending on the size of the class) for your presentation. This is a STRICT limit. In order to maximize the effectiveness of your presentation, you should carefully plan what you will say and PRACTICE. This is not enough time to go into technical details. A good organization is:

You should use overhead transparencies, either drawn neatly by hand or computer-generated. Judicious use of color, drawings and humor is encouraged.

Deadlines:

If class size permits oral presentations, they will be scheduled later.

Back to beginning


Calendar

This calendar lists all due dates as they become known for Follow the links in the calendar to get details on the assignments.

Lecture note slides are available here and from the Bright building copy center:

Monday Tuesday Wednesday Thursday Friday
8/28
Introduction
Slides 1-13
Read Ch 1-2
8/29
8/30
Graph Algorithms
Slides 14-25
8/31
9/1
LE in Rings
Slides 26-37
Read Ch 3
9/4
LE in Rings
Slides 38-49
9/5
9/6
Review LE Algorithms
9/7
9/8
LE in Rings
Slides 50-57
9/11
Randomized LE Alg
Slides 58-63
Read Ch 14.1
9/12
9/13
ME in Shared Memory
Slides 64-71
Read Ch 4
9/14
9/15
ME in Shared Memory
Slides 72-82
HW 1 due
9/18
ME in Shared Memory
Slides 83-87
Read Ch 14.2
9/19
9/20
ME in Shared Memory
Slides 88-93
9/21
9/22
Fault-Tolerant Consensus
Slides 94-98; Aguilera & Toueg
Read Ch 5

Monday Tuesday Wednesday Thursday Friday
9/25
Aguilera & Toueg,
Byzantine Proc Lower Bound
Slides 107-110
9/26
9/27
Exponential Tree Alg
Slides 111-118
9/28
9/29
Phase King Alg
Slides 119-122
Project Proposal Due
10/2
Guest lecture by Prof. Bettati
10/3
10/4
Guest lecture by Prof. Vaidya
10/5
10/6
Guest lecture by Prof. Amato
10/9
Wait-Free Impossibility
Slides 123-128
10/10
10/11
1-Resilient Impossibility
Slides 129-135
10/12
10/13
Randomized Consensus
Slides 136-141
Read Ch 14.3
10/16
Logical & Vector Clocks
Slides 142-150
HW 2 due
Read Ch 6
10/17
10/18
Consistent Cuts
10/19
10/20
Physical Clocks

Monday Tuesday Wednesday Thursday Friday
10/23
Clock Skew Upper Bound
10/24
10/25
Clock Skew Lower Bound
10/26
10/27
Fault-Tolerant Clock Synch Read Ch 13
10/30
Fault-Tolerant Clock Synch
10/31
11/1
Simulation Model
Read Ch 7
11/2
11/3
Broadcast
Read Ch 8
11/6
Multicast
HW 3 due
11/7
11/8
DSM
Read Ch 9
11/9
11/10
DSM
11/13
Register Simulations
Read Ch 10
11/14
11/15
Register Simulations
11/16
11/17
Snapshot Objects

Monday Tuesday Wednesday Thursday Friday
11/20
Wait-Free Hierarchy
Read Ch 15
11/21
11/22
Wait-Free Hierarchy
11/23
THANKSGIVING HOLIDAY
11/24
THANKSGIVING HOLIDAY
11/27
Asynchronous Solvability
Read Ch 17.1-17.3
11/28
11/29
Student Presentations
11/30
12/1
Student Presentations
HW 4 due
12/4
Student Presentations
Project Report Due
12/5
12/6
READING DAY
12/7
READING DAY
12/8
FINAL EXAMS START
12/11
12/12
12/13
12/14
12/15

Back to beginning


Useful Links

Distributed Computing Computing-Related at TAMU

Back to beginning