PIF sur l’arbre Je lance une vague r PIF sur l’arbre J’ai une vague en cours: j’attends la réponse de mes fils r PIF sur l’arbre r J’ai une vague en cours: j ’attends la réponse de mes fils PIF sur l’arbre r Le message est long à être traité Je n’est pas de fils: j’accuse réception et j’ai terminé ma vague PIF sur l’arbre r Un de mes fils m’a répondu: j’attends que tous me répondent. PIF sur l’arbre r PIF sur l’arbre r PIF sur l’arbre r PIF sur l’arbre J’ai reçu une réponse de tous mes fils: j’accuse réception. r J’attends... PIF sur l’arbre r PIF sur l’arbre r PIF sur l’arbre r PIF sur l’arbre r PIF sur l’arbre La vague est terminée : je suis content! r QUESTION : Est-il possible d’implémenter le PIF avec seulement 2 états ? PIF sur l’arbre QUI GAGNE ? EST-CE UNE PHASE DE BROADCAST ou UNE PHASE DE FEEDBACK r REPONSE : Non. Intuitivement, les états « J’attend_les_réponses_de_mes_fils » poussent les états « J’ai_terminé_ma_vague » de la vague précédente (ou état initial), et les états « J’ai_terminé_ma_vague » de la vague précédente poussent les états « J’attend_les_réponses_de_mes_fils ». Spécifications formelles Nombre Minimum d’états par processeur Nombre Minimum d’états par processeur Temps de Stabilisation Partie Normale r Partie Anormale Temps de Stabilisation r Temps de Stabilisation r Temps de Stabilisation r Temps de Stabilisation r Temps de Stabilisation r Temps de Stabilisation r Temps de Stabilisation r Temps de Stabilisation r Temps de Stabilisation r Temps de Stabilisation r Temps de Stabilisation r Temps de Stabilisation r Temps de Stabilisation r Temps de Stabilisation r Temps de Stabilisation r ... Stabilisation Instantanée Un algorithme distribué est instantanément stabilisé pour une tâche T ssi pour toute configuration initiale , pour toute exécution (possible) e en partant de , e satisfait les spécification de T. L’algorithme de base est instantanément stabilisé Mais peut être retardé O(h2) étapes. Amélioration (réduire le retard possible) ? Temps de Stabilisation Partie Normale r Partie Anormale Temps de Stabilisation r Temps de Stabilisation r Temps de Stabilisation r Temps de Stabilisation r Temps de Stabilisation r Temps de Stabilisation r Temps de Stabilisation r Temps de Stabilisation r ... Algorithme amélioré instantanément stabilisé Peut être retardé d’au plus 1 étape ! Sans sens d’orientation ? Temps de Stabilisation Partie Normale r N4 N2 N4 L1 L1 L1 Partie Anormale L1 L1 Temps de Stabilisation r Branches non visitée par la vague venant de r Algorithme non instantanément stabilisé! Temps de Stabilisation r L2 N2 N2 L1 N2 N2 Temps de Stabilisation r N2 L2 N2 L2 L2 L2 L2 L2 L2 L2 Temps de Stabilisation r N2 N3 N2 L2 N3 Temps de Stabilisation R2 r N3 N3 N3 L2 N3 Temps de Stabilisation R2 N3 N3 r N3 Temps de Stabilisation R2 r ... Version instantanément stabilisée ? PIF sur l’arbre r PIF sur l’arbre -1 r PIF sur l’arbre -1 r PIF sur l’arbre -1 r PIF sur l’arbre -1 r PIF sur l’arbre -1 r PIF sur l’arbre -1 r PIF sur l’arbre -1 r PIF sur l’arbre -1 r PIF sur l’arbre -1 r ... Temps de Stabilisation -1 r IF ICor ICor LF Icor LF Icor LF LF Temps de Stabilisation -1 r IF LC Icor LC LC LC LC LC LC Temps de Stabilisation -1 r Icor IB LC LC IB Temps de Stabilisation -1 r IC Temps de Stabilisation -1 IB r LF IB LF LF ... Algorithme instantanément stabilisé Peut être retardé d’au plus O(h) étapes ! LF