Le temps logique dans les systèmes distribués

Documents pareils
Chapitre 5 : Flot maximal dans un graphe

Chapitre 4 : Exclusion mutuelle

Université de La Rochelle. Réseaux TD n 6

Algorithmique répartie

Cours d analyse numérique SMI-S4

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

Conception des systèmes répartis

Cours de Programmation Impérative: Zones de mémoires et pointeurs

Gestion réactive des opérations de maintien et d actualisation réglementaire et technologique des systèmes complexes.

Cours Informatique Master STEP

Systèmes Répartis. Mr. Mehrez Boulares, Mr. Nour Ben Yahia

Exercices du Cours de la programmation linéaire donné par le Dr. Ali DERBALA

MATLAB : COMMANDES DE BASE. Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */.

Cryptographie et fonctions à sens unique

Exercice : la frontière des portefeuilles optimaux sans actif certain

Projet Active Object

Résolution d équations non linéaires

Cours de Systèmes d Exploitation

REALISATION d'un. ORDONNANCEUR à ECHEANCES

L exclusion mutuelle distribuée

Introduction aux algorithmes répartis

La (les) mesure(s) GPS

Processus! programme. DIMA, Systèmes Centralisés (Ph. Mauran) " Processus = suite d'actions = suite d'états obtenus = trace

Projet L1, S2, 2015: Simulation de fourmis, Soutenance la semaine du 4 mai.

Prudence, Epargne et Risques de Soins de Santé Christophe Courbage

Plus courts chemins, programmation dynamique

C f tracée ci- contre est la représentation graphique d une

VIII- Circuits séquentiels. Mémoires

Introduction à MATLAB R

Introduction a l'algorithmique des objets partages. Robert Cori. Antoine Petit. Lifac, ENS Cachan, Cachan Cedex. Resume

Analyse en Composantes Principales

Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples,

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

Journées Télécom-UPS «Le numérique pour tous» David A. Madore. 29 mai 2015

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

NOTATIONS PRÉLIMINAIRES

de calibration Master 2: Calibration de modèles: présentation et simulation d

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Manuel de validation Fascicule v4.25 : Thermique transitoire des structures volumiques

6 ème. Rallye mathématique de la Sarthe 2013/ ère épreuve de qualification : Problèmes Jeudi 21 novembre 2013

Cours d initiation à la programmation en C++ Johann Cuenin

UE Programmation Impérative Licence 2ème Année

Dynamic Host Configuration Protocol

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011

Date: 22/10/12 Version: 3.2

Nouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en variables binaires

Les algorithmes de base du graphisme

3 Approximation de solutions d équations

Systèmes et algorithmes répartis

Première partie. Préliminaires : noyaux itérés. MPSI B 6 juin 2015

1 Mesure de la performance d un système temps réel : la gigue

Borne VIGILE. Descriptif. Caractéristiques

Initiation à l algorithmique

Feuille TD n 1 Exercices d algorithmique éléments de correction

Génie Logiciel LA QUALITE 1/5 LA QUALITE 3/5 LA QUALITE 2/5 LA QUALITE 4/5 LA QUALITE 5/5

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores

Annexe 6. Notions d ordonnancement.

Tarification comparative pour l'industrie des assurances

Fonctions de plusieurs variables

Transformation automatique de commandes (Transformation des CO BL/FA)

J AUVRAY Systèmes Electroniques TRANSMISSION DES SIGNAUX NUMERIQUES : SIGNAUX EN BANDE DE BASE

03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing

INSTITUT NATIONAL POLYTECHNIQUE DE GRENOBLE

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

Exécutif temps réel Pierre-Yves Duval (cppm)

SERVICE : NEWSLETTER

Limites finies en un point

Electrotechnique. Fabrice Sincère ; version

CRYPTOGRAPHIE. Chiffrement par flot. E. Bresson. SGDN/DCSSI Laboratoire de cryptographie

Optimisation Discrète

Votre capital le plus précieux: Les collaborateurs de votre entreprise.

Génie logiciel pour le commerce électronique Hiver 2003 Prof.: Julie Vachon

