Algorithmique Distribuée Temps et horloges distribués



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

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/ Présentation. 1.2 Ressources

Propagation sur réseau statique et dynamique

Conception des systèmes répartis

L exclusion mutuelle distribuée

Recherche dans un tableau

LE PROBLEME DU PLUS COURT CHEMIN

Ordonnancement. N: nains de jardin. X: peinture extérieure. E: électricité T: toit. M: murs. F: fondations CHAPTER 1

Espaces probabilisés

ENREGISTREUR DE TEMPERATURE

Algorithmes d'apprentissage

NAS 254 Sauvegarde cloud

APPLICATION. R ESUM E. Mettre aupoint un algorithme reparti est toujours une t^ache delicate. Plusieurs

Les Réseaux sans fils : IEEE F. Nolot

La (les) mesure(s) GPS

NOTIONS DE PROBABILITÉS

TP : Shell Scripts. 1 Remarque générale. 2 Mise en jambe. 3 Avec des si. Systèmes et scripts

Ebauche Rapport finale

TP2 - Conguration réseau et commandes utiles. 1 Généralités. 2 Conguration de la machine. 2.1 Commande hostname

Tutoriel - flux de facturation

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

Projet de Veille Technologique

Laboratoire CÉDRIC THÈSE DE DOCTORAT. soutenue le : 4 octobre Discipline / Spécialité : Informatique

Observation macroscopique pour l'analyse de systèmes multi-agents à grande échelle

Parallélisme et Répartition

D'UN THÉORÈME NOUVEAU

CONVENTION ENTRE LA REPUBLIQUE FRANCAISE ET LE ROYAUME DU MAROC RELATIVE AU STATUT DES PERSONNES ET DE LA FAMILLE ET A LA COOPERATION JUDICIAIRE

1. Utilisation du logiciel Keepass


Éléments d'architecture des ordinateurs

I. Introduction aux fonctions : les fonctions standards

gestion des processus La gestion des processus

Algorithmique avec Algobox

(VM(t i ),Q(t i+j ),VM(t i+j ))

2. RAPPEL DES TECHNIQUES DE CALCUL DANS R

ETI/Domo. Français. ETI-Domo Config FR

Pourquoi l apprentissage?

DTS MOBATime's Distributed Time System

Degré de confiance pour les indicateurs de performance : degré de fiabilité du processus de production et écart significatif 1



OASIS Date de publication

DÉVELOPPEMENT INFONUAGIQUE - meilleures pratiques

Introduction. I Étude rapide du réseau - Apprentissage. II Application à la reconnaissance des notes.

Guide de l'utilisateur de l'application mobile

Programmation Objet - Cours II

Examen optimisation Centrale Marseille (2008) et SupGalilee (2008)

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

Tout savoir sur le matériel informatique

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Couples de variables aléatoires discrètes

Projets de stage. Présentation

Partie 7 : Gestion de la mémoire

Gestionnaire de données edart

Peut-on tout programmer?

LECTEUR AUDIO COMELIT ART

Les réseaux ad hoc : problèmes de sécurité et solutions potentielles

LES CRITERES CLES DU SUCCES D'UNE SEGMENTATION

Laboratoire de l Informatique du Parallélisme

MEAD : temps réel et tolérance aux pannes pour CORBA

RECOMMANDATION 27 EFFICACITE DE LA COMMUNICATION, ENTRE LES CANAUX DE DISTRIBUTION ET LES ASSUREURS, ET RECIPROQUEMENT.

Table des Matières. 2 Acronis, Inc

OPTENET DCAgent Manuel d'utilisateur

Algorithmes d exclusion mutuelle : tolérance aux fautes et adaptation aux grilles

Routage Statique. Protocoles de Routage et Concepts. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1

Transmissions série et parallèle

VMware vsphere 5 Préparation à la certification VMware Certified Professional 5 Data Center Virtualization (VCP5-DCV) - Examen VCP510

Année : Team-War Jaafar AMRANI-MESBAHI Fabien GARCIA Abdelali NAIT BELKACEM Rahma NAKARA Philippe NGUYEN

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

