Master Réseaux et Systèmes Distribués (RSD)

Slides:



Advertisements
Présentations similaires
Exclusion mutuelle répartie
Advertisements

Détection de la terminaison
Détécteurs de Mouvements Présentation de Christian Grasland au groupe ''Énergie'' de la Maison de la Consommation et de l'Environnement Rennes le 15 décembre.
1- Introduction 2ème partie Modèle Conceptuel des Données 2- Entités- Associations 4- Associations plurielles 3- Cardinalités 5- Associations réflexives.
CINI – Li115 1 Semaine 9 Algorithmes de tri ● Introduction ● Tri à bulle ● - principe ● - algorithme ● - efficacité ● Tri par sélection ● - principe, algorithme,
IFT359 – Programmation fonctionnelle Thème 02 B partie A introduction au langage fonctionnel choisi 1.
CINI – Li115 1 Semaine 3 Boucles (suite), tirages aléatoires, bibliothèque graphique ● Imbrication d'instructions if et for ● Boucles for imbriquées ●
TP 7 : UNE PROPRIÉTÉ DES ONDES, LA DIFFRACTION BUSQUET Stéphane LENNE Karl-Eric TS Physique-Chimie.
Les bonzes sont poursuivis par le Yéti. Ils doivent tous les trois gravir la montagne pour être en sécurité et ainsi gagner la partie. Le but du jeu est.
Adressage IP Page 1 L’adressage IP.
Les Réseaux informatique.
la lumière des corps chauds
Les Instructions Itératives (Les Boucles)
Introduction au Langage Pascal
L’exécution des jets Février _02_FPJA32 Exécution des jets.
OUTILS D’AIDES AUX SYNDICATS
DOC MYCK : Programmation
Les réseaux filaires.
Chapitre 1 nombres, chaînes de caractères, booléens, et VARIABLES
Les bandes de Bollinger
Qu'est-ce que POSIX? Une librairie en langage C
Semaine #1 INF130 par Frédérick Henri.
Javadoc et débogueur Semaine 03 Version A17.
Algorithmique demander jeu du pendu.
Master Réseaux et Systèmes Distribués (RSD) Algorithmique des systèmes
Principes de programmation (suite)
11ième Classe (Mardi, 18 novembre) CSI2572
Techniques d’Optimisation Chapitre 2: Problème de flôt
Systèmes Distribués et Autostabilisation
Algorithmiques Abdelbasset KABOU
Information, Calcul, Communication
Les bases de données et le modèle relationnel
Master Réseaux et Systèmes Distribués (RSD) Algorithmique des systèmes
Commande show ip eigrp topology
Master Réseaux et Systèmes Distribués (RSD) Algorithmique des systèmes
Master Réseaux et Systèmes Distribués (RSD) Algorithmique des systèmes
Master Réseaux et Systèmes Distribués (RSD) Algorithmique des systèmes
Master Réseaux et Systèmes Distribués (RSD) Algorithmique des systèmes
Master Réseaux et Systèmes Distribués (RSD) Algorithmique des systèmes
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Routage S 3 - Questionnaire N°1
Technologies de l’intelligence d’affaires Séance 11
L E C ORPS D ’ UN A LGORITHME / P ROGRAMME – L A PARTIE I NSTRUCTION Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie.
L’I NSTRUCTION DE T EST A LTERNATIF Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie – Université A.Mira, Bejaia Année.
L ES I NSTRUCTIONS I TÉRATIVES (L ES B OUCLES ) Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie – Université A.Mira,
Formation E-marque.
Cyber-Sphinx Séance 2.
La méthode du simplexe. 1) Algorithme du simplexe  Cet algorithme permet de déterminer la solution optimale, si elle existe, d’un problème de programmation.
Programmation en C++ C++ de base
Structure D’une Base De Données Relationnelle
1 RECURSIVITE PRESENTATION Ch. PAUL ALGORITHMIQUE Présentation de la récursivité.
Les Systèmes Automatisés. . Simples ou complexes, les systèmes automatisés sont partout dans notre environnement quotidien Connaître leur fonctionnement.
Master Réseaux et Systèmes Distribués (RSD) Algorithmique des systèmes
OPTIPOINT Mode d’emploi
Grafcet Pratic Présentation et Prise en Main 22/11/2018 L.CUVELIER.
SYSTèMES à évènements discrets
Chapitre IV Protection contre les erreurs
Rappels sur le grafcet Normes NF EN CEI /01/2019
Transition vers l’assignation automatique des stages à la résidence
CHAPITRE 6 Stabilité des SA.
Information, Calcul, Communication
BASE ELEVES PREMIER DEGRE
RABAH M ed Ali 2018/2019
Plan I.Définitions II.Objectifs III.Intérêt IV.Quoi tester ? V.Processus VI.Exemples VII.Conclusion VIII.Références.
Flowchart Itération Cours 04.
Nombres premiers : ce sont des nombres entiers positifs, qui ne sont divisibles que par 1 et eux- mêmes. Exemples : 24 est divisible par 2, par 3, par.
Programmation Scratch
L.P.M Chapitre N°3 Les structures de contrôle itératives Dégager le traitement itératif Problème Nombre d’itération ?? Inconnu à l’avance Connu à l’avance.
Collaborateurs & managers
A. Zemmari SDRP & MA Problème du rendez vous : un algorithme probabiliste et une analyse probabiliste A. Zemmari.
Transcription de la présentation:

