The student will be provided with the skills of parallel and distributed computing. He/She will learn the major parallel distributed architectures and parallel distributed programming paradigms, environments and tools. He/She will be also introduced with some concepts of administration of parallel machines.

Program

  • Overview of parallel distributed machines (shared-memory machines, distributed-memory machines, coprocessors and GPU accelerators, large-scale environments – A case study: Grid’5000).

  • Parallel distributed algorithm design and programming

    • Paradigms of parallel and distributed programming (task parallelism, data parallelism, shared memory paradigm, message passing paradigm).

    • Parallel distributed programming environments and tools (OpenMP, MPI, Cuda).

  • Fundamental problems of parallel distributed programming (task / data partitioning, load balancing, scheduling, fault tolerance, performance evaluation).

  • Getting started with parallel machine administration through Grid'5000 (resource reservation, application deployment, monitoring, fault tolerance, etc.).

  • Towards the exascale era: challenges and alternatives of massively parallel and heterogeneous programming.

Acquired skills

The student will learn how to design and implement parallel and/or distributed computing applications (using MPI, OpenMP, and Cuda). The course will also allow the student to discover the required tools for the deployment and execution of those applications, and the evaluation of their performances on parallel/distributed small- and large-scale machines (networks of workstations, clusters of multi-core/GPU processors, and computational grids).

Exam and grades

An exam mark (Exam/ 20) and a practical project mark (PP / 20), applying the formula MARK = (Exam + PP) / 2.


Acessibilidade

Cor de fundo Cor de fundo

Tipo de letra Tipo de letra

Kerning do tipo de letra Kerning do tipo de letra

Tamanho da letra Tamanho da letra

1

Visibilidade das imagens Visibilidade das imagens

Espaçamento entre letras Espaçamento entre letras

0

Altura da linha Altura da linha

1.2

Realce de hiperligações Realce de hiperligações

Cor do texto Cor do texto

Alinhamento do texto Alinhamento do texto

Largura do parágrafo Largura do parágrafo

0