Course details
Code
CS-586
Name
Distributed Computing
Program
Postgraduate
Areas
Parallel and Distributed Systems
Algorithms and Systems Analysis
Description
This course focuses on the design and analysis of distributed algorithms for multiprocessors that communicate via a shared memory. It studies fundamental models of distributed computing (to capture the needs of modern distributed applications), as well as major techniques for the design and analysis of distributed data structures and algorithms. The biggest part of the course is devoted to synchronization mechanisms;
several different techniques are studied for achieving it. A lot of distributed implementations have been presented in the literature in a very informal way and without any proof of their correctness. As a result, the behavior of many of these algorithms is simply unpredictable. This course aims at providing the required theoretical foundations, without which it is impossible to design correct distributed algorithms, check the correctness of current distributed implementations, capture all the details of their performance, discover their inherent limitations and establish optimality results, or determine whether any design tradeoffs are indeed fundamental or simply artifacts of certain environments. The main objective of the course is to supply the students with all the required dexterities for a rigorous and complete theoretical study of shared-memory multiprocessing systems.This class is geared toward graduate students at all levels as well as advanced undergraduates.
ECTS
6
Prerequisites
CS-380
Course website
Course email
hy586 AT csd DOT uoc DOT grShow email