Le Ro le Hyper V Premie re Partie Configuration et Prise en main du gestionnaire Hyper-V

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

Nouvelles stratégies et technologies de sauvegarde

Développements limités. Notion de développement limité

Une mise à jour du logiciel du lecteur FreeStyle InsuLinx est nécessaire. Veuillez lire l'ensemble de ce document avant de commencer.

TP3 : Creation de tables 1 seance

Cryptographie. Master de cryptographie Architectures PKI. 23 mars Université Rennes 1

Texte de l'arrêté "Site e-business"

1.1 Introduction au probleme de la repartition de charge. Un programme parallele peut ^etre vu comme un ensemble de t^aches qui communiquent.

Gestion des applications, TI. Tout droits réservés, Marcel Aubin

Année Universitaire 2009/2010 Session 2 de Printemps

modélisation solide et dessin technique

CAPTEURS - CHAINES DE MESURES

Compte-rendu de projet de Système de gestion de base de données

GROUPE EXANE POLITIQUE D'EXÉCUTION

Fonctions de plusieurs variables : dérivés partielles, diérentielle. Fonctions composées. Fonctions de classe C 1. Exemples

ANSSI PROCEDURES DE REPORTING DES INCIDENTS AVEC LE CIRT RÔLES DES PARTIES PRENANTES 15/02/2014. SEMINAIRE DE Joly Hôtel

WINDOWS SERVER 2003-R2

Réalisation d'un seeder BitTorrent en CPC Stage de TRE sous la direction de J. Chroboczek et G. Kerneis

TEXT MINING von 7

Présentation du modèle OSI(Open Systems Interconnection)

Agrégation de liens xdsl sur un réseau radio

La replication dans PostgreSQL

MODE D'EMPLOI DE LA CALCULATRICE POUR LES COURTS SÉJOURS DANS L'ESPACE SCHENGEN

Redondance de service

1. Vocabulaire : Introduction au tableau élémentaire

2 Grad Info Soir Langage C++ Juin Projet BANQUE

Windy and Warm. Créer un serveur LAN (SERVEUR) Création d'un serveur LAN Version FS_MOD 1.4.

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

SugarCubes. Jean-Ferdinand Susini Maître de Conférences, CNAM Chaire systèmes enfouis et embarqués. Paris, le 9 janvier, 2009

Présentation du système DNS

Transcription:

Algorithmique Distribuée Temps et horloges distribués Laurent PHILIPPE Master 2 Informatique UFR des Sciences et Techniques 2013/2014 Laurent PHILIPPE Chapitre 2: Temps et horloges distribués 1 / 43

Sommaire 1 Introduction 2 3 4 Laurent PHILIPPE Chapitre 2: Temps et horloges distribués 2 / 43

Sommaire 1 Introduction 2 La relation de précédence La relation de causalité 3 4 Laurent PHILIPPE Chapitre 2: Temps et horloges distribués 3 / 43

Synchronisation d'horloges Systèmes Centralisés Accès à la date courante par un appel système Une seule horloge Pas ambiguïté pour dater des objets ou des évènements Système Distribué Chaque machine dispose d'une horloge indépendante Horloge à quartz peut dériver de plusieurs secondes par jour de manière aléatoire (fréquence, alimentation) Réglage initial diérent Risque d'ambiguïté Dicile pour tous les sites d'être d'accord sur l'heure Laurent PHILIPPE Chapitre 2: Temps et horloges distribués 4 / 43

Problème en cas d'absence d'horloge globale : exemple Programme make de UNIX code source des applications découpé en plusieurs chiers sources toute modication de l'un de ces chiers requiert la compilation de celui-ci et non pas la compilation de l'ensemble des chiers sources make ne compile que les chiers sources qui ont été modiés depuis la dernière compilation quels chiers sources modiés? comparaison entre les dates de modication des chiers sources et objets correspondants Laurent PHILIPPE Chapitre 2: Temps et horloges distribués 5 / 43

