v2.11.0 (5449)

Enseignement scientifique & technique - SE745 : Programmation Concurrentes

Domaine > Informatique.

Descriptif

Le cours abordera la conception d'applications concurrente : modèles de concurrence, politiques d'ordonnancement, mécanismes de synchronisation. Ces concepts seront illustrés par la mise en œuvre de l'interface de programmation C/POSIX et par celle du modèle objet Java. Le cours portera également sur des patrons de conception pour la programmation concurrente ainsi que la vérification d'applications concurrentes.

Objectifs pédagogiques

Comprendre des modèles de mémoire bas niveau (ordre, cohérence, opérations atomiques).
Comprendre des mécanismes de synchronisation haut niveau (POSIX, Java, Acteurs)..
Appliquer des patrons de conception dans le contecte de la programmation concurrentes
Raisonner sur les caractéristiques de programmes concurrents.

28 heures en présentiel

effectifs minimal / maximal:

10/25

Diplôme(s) concerné(s)

Pour les étudiants du diplôme Systèmes embarqués

Langage C, Java.

Format des notes

Numérique sur 20

Littérale/grade européen

Pour les étudiants du diplôme Systèmes embarqués

Vos modalités d'acquisition :

Contrôle écrit, contrôle continu (quiz, mini projet)

Le rattrapage est autorisé (Max entre les deux notes)
  • le rattrapage est obligatoire si :
    Note initiale < 6
  • le rattrapage peut être demandé par l'étudiant si :
    6 ≤ note initiale < 10
L'UE est acquise si Note finale >= 10
  • Crédits ECTS acquis : 2.5 ECTS

Programme détaillé

Cours : Introduction (formes de concurrence)
TP : parallélisme d'instructions/données
Cours : Mémoire partagée (modèle mémoire, cohérence, opérations atomiques)
TP :  Modèle mémoire de C/C++11
Cours : Programmation concurrente en C (POSIX)
TP : Mécanismes de synchronisation sous POSIX
Cours : Programmation concurrente en Java (threads, monitors)
TP : Mécanismes de synchronisation sous Java
Cours : Mémoire distribuée (sockets, RMI, RPC, MPI)
TP : Synchronisation distribuée
Cours : Patrons et algorithmes distribués (horloges, ordre des événements, causalité)
TP : Algorithmes distribués
Cours : Le modelé d’acteur (introduction)
TP : Acteurs dans Akka (Java)
Cours : Mémoire transactionnelle (introduction)
Contrôle de connaissance

Mots clés

Programmation, Concurrence, Synchronisation, Cohérence, Ordre des événements
Veuillez patienter