Transmissions série et parallèle

Calcul différentiel sur R n Première partie

Baccalauréat L spécialité, Métropole et Réunion, 19 juin 2009 Corrigé.

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1

Eteindre. les. lumières MATH EN JEAN Mme BACHOC. Elèves de seconde, première et terminale scientifiques :

COMMANDER A DISTANCE LE ROBOT-PONG ETUDE DE LA TELECOMMANDE (2 nde PARTIE)

Structure fonctionnelle d un SGBD

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Chapitre 2. Matrices

Protocoles d authentification

Aspects théoriques et algorithmiques du calcul réparti L agglomération

TD Architecture des ordinateurs. Jean-Luc Dekeyser

îundesdruokerei Berlin

MT-703. Surveillance de niveau par sonde résistive TELEMETRIE PAR MODULE GSM CONFIGURATION ET UTILISATION

L utilisation d un réseau de neurones pour optimiser la gestion d un firewall

Partie 7 : Gestion de la mémoire

Notice d emploi. PROGRAMMATEUR HT1 température pour coffret de BRUMISATION HAUTE PRESSION

Projet Matlab : un logiciel de cryptage

Eléments de spécification des systèmes temps réel Pierre-Yves Duval (cppm)

Document(s) associé(s) et annexe(s) Date d'application. Version. Règles NEBEF 2 version du 13/12/2014 Règles NEBEF SI. Résumé / Avertissement

MARS La mise en place d un réseau informatique facilite la communication interne d une entreprise. # #

Programmation Système : KeyStroker

Introduction à l informatique temps réel Pierre-Yves Duval (cppm)

PlAtEFOrmE SAAS d'envoi de SmS. suite couv INTEGREZ. LE SmS A SA COMMUNICATION. dossier de PrESSE.

Plateforme PAYZEN. Définition de Web-services

Transcription:

