Parallel and Distributed Systems

Unité spécifique de type cours
Réf. : USEET3

Sessions de formation

(Fuseau horaire : Europe/Paris)

Aucune session n'est visible pour le moment

Présentation

Public, conditions d'accès et prérequis

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

Objectifs

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.

Contenu

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. 

Bibliographie

Titre Auteur(s)
Parallel Programming Concepts and Practice Bertil Schmidt, Jorge Gonzalez-Martinez, Christian Hundt, Moritz Schlar, Morgan Kaufmann

Modalités d'évaluation

  • Contrôle continu
  • Projet(s)
  • Examen final

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