Badr Benmammar badr.benmammar@gmail.com Master Réseaux et Systèmes Distribués (RSD) Algorithmique des systèmes et applications réparties Propriété stable : terminaison distribuée d’une application répartie Badr Benmammar badr.benmammar@gmail.com

Plan Terminaison : propriété stable Processus actif vs passif Terminaison : définition Exemple d’utilisation Modèle de calcul réparti Méthodes pour détecter la terminaison Méthode générale Méthodes spécifiques Sur un anneau Algorithme de Misra en 1983 Sur un arbre

Terminaison : propriété stable Le problème de la terminaison est celui de la détection de la fin d’un calcul réparti. La terminaison, comme l’interblocage, est une propriété stable : une fois la propriété vraie, elle restera toujours vraie au cours du temps. Le problème est le suivant : l’arrêt de tous les processus correspond-il à l’arrêt définitif de l’application ou n’est-ce qu’un état transitoire ? C’est-à-dire un message peut être en transit et provoquer le redémarrage d’un, puis de tous les processus.

Processus actif vs passif Un processus est soit actif soit passif : il est actif s’il exécute du code, il est passif s’il n’a rien à faire. Un processus ne peut passer d’un état passif à un état actif que sur réception d’un message : à tout message correspond du code a exécuter. Par contre, il peut passer de l’état actif à passif à tout moment (il a fini son code ou en attente d’un message). Tous les processus sont actifs au lancement de l’application. Le processus a fini son code ou en attente d’un message Passif Actif Réception d’un message

Terminaison : définition L’algorithme distribué est dit terminé lorsque tous les processus sont passifs et qu’il n’y a pas de message en transit. La terminaison distribuée est la conjonction des terminaisons locales. P1 et P2 sont passifs à t1 et t2. P1 P2 m1 m2 t1 t2 On peut parler de terminaison Pas de terminaison Passif Actif

Exemple d’utilisation Des employés de bureau travaillent dans des bureaux dans un immeuble qu’un gardien est chargé de fermer après le travail. Les règles de travail sont les suivantes : Il n’y a qu’un employé par bureau. Quand un employé entre dans un bureau il allume la lumière. Un employé quitte un bureau soit pour rentrer chez lui, soit pour aller dans un autre bureau. Un employé qui quitte un bureau pour aller dans un autre bureau laisse le premier bureau allumé et allume la lumière dans le second (si ce n’est déjà fait). Un employé qui quitte un bureau pour rentrer chez lui éteint la lumière. Le travail est terminé quand tous les employés sont rentrés chez eux. Terminaison distribuée.

Modèle de calcul réparti Ensemble de processus communiquant par messages. Programme (cyclique) de chaque processus : Boucle 1. Attendre un message (passage temporaire à l’état passif). 2. Exécuter un calcul local par rapport à ce message. 3. Le calcul peut comporter l’envoi de messages à d’autres processus ou la terminaison du processus (passage définitif à l’état passif). Fin

Problème de la terminaison Problème : vérifier que le calcul est achevé. Cela implique deux conditions sur l’état global du système : Tous les processus sont au repos (passifs). Aucun message n’est en transit. En effet l’arrivée d’un message en transit peut relancer le calcul.

Méthodes pour détecter la terminaison Deux types de méthodes : Méthode générale : analyse de l’état global. La terminaison est une propriété stable. On peut donc la détecter par examen d’un état global enregistré (Algorithme de Chandy et Lamport 1985). http://dept-info.labri.fr/~gavoille/AD/algo_dist-metivier.pdf. http://rangiroa.essi.fr/cours/systeme2/96-flips-algo-rep1.pdf. Méthodes spécifiques : applicables à un schéma particulier de communication. Sur un anneau. Sur un arbre.

