Parallel and distributed algorithms

Code 314AA
Credits 6

Learning outcomes

The goal of the course is to introduce the main algorithmic techniques in the framework of parallel and distributed models of computing; to define the most significant complexity parameters and the computational limits of parallelism and concurrency. Finally computational tools to design and analyze parallel and distributed algorithms are given.

Syllabus
Models of computation
The PRAM model
Bounded degree networks. BSP.
The distributed model.
Design and analysis of parallel algorithms
Prefix sums, List Ranking, Euler tour.
Standard techniques and inner sequential problems.
Design and analysis of distributed algorithms
Communication complexity.
Control algorithms.
Fault tolerant algorithms .
Distributed data manipulation.
4) Classical examples
Coordination and Control.
Broadcast e Spanning tree.
Computation on trees: Saturation, functions evaluation.
Election on Ring and other networks.
Routing.