Programme make de UNIX Centralisé Fonctionnement de make Éditeur de programme xe la date du chier source Compilateur xe la date du chier objet Date xée par la même horloge Distribué Éditeur et compilateur peuvent s'exécuter sur des sites diérents fichiera.o compilé sur le site A à la date 110 fichiera.c modié sur le site B à la date 108 Laurent PHILIPPE Chapitre 2: Temps et horloges distribués 6 / 43

Synchronisation d'horloge Question Peut-on synchroniser toutes les horloges d'un système distribué pour obtenir une horloge unique, standard et non ambiguë? Laurent PHILIPPE Chapitre 2: Temps et horloges distribués 7 / 43

Dans un article célèbre, Lamport a montre que la synchronisation d'horloges est possible et propose un algorithme qui permet de la réaliser a. Lamport, L. (1978). "Time, clocks, and the ordering of events in a distributed system". Communications of the ACM 21 (7) : 558565 Lamport montre que la synchronisation ne doit pas forcément être absolue Dans le cas où les processus n'ont aucune interaction, il n'est pas nécessaire que leurs horloges soient synchrones Le problème n'est pas que tous les processus aient la même date mais qu'ils soient d'accord sur l'ordre dans lequel les évènements se produisent : horloges logiques Laurent PHILIPPE Chapitre 2: Temps et horloges distribués 8 / 43

Problématique Comment ordonner les évènements tel qu'à chaque évènement E soit associé une horloge H(E) sur laquelle tous les processus soient d'accord? Cette horloge doit vérier la propriété suivante : si E 1 a lieu avant E 2 alors H(E 1 ) < H(E 2 ) Relation de précédence Laurent PHILIPPE Chapitre 2: Temps et horloges distribués 9 / 43

La relation de précédence La relation de causalité Sommaire 1 Introduction 2 La relation de précédence La relation de causalité 3 4 Laurent PHILIPPE Chapitre 2: Temps et horloges distribués 10 / 43

La relation de précédence La relation de causalité Sommaire 1 Introduction 2 La relation de précédence La relation de causalité 3 4 Laurent PHILIPPE Chapitre 2: Temps et horloges distribués 11 / 43

La relation de précédence La relation de causalité Relation de précédence Dénition Introduite par Lamport : "happens-before" Dénie par les cas suivants où E 1 précède E 2 : deux évènements E 1 et E 2 qui se suivent dans un même processus émission d'un message E 1 par un processus et sa réception E 2 par un autre processus L'événement E 2 a potentionellement accès à toutes les informations de l'événement E 1 Notation La relation de précédence est notée : L'expression E 1 E 2, se lit l'événement E 1 précède l'événement E 2, c'est à dire que E 1 a lieu avant E 2 Laurent PHILIPPE Chapitre 2: Temps et horloges distribués 12 / 43

La relation de précédence La relation de causalité Propriétés de la relation de précédence Relation d'ordre La précédence dénit une relation d'ordre car elle satisfait les propriétés suivantes : Transitivité : Si E 1 E 2 et E 2 E 3 alors E 1 E 3 Irréexibilité : on n'a pas E 1 E 1 Antisymétrie : si (E 1 E 2 ) alors (E 2 E 1 ) Laurent PHILIPPE Chapitre 2: Temps et horloges distribués 13 / 43

Exemple de relation de précédence La relation de précédence La relation de causalité Processus 1 Processus 2 Processus 3 E1.1 E2.1 E1.2 E2.2 E3.1 E1.3 E1.4 E2.5 E2.3 E2.4 E3.2 E3.3 E3.4 E1.5 E2.6 E3.5 E1.6 E2.7 E3.6 E3.7 E2.8 E3.8 Laurent PHILIPPE Chapitre 2: Temps et horloges distribués 14 / 43

La relation de précédence La relation de causalité Exemple de relation de précédence Précédence entre les événements Au sein de P 1, on a : E 11 E 1.2 E 1.3 Au sein de P 2, on a : E 2.1 E 2.2 De manière transitive on a, au sein du processus P 3 : E 3.2 E 3.4 et E 3.2 E 3.5,... Et de manière distribuée : Entre deux processus P 1 et P 2 : E 1.1 E 2.2 mais aussi, par transitivité E 1.1 E 2.2 Et par rebond de transitivité entre P 1, P 1 et P 3 : E 1.1 E 3.2, E 1.5 E 3.8, E 3.3 E 2.7 Laurent PHILIPPE Chapitre 2: Temps et horloges distribués 15 / 43

