INF431: Programmation d'applications concurrentes et distribuées

2015

Multithreads, theory and practice

Présentation du cours

Il n'est plus d'application qui ne soit intrinsèquement parallèle: depuis une simple interface graphique jusqu'au contrôleur pour robot, qui gèrent des évènements concurrents et des programmes, s'exécutant de façon simultanée, et partageant des ressources communes (mémoire, mais aussi resources physiques, capteurs, moteurs etc.).

De même, il n'est plus de hardware qui ne soit intrinsèquement parallèle: tous les processeurs modernes sont multicoeurs, et permettent, au travers de la programmation multi-threadée, d'obtenir de bien meilleures performances qu'en programmation séquentielle.

Ce cours vise à donner les outils pour maîtriser la programmation parallèle, efficace, en évitant les pièges, nombreux, liés à l'utilisation de resources partagées. Les élèves manipuleront les threads JAVA, les appels distants de méthodes (RMI, client/serveur) et le modèle mapreduce, et verront des applications (interfaces graphiques, Android etc.).

Pale

Projets

La page des projets, avec un sujet, est en ligne.

Poly

Voici la version courante du poly complet.

Plan du cours

Devoirs à la maison (DM)

Voici ...

Enseignants

Ressources pédagogiques