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.
Le dernier TP sera noté.
Le plan du cours est susceptible d’évoluer.
Notions de processus léger (thread), d’accès concurrent (data race), de verrou (mutex), et d’interblocage (deadlock).
Notion d’instruction atomique, de moniteur, de variable de condition, de sémaphore. Parallélisation de boucle.
Algorithme de Peterson. Linéarisabilité et cohérence séquentielle. Listes concurrentes.
Chiens et chats. Crible d’Eratosthène concurrent.