La relation de précédence La relation de causalité Propriétés de la relation de précédence Remarques La relation de précédence détermine un ordre partiel entre les évènements : il n'est pas toujours possible de mettre en relation de précédence deux évènements. Par exemple (E 1.1 E 2.1 ) et (E 2.1 E 1.1 ) E 1 E 2 signie que les événements E 1 et E 2 de dépendent ni directement ni transitivement l'un de l'autre. Dans ce cas E 2 n'est pas aecté par E 1 ni aucun autre événement qui a lieu après E 1 dans le même processus Sur la gure : E 1.4 E 2.5 On peut noter : E 1, E 2 : E 1 E 2 E 2 E 1 E 1, E 2 : E 1 E 2 E 2 E 1 Laurent PHILIPPE Chapitre 2: Temps et horloges distribués 16 / 43

Relation de concurrence La relation de précédence La relation de causalité Dénition Deux évènements E 1 et E 2 sont concurrents si et seulement si ils n'ont pas de relation de précédence : (E 1 E 2 ) (E 2 E 1 ), ce qui est noté E 1 E 2 Remarques La relation n'est pas transitive E 1 E 2 et E 2 E 3 E 1 E 3 E 1, E 2 nous avons E 1 E 2 ou E 2 E 1 ou E 1 E 2 Sur la gure : E 1.2 E 2.3 et E 2.4 E 3.2 Des suites d'exécutions peuvent être concurrentes : E 11 E 12 E 13 E 21 E 22 La concurrence logique ne signie pas que les événements sont exécutés en même temps contrairement à la concurrence physique Laurent PHILIPPE Chapitre 2: Temps et horloges distribués 17 / 43

Exemple de relation de précédence La relation de précédence La relation de causalité Processus 1 Processus 2 Processus 3 E1.1 E2.1 E1.2 E2.2 E3.1 E1.3 E1.4 E2.5 E2.3 E2.4 E3.2 E3.3 E3.4 E1.5 E2.6 E3.5 E1.6 E2.7 E3.6 E3.7 E2.8 E3.8 Laurent PHILIPPE Chapitre 2: Temps et horloges distribués 18 / 43

La relation de précédence La relation de causalité Sommaire 1 Introduction 2 La relation de précédence La relation de causalité 3 4 Laurent PHILIPPE Chapitre 2: Temps et horloges distribués 19 / 43

La relation de précédence La relation de causalité Relation de causalité Dénition Un événement E 1 produit un événement E 2 si et seulement si E 2 est une conséquence de E 1. Par exemple, l'émission d'un message produit la réception de celui-ci. La relation de causalité est notée L'expression E1 E2, se lit l'événement E1 produit l'événement E2, c'est à dire que E2 est la conséquence de E2 Liée à l'algorithme : deux événements ayant une relation de précédence n'ont pas forcément de relation de causalité Exemple : un envoi de message peut suivre une exécution sans contenir de variable aectée par l'exécution Précédence et causalité sont souvent assimilées car si on ne connaît pas le contenu exact d'une exécution alors nous sommes obligés de faire l'hypothèse d'une relation de causalité. Laurent PHILIPPE Chapitre 2: Temps et horloges distribués 20 / 43

Sommaire 1 Introduction 2 La relation de précédence La relation de causalité 3 4 Laurent PHILIPPE Chapitre 2: Temps et horloges distribués 21 / 43

Sommaire 1 Introduction 2 La relation de précédence La relation de causalité 3 4 Laurent PHILIPPE Chapitre 2: Temps et horloges distribués 22 / 43

Proposition de Lamport Proposition Gestion d'une horloge processus logique ou estampille par Entre deux évènements locaux, ou suite à un évènement local, l'estampille est augmentée de 1 Suite à un envoi, l'estampille est augmentée de un top Suite à une réception, l'estampille est xée à : Max(H locale, H re c ue ) + 1 Laurent PHILIPPE Chapitre 2: Temps et horloges distribués 23 / 43