Méthodes pour détecter la terminaison Deux types de méthodes : Méthode générale : analyse de l’état global. La terminaison est une propriété stable. On peut donc la détecter par examen d’un état global enregistré (Algorithme de Chandy et Lamport 1985). http://dept-info.labri.fr/~gavoille/AD/algo_dist-metivier.pdf. http://rangiroa.essi.fr/cours/systeme2/96-flips-algo-rep1.pdf. Méthodes spécifiques : applicables à un schéma particulier de communication. Sur un anneau. Sur un arbre.

Terminaison sur un anneau Principe de base : visiter l’anneau (dans le sens de la communication) et vérifier que tous les processus sont passifs (après un tour complet). Difficulté : un message émis après le passage du visiteur (et non visible par celui-ci) peut venir réactiver (derrière lui) un processus trouvé passif. P1 P2 P3 P4 Message de P2 à P4 Visiteur V

Algorithme de Misra en 1983 Hypothèses : Pas de perte de messages. Canaux FIFO. Principe : La terminaison est réalisée lorsque tous les processus sont passifs et qu’il n’y a plus de messages en transit. L’algorithme de Misra consiste à faire visiter les processus par un jeton, la constatation par le jeton que tous les processus sont passifs lorsqu’ils ont été visités ne permet pas de conclure à la terminaison : des processus ont pu être réactivés et des messages peuvent être en transit. Comme la topologie de communication entre processus est un anneau, le jeton peut affirmer que le calcul est terminé si, après avoir effectué un tour sur l’anneau, il constate que chaque processus est resté passif depuis sa dernière visite à ce processus. En effet, les messages ne pouvant pas se doubler, entre deux visites du jeton un processus a nécessairement reçu les messages qui étaient en transit lors de la première visite du jeton.

Algorithme de Misra en 1983 Chaque processus Pi est doté des variables suivantes : état : (actif, passif) initialisé à actif. couleur : (blanc, noir) initialisé à noir. noir = Pi a été actif depuis le dernier passage du jeton. blanc = Pi a été passif depuis le dernier passage du jeton. jeton_présent : booléen initialisé à faux. Le jeton véhicule une valeur j. Le jeton porte un compteur des processus trouvés passifs. nb : entier initialisé à 0. Sert à mémoriser la valeur associée au jeton entre sa réception et sa réémission. Les messages sont de deux types : messages, jeton.

Algorithme de Misra en 1983 Réception d’un message ou initialisation : état = actif couleur = noir Attente d’un message ou fin : état = passif actif noir passif P1 P2 m1 m2

Un processus émet un jeton uniquement dans le cas passif Algorithme de Misra en 1983 Réception_de_jeton (valeur = j) // au départ j=0 Début nb=j jeton_présent=vrai si (nb = N et couleur = blanc) alors // N : nombre de processus Terminaison détectée fsi Fin Emission_de_jeton (valeur =j) si (jeton_présent et état = passif) alors si couleur = blanc alors nb = nb+1 sinon nb = 0 // (couleur=noir) envoyer (jeton, nb) à successeur (Pi) couleur=blanc jeton_présent=faux Acquérir le jeton (j=0) Un processus émet un jeton uniquement dans le cas passif

Algorithme de Misra en 1983 P1 m1 m2 P2 actif passif noir Acquérir le jeton : nb=0 jeton_présent=vrai actif noir passif P1 P2 m1 m2

Algorithme de Misra en 1983 P1 m1 m2 P2 nb=0 actif passif noir Acquérir le jeton : nb=0 Emission jeton : couleur=blanc jeton_présent=faux actif noir passif P1 P2 m1 m2 nb=0

Algorithme de Misra en 1983 P1 m1 m2 P2 nb=0 nb=0 actif passif noir Réception jeton : nb=0 Emission jeton : couleur=blanc jeton_présent=faux actif noir passif P1 P2 m1 m2 nb=0 nb=0 Réception jeton : nb=0 Emission jeton : couleur=blanc jeton_présent=faux

Algorithme de Misra en 1983 P1 m1 m2 P2 nb=0 nb=0 nb=0 actif passif Réception jeton : nb=0 Emission jeton : couleur=blanc jeton_présent=faux Réception jeton : nb=0 Emission jeton : couleur=blanc jeton_présent=faux actif noir passif P1 P2 m1 m2 nb=0 nb=0 nb=0 Réception jeton : nb=0 Emission jeton : couleur=blanc jeton_présent=faux

Détecte la terminaison Algorithme de Misra en 1983 actif noir passif P1 P2 m1 m2 nb=0 nb=1 nb=2 Détecte la terminaison Actif Passif 1 2 1 2 1 2 1 2 1 2