Lecture: Monday, Wednesday, Friday, 9:10-10:00 PM, ZACH 119A
Textbook: Distributed Computing: Fundamentals, Simulations, and Advanced Topics, Second Edition, Hagit Attiya and Jennifer Welch, John Wiley & Sons, 2004.
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, proving upper and lower bounds on complexity measures, and proving impossibility results. 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, Second Edition, Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein, the MIT Press, 2002.
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 Content and Tentative Schedule: The course will cover the following topics. The relevant chapters of the textbook are indicated.
| week of | topic | chapter |
| 1/14 | introduction, basic graph algorithms | 1, 2 |
| 1/21 | leader election | 3, 14.1 |
| 1/28 | mutual exclusion | 4, 14.2 |
| 2/4, 2/11 | consensus | 5, 14.3 |
| 2/18, 2/25 | causality, clock synchronization | 6.1, 6.3, 13 |
| 3/3 | broadcast | 7, 8.1, 8.2 |
| 3/17 | distributed shared memory | 9 |
| 3/24, 3/31 | fault-tolerant shared objects | 10, 15 |
| 4/7 | asynchronous solvability | 16 |
| 4/14 | failure detectors | 17 |
| 4/21, 4/28 | self-stabilization | N/A |
Your grade will be based on three components:
Course grades will be assigned according to this scale:
| % total points | >= 90 | 80-89 | 70-79 | 60-69 | < 60 |
| letter grade | A | B | C | D | F |
Academic Integrity: The Aggie Honor Code states "An Aggie does not lie, cheat or steal or tolerate those who do". More information on academic integrity, plagiarism, etc. is available at the Aggie Honor System Office web site http://www.tamu.edu/aggiehonor, including:
For the assignments in this class, discussion of concepts with others 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. Every assignment must be turned in with this cover sheet, which lists all sources you used.
Americans with Disabilities Act (ADA) Policy Statement: The Americans with Disabilities Act (ADA) is a federal antidiscrimination statute that provides comprehensive civil rights protection for persons with disabilities. Among other things, this legislation requires that all students with disabilities be guaranteed a learning environment that provides for reasonable accommodation of their disabilities. If you believe you have a disability requiring an accommodation, please contact the Department of Student Life, Services for Students with Disabilities in Cain Hall, Rm. B118, or call 845-1637.
The written problems will include some from the textbook and others similar in style.
Each assignment will also list a small number of papers that are related to recent class topics. For each paper, you are to write (type!) a one or two page report containing
Don't forget to turn in a cover sheet with each assignment.
The homeworks and their due dates are available in the
Purpose: This assignment has several purposes:
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 a significant theoretical component to it.
Implementations are only appropriate as an auxiliary to
some more theoretical results.
Some good places to look for distributed computing papers are:
Approaches:
Some general ideas for approaches to take in your project:
Written Report:
The report is to be typed, at least 10 pages long and no more than
20 pages long.
Part of your grade will be based on the quality of your composition
(including spelling, grammar, logical flow).
Typical organization for a (nonsurvey) technical paper in this area is:
Oral Presentation:
More information will appear here if class size permits.
Follow the links in the calendar to get details on the assignments.
Back to beginning
Project
I encourage you to discuss your project with me as often as you like,
and at any stage, especially early on.
For the first two approaches here are some ideas for problems to consider
together with a representative recent paper to get you started finding
references:
Your report must be written in your own words!
If you feel the need to quote directly from another paper, be sure
to put the quote inside quotation marks and cite the source; very
little, if any, of your paper should consist of direct quotations.
Some intermediate deadlines may be added.
Calendar
This calendar lists all due dates as they become known for
Powerpoint lecture slides (links will be populated as the slides are updated):
Monday
Tuesday
Wednesday
Thursday
Friday
1/14
Introduction
Read Chs 1 and 2
1/15
1/16
MP Model; Basic Graph Algorithms
1/17
1/18
Leader Election in a Ring
Read Ch 3 and Ch 14 Sec 1
1/21
MLK HOLIDAY
1/22
1/23
Leader Election in a Ring
1/24
1/25
Leader Election in a Ring
1/28
Leader Election in a Ring
1/29
1/30
Mutual Exclusion in SM
Read Ch 4 and skim Ch 14 Sec 2
HW 1 due (new date)
1/31
2/1
Mutual Exclusion in SM
2/4
Mutual Exclusion in SM
2/5
2/6
Mutual Exclusion in SM
2/7
2/8
Consensus with Crash Failures
Read Ch 5 and Ch 14 Sec 3
Monday
Tuesday
Wednesday
Thursday
Friday
2/11
Consensus with Byzantine Failures
2/12
2/13
Consensus with Byzantine Failures
2/14
2/15
Asynchronous Consensus
2/18
Asynchronous Consensus
Project proposal due (new due date)
2/19
2/20
Causality
Read Ch 6 and Ch 13
2/21
2/22
Causality
HW 2 due (newest due date)
2/25
Clock Synchronization
2/26
2/27
Clock Synchronization
2/28
2/29
Clock Synchronization
3/3
Model for Simulations
Read Ch 7
3/4
3/5
Broadcast
Read Ch 8
3/6
3/7
Broadcast
Monday
Tuesday
Wednesday
Thursday
Friday
3/10
SPRING BREAK
3/11
SPRING BREAK
3/12
SPRING BREAK
3/13
SPRING BREAK
3/14
SPRING BREAK
3/17
Distributed Shared Memory
Read Ch 9
3/18
3/19
Distributed Shared Memory
3/20
3/21
READING DAY - NO CLASSES
HW 3 due 5:00 PM
3/24
Distributed Shared Memory
3/25
3/26
Fault-Tolerant DSM
Read Ch 10
3/27
3/28
Register Implementations
3/31
HW Solutions
HW 4 due
4/1
4/2
HW Solutions
4/3
4/4
MIDTERM EXAM
Monday
Tuesday
Wednesday
Thursday
Friday
4/7
More Register Implementations
4/8
4/9
Yet More Register Implementations
4/10
4/11
No class
4/14
Wait-Free Hierachy
Read Ch 15
4/15
4/16
More on the Wait-Free Hierarchy;
Set Consensus
4/17
4/18
Approximate Agreement
Read Ch 16
4/21
Renaming
4/22
4/23
Renaming; Failure Detectors
4/24
4/25
Failure Detectors
4/28
Self-Stabilization
HW 5 due
4/29
ATTEND FRIDAY CLASSES
HW Solutions
4/30
Final project report due
5/1
5/2
Useful Links
Distributed Computing
Reading and Writing Research Papers
Computing-Related at TAMU