Comportement sans l'algorithme de Lamport Exemple Processus s'exécutent sur des machines diérentes Chaque machine i a : sa propre horloge H i sa propre fréquence d'horloge La fréquence d'horloge de P 0 plus basse que celle de P 1, elle même plus basse que celle de P 2. Laurent PHILIPPE Chapitre 2: Temps et horloges distribués 24 / 43

Comportement sans l'algorithme de Lamport 1 1 1 message A 2 2 2 3 4 5 6 7 8 9 message D 3 4 5 6 7 8 9 10 message B message C 3 4 5 6 7 8 9 10 11 12 P0 P1 P2 Laurent PHILIPPE Chapitre 2: Temps et horloges distribués 25 / 43

Proposition de Lamport Exemple Comportement avec l'algorithme de Lamport chaque message transporte l'estampille d'émission du point de vue de l'émetteur à la réception d'un message, le récepteur synchronise son horloge (au moins horloge reçue + 1) Laurent PHILIPPE Chapitre 2: Temps et horloges distribués 26 / 43

Exemple d'estampille de Lamport 1 1 1 message A (2) 2 2 3 4 5 6 7 Max(8,12)+1 13 8 14 message D (12) Max(2,3)+1 4 3 Max(9,10)+1 11 5 6 7 8 9 12 13 message B (5) message C (10) 2 3 4 Max(5,5)+1 6 5 7 8 9 10 11 12 13 P0 P1 P2 Laurent PHILIPPE Chapitre 2: Temps et horloges distribués 27 / 43

Proposition de Lamport Conclusion L'ordonnancement proposé par Lamport permet d'attribuer une horloge logique ou estampille à tous les évènements d'un système distribué. Cette horloge logique est conforme aux conditions suivantes : Si un événement E 1 précède un événement E 2 dans le même processus, alors H(E 1 ) < H(E 2 ). Si E 1 et E 2 représentent respectivement l'envoi et la réception d'un message, alors H(E 1 ) < H(E 2 ). pour tous évènements, E 1 et E 2, H(E 1 ) est diérente de H(E 2 ) Les horloges de Lamport permettent d'ordonner les événements d'un système distribué Laurent PHILIPPE Chapitre 2: Temps et horloges distribués 28 / 43

et ordre total Rappel : ordre total Tous les événements peuvent être comparés deux à deux par la relation d'ordre R E 1, E 2 : E 1 RE 2 E 2 RE 1 Horloges à estampilles La comparaison entre horloge est possible si on a une relation de précédence : E 1 E 2 alors H(E 1 ) < H(E 2 ) Deux, ou plus, événements concurrents peuvent avoir la même valeur d'horloge Ne peut servir de support à un problème de décision Laurent PHILIPPE Chapitre 2: Temps et horloges distribués 29 / 43

et ordre total Ordre total pour horloges à estampilles Il est nécessaire d'avoir un mécanisme supplémentaire pour mettre en place un ordre total Chaque processus dispose d'un identicateur unique Les identicateurs de processus sont associés aux estampilles qui deviennent des couples : (H, P i ), H est l'horloge locale, P i l'identicateur du processus En cas d'égalité d'estampille, l'horloge la plus petite est celle di site ayant le plus petit identicateur. Pour deux événements E 1 et E 2, d'estampille H 1 et H 2 ayant lieu sur les processus P i et P j on a : H(E 1 ) < H(E 2 ) H 1 < H 2 (H 1 = H 2 i < j) Laurent PHILIPPE Chapitre 2: Temps et horloges distribués 30 / 43

Utilisation des estampilles En algorithmique distribuée Algorithmes de mise en uvre de les d'attente virtuelles réparties : exclusion mutuelle répartie mise à jour de copies cohérentes diusion cohérente Détermination de l'événement le plus récent dans un ensemble d'événements : gestion de la cohérence de caches mise en uvre de la mémoire virtuelle partagée datation des transactions réparties Génération de noms uniques Laurent PHILIPPE Chapitre 2: Temps et horloges distribués 31 / 43

