Composante
École Nationale Supérieure d'Électrotechnique d'Électronique d'Informatique d'Hydraulique et des Télécommunications
Objectifs
Ce cours vise à fournir un état de l'art sur les principes de l'informatique distribuée et quelques exemples de leur application à travers des services distribués : systèmes de fichiers distribués, systèmes fiables, mémoires répliquées distribuées, systèmes transactionnels distribués, etc.
Description
Les principes et les concepts du calcul distribué sont décrits ainsi que leur utilisation dans les systèmes distribués. Après une brève introduction, le modèle standard du calcul distribué basé sur la relation de causalité est présenté. Ensuite, une étude des algorithmes distribués génériques est réalisée : datation, protocoles causaux et atomiques, exclusion mutuelle, consensus, terminaison, instantanés globaux et checkpointing, cohérence de la mémoire, etc.
Quelques exemples de systèmes distribués sont particulièrement mis en avant : les systèmes de fichiers distribués (NFS, AFS), les protocoles de multicast atomiques (Ensemble, Java Groups, etc.), les mémoires distribuées et leurs différentes sémantiques de cohérence, la simulation distribuée (standard HLA), etc.
Des tendances actuelles et/ou des applications plus spécifiques clôturent ce tour d'horizon des fondements de l'informatique distribuée : informatique pair-à-pair, réseaux de capteurs, mobilité, systèmes ambiants, etc.
Pré-requis obligatoires
Une expérience pratique de la programmation et des connaissances fondamentales sur les systèmes d'exploitation, le calcul parallèle, les middlewares et les réseaux sont requises. Des connaissances de base sur les méthodes formelles telles que la logique (temporelle) et les systèmes de transitions sont également utiles.