Course:
| CS 626 Distributed Computing, Spring 2005 |
| Lecture: HO 108, Tue/Thu 9:30PM-10:45PM; first class meets on Thursday 1/6/05 at 9:30PM !!! |
| Grzegorz Malewicz 116 Houser Hall Phone: (205) 348-4038 Email: greg@cs.ua.edu |
| Attiya, H., Welch, J.: Distributed Computing Fundamentals, Simulations, and Advanced Topics (Second Edition). John Wiley and Sons, Inc.(2004) (not the first edition) |
| Tuesdays 2:15PM-4:00PM; also by appointment or just come to my office |
| http://www.cs.ua.edu/626/Spring2005 |
| graduate algorithms course, or consent of the instructor |
| Distributed systems have many advantages over centralized systems, such as ability to mask failures, potential for high availability, and improved performance. However, building correct and efficient distributed systems is often challenging because of the possible unpredictable changes in the system that can occur during the life of the system. The course will serve as an introduction to fundamental problems of distributed computing. Topics covered will include message passing systems, causality and time, fault-tolerant consensus, communication services, shared memory mutual exclusion, along with selected advanced topics. The course will be fairly rigorous (i.e., theorems will be proven). Students will implement selected distributed algorithms. |
| * | be able to identify several fundamental problems that occur in distributed systems and know when they can or cannot be solved, and why they can or cannot be solved, | |
| * | be able to solve a theoretical moderately difficult distributed computing problem and analyze correctness and efficiency of the solution, | |
| * | be able to implement a moderately difficult distributed algorithm, | |
| * | improve analytical skills and ability to think rigorously. |
| This is a new course. |
| Fundamentals (book chapters 1 and 2) | ||
| Leader election in rings (book chapter 3) | ||
| Causality and time (book chapter 6) | ||
| Mutual exclusion in shared memory (book chapter 4) | ||
| Fault-tolerant consensus (book chapter 5) | ||
| 4/4 -- 4/8 | Student presentations of papers | |
| Broadcast and multicast (book chapter 8) | ||
| Selected advanced topics | ||
| 4/25-4/29 | Student presentations of implementations |
| You can expect several problem sets assigned throughout the course each with a one week deadline, you will need to read and present a research paper in the second half of the course, and implement a distributed algorithm and present the implementation towards the end of the course. You are responsible for reading the parts of the text assigned by the instructor. |
| It is expected that you attend each lecture. Any missed lecture may reduce your grade by 0.1% (1/10 of a percent). |
| 30% | theoretical exercises -- done individually without discussing with any other student | |
| 30% | paper presentation -- team project, paper quality will constitute a part of your grade | |
| 30% | implementation presentation -- team project, algorithm sophistication will constitute a part of your grade | |
| 10% | class participation | |
| -4% | up to minus 4% for skipping lectures |
| There is no final exam. |
| If you miss any homework deadline for any excused reason, then you can request to be assigned an extra task to perform. The task will be of equal value, weight and difficulty. If you miss your scheduled presentation for any excused reason, then you will need to present at a later time. |
| * | any work that you submit must be written entirely by you or your team, if applicable; you cannot copy solutions to exercises from other students, or other sources; you cannot plagiarize from the Internet; if you do not comply, you will be severely penalized; you can discuss presentations and code with other members of your team. | |
| * | you must obey the University's honor code, | |
| * | to request disability accommodation, please contact the Office of Disability Services (348-4285); after initial arrangements have been made with that office, please contact me. |