Programming tools for parallel and distributed systems

Code 535AA
Credits 6

Learning outcomes

Objectives
The course deals with design, evaluation and utilization of programming tools and environments for parallel and distributed applications. The programming paradigms, and related cost models, concern high-performance stream- and data-parallel computations, distributed shared memory, adaptive and context-aware programming, high-performance event-based programming, real-time programming, programming of fault-tolerance strategies, and others. For these paradigms, static and dynamic tools are defined and their performances are evaluated through case studies in experimental and laboratory activites.
Syllabus
1. high-performance stream- and data-parallel computations,
2. distributed shared memory,
3. adaptive and context-aware programming,
4. high-performance event-based programming,
5. real-time programming,
6. programming of fault-tolerance strategies,
7. tools and environments
8. run-time supports
9. case studies

Exam consists in a written and an oral part.