v2.2.7 (2170)

Formation Continue - 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.

nombre d'heure en présentiel

28

effectifs minimal / maximal

10/25

Diplôme(s) concerné(s)

Format des notes

Numérique sur 20

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)
    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