Algorithms for Distributed Systems
326.623, WS 2001 (Start: October 10)
Wednesday 17:15-18:45, T111
The goal of this course is to teach students of computer science and mathematics fundamental distributed algorithms, i.e., algorithms for systems with concurrently executing components.
Distributed algorithms arise in many areas including network applications, telecommunication, distributed information processing, scientific computing, and real-time process control. Typical problems that are considered are communication and synchronization, consensus, deadlock detection, global snapshots, implementation of various kinds of distributed objects. This is particularly challenging in the absence of global clocks and faulty behaviors where many apparently innocent problems turn out to become diffult or even theoretically impossible to solve.
Students are expected to study some algorithms on their own, to implement them in Java using the DAJ system (available in public domain), and to present them in class.