Systèmes et applications réparties / Distributed systems and middlewares

Diplômes intégrant cet élément pédagogique :

Descriptif

L'étude d'un système distribué est essentiellement l'étude d'un groupe de machine qui coopèrent en communicant par message, et cela malgré des pannes, soit de machines soit de canaux de communication. Comprendre et établir une coopération malgré des pannes est un défi qui vous emmènera au delà  de la programmation traditionnelle à  laquelle vous êtes habitué. Ce cours d'applications réparties vous permettra de maîtriser les concepts de la programmation distribuée au travers de l'étude de cas concrets de coopération dans un système distribué complexe qui illustrent à  la fois les possibilités, les difficultés, et les limites de l'algorithmique distribué.

- Introduction aux systèmes distribués par l'étude coopérative du prisonnier qui organisa la résistance initiale au travers des robots de service de l'établissement carcéral...
- Étude la notion de groupe de machines et de la coopération au sein d'un groupe. Maitrise des grands schémas de coopération tels que l'élection d'un leader, ordonner des tâches, ou encore contrôler l'accès à  des ressources.
- Étude de l'impacte des pannes et des solutions pour résister aux pannes. Nous étudierons l'introduction des pannes dans les architectures client/serveur et à  base de groupe. Nous nous focaliserons tout particulièrement sur la réplication qui permet de fournir des serveurs hautement disponibles.
- Étude de l'impacte du facteur d'échelle au travers de l'étude des fondamentaux des systèmes pair-à -pair.

 

- An introduction to distributed systems through the cooperative study of the prisonner that organizes the initial resistance exploiting the service droids of the prison building.
- We will study of the concept of a group of machines and their cooperation. We will master the fondamental patterns of distributed systems such as electing a leader, ordering tasks, or controling resource accesses.
- We will also study the impact of failures on distributed systems and various solutions to tolerate them. In particular, we will discuss the impacts of failures in the traditional client-server architecture as well as group-based systems. We will focus on replication techniques that permit to design and build fault-tolerant highly-available servers.
- We will also study the impacts of scale, up to millions of machines cooperating, through the fundamentals of peer-to-peer systems.

Pré-requis recommandés

Ce cours n'a pas de pré-requis particulier si ce n'est celui de vouloir ouvrir son esprit à  une nouvelle approche de la conception de programme. Ce n'est pas un cours réservé aux spécialistes réseaux, bien au contraire. Il est favorable d'avoir suivi le cours RICM4 HINF8R1E.

Informations complémentaires

Lieu(x) : Grenoble
Langue(s) : Français