Vous êtes ici

  1. Accueil
  2. Synchronisation, programmes parallèles

Synchronisation, programmes parallèles

Synchronisation, programmes parallèles

En pratique :

Volume horaire de cours : 20
Volume horaire global de TD : 14
Volume horaire global de TP : 14
Langue principale : français

Description du contenu de l'enseignement

Le but de ce module est d'une part d'introduire le concept d'activités parallèles et d'autre part d'étudier les mécanismes et les méthodes de synchronisation nécessaires pour décrire et résoudre les problèmes de compétition et de coopération qui se posent au concepteur d'applications dans un contexte centralisé.


Compétences à acquérir

  • De´crire les me´canismes traditionnels de synchronisation des programmes concurrents (verrous, se´maphores, barrie`res, ...).
  • Comparer, e´valuer, et choisir quels me´canismes de synchronisation utiliser dans des situations courantes de programmation concurrente (compe´tition, collaborations, lecture / e´criture, consommation / production).
  • Appliquer et utiliser ces me´canismes dans des programmes informatiques concrets.
  • Mode´liser et analyser des algorithmes et des programmes concurrents, en particulier pour justifier (ou invalider) leurs proprie´te´s e´ventuelles de su^rete´ (safety) et vivacite´ (liveliness).
  • Positionner et pre´senter quelques approches alternatives de programmation de la concurrence, par exemple a` base de structure de donne´es immuables, ou en utilisant un mode`le par acteur (cas des langages Erlang ou Scala).

Bibliographie, lectures recommandées

Raynal M., Concurrent Programming: Algorithms, Principles, and Foundations, Springer, 515 pages, 2013, ISBN 978-3-642-32026-2