Contenu de la formation
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.
Description des modalités de validation
Final project, assignment reports, and oral exam (theory arguments).