CM2 Partie1 Flashcards
Graphe représentant le système distribué
- Graphe connexe
- Liens de communication bidirectionnels
Comment est le canal?
le canal est FIFO
Algorithme synchrone
- gouverné par une horloge globale externe
- Chaque noeud exécute une suite de rondes
Que se passe-t-il dans une ronde dans une algorithme synchrone?
- chaque noeud envoie un message à chacun de ses voisins
- Tous les message envoyés dans une ronde sont reçus et traités dans la même ronde
Algorithme partiellement synchrone
- Pas d’horloge globale extrene
- Un noeud peut passer à la ronde r+1 s’il a reçu un message de chacun de ses voisins r
Algorithme asynchrone
- pas d’horloge globale externe
- L’avancement d’un nœud est lié à ses propres calculs et aux messages qu’il reçoit
Principe de retransmission/abandon de messages
- La 1er fois que je reçois un message je retransmets
- Si je reçois encore le même message, je l’abandonne
Apprendre le graphe sous-jacent au système distribué Complexité
- Nombre de messages transmis ≤ 2nm
n->nbre de noeuds
m->nbre de liens
Une fois le graphe connu par tous les nœuds du système quelle est la 1ère approche que l’on peut imaginer?
- Choisir un nœud particulier (leader) dans le système
- Résoudre les problèmes avec des algorithmes séquentiels sur ce leader
- Le leader envoie les résultats aux nœuds du réseau
*Faiblesse : peu robuste, peut-être coûteux en temps, peu tolérant aux pannes
Une fois le graphe connu par tous les nœuds du système quelle est la 2ème approche que l’on peut imaginer?
- chaque nœud exécute l’algorithme séquentiel sur le graphe appris
- Il faut s’assurer que les exécutions séquentielles sur les différents nœuds vont donner un résultat cohérent
*Faiblesse : peut-être coûteux en temps, peu robuste envers la dynamique
Diffusion / Broadcast
- Un nœud (source) veut envoyer un message à tous les autres nœuds du système
Hypothèses de la diffusion/broadcast
- Chaque nœud connaît son ID
- Le nombre de nœuds dans le système n’est pas connu
- Le graphe sous-jacent au système n’est pas connu
Algorithme d’inondation
- ou flooding
- Utilisation du principe de retransmission / abandon des messages
- avec une seule source
- la source ne sait pas que et quand l’algorithme a terminé
Comment réduire ce nombre d’envois du message dans l’algo d’inondation ?
Pour avoir une meilleure efficacité de l’algo de diffusion , nécessité de construire une topologie logique : arbre (couvrant)
quand se termine l’algorithme d’inondation sur un arbre enraciné?
- quand les feuilles reçoivent le message
*Mais la racine ne sait pas que l’algorithme est terminé