Introduction à la programmation multicoeur

Année 2021-2022 - M1 Info

Résumé

Ces TPs visent à vous faire découvrir quelques aspects de la programmation concurrente et parallèle par la pratique. Ils sont liés au cours de Parallélisme de Cinzia Di Giusto, mais ils parlent autant de concurrence (sinon plus) que de parallélisme.

Pré-requis

Modalités de contrôle des connaissances

Le dernier TP sera noté.

Plan du cours

Le plan du cours est susceptible d’évoluer.

TP 1 (C)

Notions de processus léger (thread), d’accès concurrent (data race), de verrou (mutex), et d’interblocage (deadlock).

TP 2 (JAVA)

Notion d’instruction atomique, de moniteur, de variable de condition, de sémaphore. Parallélisation de boucle.

TP 3 (fin TP2 + cours)

Algorithme de Peterson. Linéarisabilité et cohérence séquentielle. Listes concurrentes.

TP 4 examen

Chiens et chats. Crible d’Eratosthène concurrent.

Resources