2024

Parallel Programming

Name: Parallel Programming
Code: INF13266M
6 ECTS
Duration: 15 weeks/156 hours
Scientific Area: Informatics

Teaching languages: Portuguese, English
Languages of tutoring support: Portuguese, English
Regime de Frequência: Presencial

Sustainable Development Goals

Learning Goals

It is intended that the student:
- learns the techniques used to solve problems specific to parallel algorithms;
- becomes acquainted with some parallel algorithms;
- learns how to analyse the behaviour of parallel algorithms;
- is able to develop and program parallel algorithms.

Contents

Parallelism and concurrency
Systems for parallel computing
- multicore, multiprocessor, cluster, heterogeneous
- shared memory and distributed memory
- caches, consistency and coherency
- communication and synchronisation
Support for parallel programming
- atomic accesses
- lock, semaphore, monitor
- critical section, race
- messages passing
Performance of parallel programs
Programming models
- Posix threads
- OpenMP
- MPI
The design of parallel algorithms
- task parallelism
- data parallelism
- patterns for parallelism
- distributed algorithms
Parallel data structures

Teaching Methods

Classes are split into exposition classes, where problems and the techniques to be used are discussed and algorithms are developed and analysed, and laboratory classes, where the techniques are used and students are requested to design and implement parallel algorithms.

Assessment

Students' work assessment comprises:
- a laboratory component consisting of two assignments on programming and using parallel algorithms (continuous and final assessment modes, each assignment has a 50% weight, and a minimum grade of 7.0 is required for each assignment), and
- a written component consisting of either a written test (continuous assessment mode, minimum grade of 7.0 required) or a written exam (final assessment mode, minimum grade of 7.0 required).

The final grade is the average of the grades for the laboratory and the written components.

Teaching Staff