Avantages des estampilles Trois principaux avantages : Première datation répartie introduite Économiques : la datation est réalisée par un seul nombre et non par un vecteur Causalité des messages est respectée par remise à l'heure du récepteur Laurent PHILIPPE Chapitre 2: Temps et horloges distribués 32 / 43

Limitation de la datation par estampille E 1 > E 2 implique H(E 1 ) < H(E 2 ) est une condition faible car on ne peut rien armer si H(E 1 ) < H(E 2 ) soit les évènements E 1 et E 2 sont concurrents soit les évènements E 1 et E 2 sont ordonnés Quand deux évènements sont concurrents, on ne peut rien conclure quant à leurs horloges logiques respectives Seule certitude : Si H(E 1 ) = H(E 2 ) Alors E 1 et E 2 sont concurrents. ne sont pas denses : soient E 1 et E 2 tels que H(E 1 ) < H(E 2 ), on ne peut pas savoir s'il existe E 3 tel que E 1 > E 3 et/ou E 3 > E 2 Laurent PHILIPPE Chapitre 2: Temps et horloges distribués 33 / 43

Sommaire 1 Introduction 2 La relation de précédence La relation de causalité 3 4 Laurent PHILIPPE Chapitre 2: Temps et horloges distribués 34 / 43

Propriété de consistance Les estampilles ne conservent pas la trace des chemins de causalité : réciproque de la dépendence causale Non constantes = pas de lien avec la précédence Nécessité de conserver l'état de chaque estampille pour déterminer localement la précédence entre deux événements Vecteur d'horloges A voir plus tard Laurent PHILIPPE Chapitre 2: Temps et horloges distribués 35 / 43

Sommaire 1 Introduction 2 La relation de précédence La relation de causalité 3 4 Laurent PHILIPPE Chapitre 2: Temps et horloges distribués 36 / 43

Snapshot Les horloges vectorielles ne permettent que de valider les dépendences entre événements. L'ordre de réception des messages peut avoir une incidence sur de dérouelement de l'algorithme du processus P i Mémorisation dans une matrice : Ligne (i, i) : état du processus i Ligne (i, j) : nombre de messages échangés entre P i et P k Laurent PHILIPPE Chapitre 2: Temps et horloges distribués 37 / 43

Sommaire 1 Introduction 2 La relation de précédence La relation de causalité 3 4 Laurent PHILIPPE Chapitre 2: Temps et horloges distribués 38 / 43

Horloges physiques Remarques Algorithme de Lamport propose une solution pour ordonner les évènements de façon non ambiguë Mais horloges logiques associées aux évènements ne correspondent pas forcément à la date réelle à laquelle ils se produisent Dans certains systèmes (trac aérien, commerce, log, transactions), le temps réel est important : un certain nombre d'algorithmes permettant de gérer ce problème existent (problématique non abordée dans ce cours) Laurent PHILIPPE Chapitre 2: Temps et horloges distribués 39 / 43

Horloges physiques Synchronisation Synchroniser les horolges physiques sur une horloge xe, UCT (Universal Coordinated Time) Les horloges peuvent avoir des fréquences diérentes Protocole de gestion du temps : Network Time Protocole (NTP) Repose sur une hiérarchie : Serveurs racines (primaires) qui se synchronisent sur UCT Serveurs intermédiaires et sauvegarde des serveurs primaires Sous-réseaux de clients Laurent PHILIPPE Chapitre 2: Temps et horloges distribués 40 / 43

NTP Laurent PHILIPPE Chapitre 2: Temps et horloges distribués 41 / 43

Horloges logiques Exercice Utiliser les horloges logiques pour gérer l'accès au parking Laurent PHILIPPE Chapitre 2: Temps et horloges distribués 42 / 43

Références Distributed Systems, Principle and Paradigms, A.Tanenbaum, Pearson Ed. M.Raynal, Une introduction aux principes des systèmes répartis (3 tomes), EyrollesEd. (1991) Cours de C.Kaiser du Cnam. Laurent PHILIPPE Chapitre 2: Temps et horloges distribués 43 / 43