Chapitre 2 Le temps logique dans les systèmes distribués Objectif Déterminer un ordre des événements : «Est-ce qu un message m 1 en provenance du site 1 a été envoyé avant ou après l envoi d un message m 2 en provenance du site 2?» Exemple du «make» distribué sous Unix [Tanenbaum] Concepts d ordre et de délivrance causale [Rifflet] Horloges et estampilles : [Lamport] scalaires vectorielles matricielles (TD 2 1. Ordre causal 1.1. Relation de précédence directe Un événement e précède directement un événement e : e e, si l une des deux conditions suivantes est vraie : 1. les événements e et e ont lieu dans le même processus, et e se produit exactement avant e sur ce processus. 1. l événement e correspond à l envoi d un message par un processus, et l événement e correspond à la réception du même message par un autre processus. 1.2. Relation de précédence causale Elle est définie comme la fermeture réflexive et transitive de la relation de précédence directe Un événement e précède causalement un événement e : e > e, si et seulement si : 1. ou bien e = e (réflexivité 2. ou bien e 1, e 2,, e m tels que e 1 = e et e m = e et i, e i e i+1 (transitivité La relation de précédence causale définit un ordre partiel des événements. 3 4

Si deux événements x et y se produisent dans des processus différents, il se peut qu aucune des deux relations x > y et x > y ne soit vraie. De tels événements x et y non comparables par la relation de précédence causale, sont dits concurrents : on note x y A un événement e on peut associer trois ensembles d événements : Passé(e : ensemble des événements antérieurs à e dans l ordre causal (e appartient à cet ensemble, Futur(e : ensemble des événements postérieurs à e dans l ordre causal (e appartient à cet ensemble, Concurrent(e : ensemble des événements concurrents avec e dans l ordre causal. 2. Livraison causale La livraison d un message m, notée del(m, est l opération consistant à le rendre accessible aux applications utilisatrices La livraison d un message reçu pourra être retardée lors de sa réception pour garantir un ordre de livraison souhaité Ordre de livraison FIFO Si deux messages sont envoyés successivement depuis un même site S i vers un même destinataire Sj, alors le premier sera délivré sur le site Sj avant le second, i. e : snd i,j > snd i,j del j > del j => Exemple 5 6 Exemple : dans la figure suivante l ordre FIFO n est pas garanti m2 m1 Ordre de livraison causale Cette propriété étend l ordre de livraison FIFO à des communications à destination d un même site en provenance de plusieurs autres sites. Pour respecter l ordre FIFO la livraison de m 2 doit être retardée jusqu à ce que le message m 1 arrive et soit délivré La couche de communication dispose d un tampon ordonné permettant de mettre les messages en attente Si l envoi d un message m 1 par le site S i à destination du site S k précède causalement l envoi du message m 2 par le site S j à destination du site S k, alors le message m 1 sera délivré avant le message m2 sur le site S k : snd i,k > snd j,k del k > del k 7 8

Exemple : la figure suivante illustre un cas où la propriété de livraison causale est violée si les messages sont délivrés dans l ordre où ils sont reçus S i S j S k m1 m2 m3 Pour respecter l ordre de livraison causale, la livraison de m 3 doit être retardée jusqu à l arrivée et la livraison du message m 1 9 3. Horloges et estampilles scalaires Les processus qui interagissent doivent se «mettre d accord» sur l ordre dans lequel les événements se produisent 3.1. Définition et principe des estampilles scalaires Si les sites datent les événements au moyen d horloges HL i (HL i est l horloge du site i et si les horloges sont utilisées pour dater les événements (HL e est la date de l événement e, les horloges doivent pouvoir être comparées (ordre noté de telle manière que si : e > e HL e HL e 10 Principe : Chaque site gère un compteur dont la valeur est un entier. Sur chaque site ce compteur est initialisé à 0 au lancement du système. La valeur de l horloge logique d un site est incrémentée chaque fois qu un événement local s y produit. Un tel événement est : soit une opération purement locale, soit l envoi d un message : dans ce cas la valeur courante (après incrémentation de l horloge de l émetteur est embarquée avec le message et sert à l estampiller. La réception d un message permet de synchroniser l horloge du récepteur avec celle de l émetteur du message (qui est transportée dans le message. Le principe consiste à attribuer à l horloge du récepteur une valeur supérieure à la fois à la valeur courante de l horloge du site et à celle de l estampille du message reçu. Algorithme de Lamport : si un événement local se produit sur le site i, HL i est incrémentée : HL i ++ si un événement correspondant à l envoi d un message se produit sur le site i, HL i est incrémentée, et le message m est envoyé avec la nouvelle valeur de HL i comme estampille : EL m = HL i si un événement correspondant à la réception d un message m d estampille EL m se produit sur le site i : HL i = max (HL i, EL m + 1 11 12

3.2. Propriétés des estampilles scalaires Exemple [Tanenbaum] : 1. L ordre des événements n est pas un ordre strict : plusieurs événements peuvent porter la même valeur. Pour rendre cet ordre strict on adjoint à la valeur de l horloge logique d un site l identification du site L estampille logique d un événement HL(e d un événement e du site i est un couple (HL i, i. On a (HL i, i (HL j, j si et seulement si : - ou bien HL i < HL j - ou bien HL i = HL j et i < j => Application : TD 13 2. L ordre ainsi défini est total : il induit une chaîne de tous les événements. 14 4. Horloges et estampilles vectorielles 4.1. Définition et principe des estampilles vectorielles Inconvénient des estampilles scalaires : Ordonnent artificiellement les événements concurrents Principe des estampilles vectorielles : Chaque site gère une horloge vectorielle constituée de n entiers (le système comporte n sites. Les messages envoyés par un site sont estampillés en utilisant la valeur courante de l horloge vectorielle. La réception d un message permet au site récepteur de synchroniser son horloge vectorielle avec celle du site émetteur du message. 15 4.1. Définition et principe des estampilles vectorielles HV i désigne l horloge vectorielle du site i EV m désigne l estampille vectorielle attribuée au message m lors de son envoi : si un événement local se produit sur le site i, HV i [i] est incrémentée : HV i [i] ++ si un événement correspondant à l envoi d un message se produit sur le site i, HV i [i] est incrémentée, et le message m est envoyé avec la nouvelle valeur de HV i comme estampille : EV m = HV i si un message m d estampille EV m est reçu sur le site i : HV i [i] est incrémentée, j i, HV i [j] = max (HV i [j], EV m [j] 16

4.2. Propriétés des estampilles vectorielles 1 Propriété fondamentale : EV e est l estampille vectorielle de e : i, EV e [ i ] = Card ( {e / e S i et e > e } i.e. la valeur de la i-ème composante de EV e correspond au nombre d événements du site S i qui appartiennent au passé de e. 2 Relation d ordre sur les estampilles vectorielles : EV e est l estampille vectorielle de e : EV e Ev e i, EV e [i] Ev e [i] 17 Cette relation d ordre reflète exactement la relation de précédence causale entre événements : Si EV e est l estampille vectorielle de e : e > e EV e Ev e e e EV e Ev e Exemple : montrer des estampilles inférieures, supérieures et incomparables Preuve [Charron-Bost] : à faire en TD 18 Inconvénient des estampilles vectorielles : => ne permettent pas de garantir une livraison causale des messages. 5. Horloges et estampilles matricielles 5.1. Définition et principe des estampilles matricielles Inconvénients des estampilles vectorielles : ne permettent pas de corriger la défaillance vis-àvis de la livraison causale des messages Principe des estampilles matricielles : Dans l exemple ci-dessus le message m3 est reçu trop tôt : pour respecter l ordre causal de la livraison il ne doit être délivré qu après le message m1. Les estampilles permettent de détecter (a posteriori! 19 la violation de l ordre causal dans la réception des messages Dans un système de n sites, les horloges d un site i et les estampilles des événements (et des messages sont des matrices carrées d ordre n. HM i désigne l horloge matricielle du site i ( S i EM m désigne l estampille matricielle du message m, 20

Sur le site S i, la matrice HM i va : mémoriser le nombre de messages que le site S i a envoyé aux autres sites => i-ème ligne de la matrice. mémoriser, pour chacun des autres sites j, le nombre de messages émis par le site j dont le site i a connaissance => j-ème ligne de la matrice. Ainsi sur le site i, la valeur EM i [j,k] donne le nombre de messages en provenance du site j livrables sur le site k dont le site i a connaissance. Remarque : La diagonale de HM i représente la connaissance qu a le site i du nombre d événements locaux qui se sont déjà produits sur les différents sites j : correspond à l estampille vectorielle. 21 La synchronisation des horloges des différents sites est réalisée de la manière suivante : lorsqu un événement local se produit sur le site S i : HM i [i,i] est incrémenté; lorsqu un message est envoyé du site i vers le site j: HM i [i,i] et HM i [i,j] sont incrémentés ; lorsqu un message m en provenance du site j est reçu par le site i, il faut s assurer que tous les messages envoyés antérieurement vers le site i sont effectivement arrivés. Cela suppose donc que le site i ait reçu : d une part tous les messages en provenance du site j, d autre part tous les messages envoyés depuis d autres sites. => Cela correspond aux conditions suivantes (à vérifier dans l ordre: 1. EM m [j,i] = HM i [j,i] + 1 (ordre FIFO sur le canal (j,i 2. pour tout k i et k j, EM m [k,i] HM i [k,i] (tous les messages en provenance des sites différents de j ont été reçus. 22 Si toutes ces conditions sont vérifiées,le message est livrable et l horloge du site i est mise à jour : 1. HM i [ i,i ] ++ (incrémentation; 2. HM i [ j,i ] ++ (incrémentation; Exemple : estampilles matricielles 3. pour le reste de la matrice : HM i [k,l] = max (HM i [k,l], EM m [k,l] Si les conditions ne sont pas toutes vérifiées, la livraison du message est retardée jusqu à ce qu elles le deviennent et l horloge n est pas mise à jour. La livraison d un message pourra ainsi provoquer celle des messages arrivés prématurément (retardés. Exemple : cf. TD 23 24