Parallel and Distributed Systems

Code
USEET3

Description

The main course deals with a set of arguments related to the programming models targeting parallel and/or distributed architectures. The common background of these arguments is represented by structured parallel programming models, such as those based on algorithmic skeletons or on parallel design patterns. More in detail, the course covers: 

Parallel and distributed programming principles,  

Structured parallel/distributed programming patterns (data and stream parallel),  

Parallel/distributed pattern implementation techniques for multi/many cores and cluster/networks of workstations,  

Parallel/distributed patterns refactoring,  

Autonomic management of non functional features.  

Analytical, concrete and abstract performance models for parallel/distributed patterns,  

Implementation of parallel/distributed patterns with state of the art parallel programming frameworks.  

 

Complementary content:  

Concise introduction to the usage of GPU accelerators.  

Concise introduction to the usage of data intensive parallel programming frameworks. 

Finalité

The student successfully completing the course will be able to design and implement parallel applications/run time supports efficiently using/implementing common and useful parallel design patterns using both structured and more classical parallel programming frameworks. In particular, the student will be able to evaluate different, alternative parallelisation strategies and techniques by exploiting proper abstract and concrete parallel pattern performance models and to implement the different parallelisation strategies with state of the art parallel programming tools.

Description des modalités d'évaluation

Final project, assignment reports, and oral exam (theory arguments). 

Public

C/C++ programming, algorithms, foundations of computer architecture (multicore, Cluster-of-Workstation COW). 

Nombre d’ECTS
6
Modalité(s) d'évaluation
Contrôle continu
Examen final
Projet(s)
Date de fin de validité
Déployabilité
Offre déployable dans le réseau en cas d'agrément

Contactez-nous au sujet de cette unité