INF431: Programmation d'applications concurrentes et distribuées

2013-2014

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

français et en anglais.

Pale

Projets

La page des projets, avec les sujets, est en ligne.

Poly

Voici la version courante du poly complet.

Plan du cours

Devoirs à la maison (DM)

Voici ...

Enseignants

Ressources pédagogiques

Les pages de suivi