Tolérance aux pannes



Documents pareils
Gestion répartie de données - 1 Duplication et cohérence

Systèmes et algorithmes répartis

Systèmes et algorithmes répartis

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration

Réplication des données

«clustering» et «load balancing» avec Zope et ZEO

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

Gestion répartie de données - 1

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

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Conception des systèmes répartis

Windows Internet Name Service (WINS)

<Insert Picture Here> Solaris pour la base de donnés Oracle

Projet gestion d'objets dupliqués

Présentation du module Base de données spatio-temporelles

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43

Informatique pour scientifiques hiver Plan général Systèmes d exploitation

Programmation parallèle et distribuée

Solution Haute Disponibilité pour Linux

Bases de données et sites WEB Licence d informatique LI345

ORDONNANCEMENT CONJOINT DE TÂCHES ET DE MESSAGES DANS LES RÉSEAUX TEMPS RÉELS 4. QUELQUES EXEMPLES DU DYNAMISME ACTUEL DU TEMPS RÉEL

Le passage à l échelle de serveur J2EE : le cas des EJB

ASR3. Partie 4 Le système de fichier. Arnaud Clérentin, IUT d Amiens, département Informatique

INF6500 : Structures des ordinateurs. Sylvain Martel - INF6500 1

Contributions à l expérimentation sur les systèmes distribués de grande taille

Les transactions 1/46. I même en cas de panne logicielle ou matérielle. I Concept de transaction. I Gestion de la concurrence : les solutions

CLOUD CP3S SOLUTION D INFRASTRUCTURE SOUMIS À LA LÉGISLATION FRANÇAISE. La virtualisation au service de l entreprise. Évolutivité. Puissance.

Cours Bases de données

Hibernate vs. le Cloud Computing

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

Algorithmique répartie

Synchro et Threads Java TM

EMC DATA DOMAIN HYPERMAX

Un concept multi-centre de données traditionnel basé sur le DNS

Solutions de stockage réseau

Implémentation des SGBD

FAMILLE EMC RECOVERPOINT

J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation

Sur un ordinateur exécutant Windows 2000 Server Ayant une adresse IP statique

Sauvegarde collaborative entre pairs Ludovic Courtès LAAS-CNRS

Sommaire. 3. Les grands principes de GFS L architecture L accès de fichier en lecture L accès de fichier en écriture Bilan

Le Network File System de Sun (NFS)

Quel niveau RAID est le mieux adapté à mes besoins?

Ordonnancement temps réel

ERP Service Negoce. Pré-requis CEGID Business version sur Plate-forme Windows. Mise à jour Novembre 2009

Windows 2000: W2K: Architecture. Introduction. W2K: amélioration du noyau. Gamme windows W2K pro: configuration.

EMC DATA DOMAIN OPERATING SYSTEM

Cisco Certified Network Associate

WHITE PAPER. Quels avantages la déduplication offre-t-elle aux entreprises? Livre blanc Acronis

Mieux comprendre les certificats SSL THAWTE EST L UN DES PRINCIPAUX FOURNISSEURS DE CERTIFICATS SSL DANS LE MONDE

CEG4566/CSI4541 Conception de systèmes temps réel

Software Engineering and Middleware A Roadmap

Gestion des sauvegardes

Données Réparties. Thibault BERNARD.

SYSTÈME DE GESTION DE FICHIERS

C-JDBC. Emmanuel Cecchet INRIA, Projet Sardes.

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

«Clustering» et «Load balancing» avec Zope et ZEO

Gestion de mémoire secondaire F. Boyer, Laboratoire Sardes

Présentation Alfresco

INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE

Prise en compte des ressources dans les composants logiciels parallèles

Architecture d un service de partage de données modifiables sur une infrastructure pair-à-pair

Livre blanc Haute disponibilité sous Linux

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

Partie 7 : Gestion de la mémoire

Sauvegarde collaborative en pair-à-pair

EX4C Systèmes d exploitation. Séance 14 Structure des stockages de masse

//////////////////////////////////////////////////////////////////// Administration bases de données

Architecture distribuée

Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes

REALISATION d'un. ORDONNANCEUR à ECHEANCES

Conventions d écriture et outils de mise au point

CH.3 SYSTÈMES D'EXPLOITATION

Plan du cours. Autres modèles pour les applications réparties Introduction. Mode de travail. Introduction

Introduction au temps réel

Programmation parallèle et distribuée

Initiation au HPC - Généralités

LIVRE BLANC Pratiques recommandées pour l utilisation de Diskeeper sur les réseaux SAN (Storage Area Networks)

Module BDR Master d Informatique (SAR)

LES OUTILS DU TRAVAIL COLLABORATIF

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

PocketNet SNMP/Modbus

Conception et contrôle des SMA tolérants aux fautes

Concours interne d ingénieur des systèmes d information et de communication. «Session 2010» Meilleure copie "étude de cas architecture et systèmes"

White Paper - Livre Blanc

Cours CCNA 1. Exercices

4.2 Unités d enseignement du M1

L I V R E B L A N C P r o t ég e r l e s a p p l i c a t i o n s m ét i e r s c r i t i q u e s M a i n f r a m e, un b e s o i n c r u c i a l

Cours Bases de données 2ème année IUT

s é c u r i t é Conférence animée par Christophe Blanchot

Ne laissez pas le stockage cloud pénaliser votre retour sur investissement

Bases de données Cours 1 : Généralités sur les bases de données

Ebauche Rapport finale

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

LES NOUVEAUTES DE COST AND PROFITABILITY MANAGEMENT 8.1

Métriques de performance pour les algorithmes et programmes parallèles

Tests de performance du matériel

Transcription:

Tolérance aux pannes Arnaud Labourel Université de Provence 15 mars 2012 Arnaud Labourel (Université de Provence) Tolérance aux pannes 15 mars 2012 1 / 55

Présentation Tolérances aux pannes Pannes Définition Méthode de conception d un système assurant son fonctionnement, potentiellement de manière réduite (en mode dégradé), lorsque l un ou plusieurs de ses composants ne fonctionne plus correctement. Exemple : un véhicule qui peut encore rouler malgré un pneu crevé. Arnaud Labourel (Université de Provence) Tolérance aux pannes 15 mars 2012 2 / 55

Présentation Quelques Définitions Pannes panne définitive crash processus rupture canal communication panne transitoire blocage/ralentissement = asynchrone comportement aberrant temporaire modification/duplication de message panne byzantine un des noeuds a un comportement arbitraire comportement malicieux la pire des pannes Arnaud Labourel (Université de Provence) Tolérance aux pannes 15 mars 2012 3 / 55

Présentation Pannes Remarque sur ces Modélisations Spécificité du distribué panne des machines panne du réseau Dépendance vis-à-vis du système physique sous-jacent machine massivement parallèle réseau mobile interlocuteurs anonymes/inconnus panne byzantine : comportement d adversaire/attaque = application en sécurité Arnaud Labourel (Université de Provence) Tolérance aux pannes 15 mars 2012 4 / 55

Présentation Algorithmes Robustes Pannes Définition Un algorithme distribué est f robuste s il fonctionne correctement même avec f pannes simultanées. aucune garantie avec f + 1 pannes. Arnaud Labourel (Université de Provence) Tolérance aux pannes 15 mars 2012 5 / 55

Présentation Algorithmes Robustes Pannes Dans le cas des pannes de type crash. Définition Un algorithme distribué est sans attente (wait-free) s il fonctionne correctement même lorsque tous les processus crashent, sauf un. pas d exclusion mutuelle avec des sémaphores. Diner des philosophes : Socrate meurt en ayant une fourchette Arnaud Labourel (Université de Provence) Tolérance aux pannes 15 mars 2012 6 / 55

Autostabilisation Présentation Algorithmes autostabilisants Définition Un algorithme distribué est autostabilisant si il fonctionne correctement (au bout d un certain temps) quelque soit la configuration initiale. = panne transitoire Arnaud Labourel (Université de Provence) Tolérance aux pannes 15 mars 2012 7 / 55

Autostabilisation Présentation Algorithmes autostabilisants état du système configurations correctes stabilisation état correct panne stabilis. état correct panne temps Arnaud Labourel (Université de Provence) Tolérance aux pannes 15 mars 2012 8 / 55

Présentation Détecteur de panne Avec détection de pannes Afin d enrichir le réalisme des modèles, il est possible de rajouter des oracles indiquant si certaines pannes se sont produites (avec une certaine certitude). Par exemple, envoi de PING (requête) et calcul d un dépassement de délai pour le PONG (réponse). permet de détecter les pannes définitives ou temporaires. Aucune garantie pour les pannes byzantines. Arnaud Labourel (Université de Provence) Tolérance aux pannes 15 mars 2012 9 / 55

Applications Présentation Avec détection de pannes Algorithmes plus réalistes prise en charge des pannes matérielles et/ou logicielles fiabilité pour systèmes critiques Tâches distribuées impossibles L existence de pannes peut rendre impossible certains problèmes Compromis expressivité / maintenance Arnaud Labourel (Université de Provence) Tolérance aux pannes 15 mars 2012 10 / 55

Réplication Réplication Présentation Copie d un objet en plusieurs objets identiques mais localisés à des endroits différents sur le système distribué considéré. But maintenir de manière transparente un objet logique via la réplication d un même objet physique Robustesse Performance Arnaud Labourel (Université de Provence) Tolérance aux pannes 15 mars 2012 11 / 55

Exemples Réplication Présentation Disque RAID Copies physiques d un serveur Reprise immédiate après panne électronique Pas de protection contre les pannes logicielles (crash d Ariane V) Serveurs multiples pour tenir la charge Cache Disque dur Navigateur Copies multiples de fichier personnels sur des supports différents (sauvegarde : timecapsule, unison) Développement avec svn (systèmes de gestion de versions) Arnaud Labourel (Université de Provence) Tolérance aux pannes 15 mars 2012 12 / 55

Réplication Présentation Duplication de données : RAID Principe Répartir des données sur plusieurs disques durs afin d améliorer la tolérance aux pannes et/ou la performance. RAID 0 : volumes agrégés par bandes RAID 1 : Disques en miroir RAID 5 : volume agrégé par bandes à parité répartie Arnaud Labourel (Université de Provence) Tolérance aux pannes 15 mars 2012 13 / 55

Réplication Présentation duplication de données : RAID RAID0.svg RAID1.svg 21/02/11 16:24 21/02/11 16:26 RAID 0 RAID 1 A1 A3 A5 A7 A2 A4 A6 A8 A1 A2 A3 A4 A1 A2 A3 A4 Arnaud Labourel (Université de Provence) Tolérance aux pannes 15 mars 2012 14 / 55

Problématique (I) Réplication Présentation Comment maintenir la consistance de tous ces objets répliqués? Mises à jour Approche centrée sur les données le client Quelle consistance? Comment gérer correctement la montée en charge (nombreuses requêtes simultanées)? Arnaud Labourel (Université de Provence) Tolérance aux pannes 15 mars 2012 15 / 55

Réplication Retour sur Java RMI Présentation Protection des accès concurrents par synchronized On pourrait aussi imaginer un ordonnancement des accès afin d éviter de laisser l objet dans un état inconsistant. Comment répliquer des objets RMI? responsabilité de l objet responsabilité du SE (au sens large) Arnaud Labourel (Université de Provence) Tolérance aux pannes 15 mars 2012 16 / 55

Problématique (II) Réplication Présentation Première idée : recopier les objets propager immédiatement toute mise à jour = facilite un certain passage à l échelle = consistance forte = coûteux en synchronisation (forte utilisation du réseau) Autres idées (pour éviter le mauvais compromis passage à l échelle/coût de synchro): consistance affaiblie : toutes les copies ne sont pas identiques mises à jour dynamiques et si possible astucieuses Arnaud Labourel (Université de Provence) Tolérance aux pannes 15 mars 2012 17 / 55

Réplication Approche centrée sur les données Approche Centrée sur les Données Process Process Process Local copy Distributed data store Arnaud Labourel (Université de Provence) Tolérance aux pannes 15 mars 2012 18 / 55

Réplication Modèle de Consistance consistance Définition Un modèle de consistance est un contrat entre les processus et le système de données distribué. Une hypothèse classique est de supposer que le processus qui a fait la dernière écriture doit récupérer la même valeur en lecture immédiate. = Qui est le dernier à écrire? Arnaud Labourel (Université de Provence) Tolérance aux pannes 15 mars 2012 19 / 55

Horloges Réplication consistance Il n y a a priori aucune horloge globale. (Impossibilité de synchroniser précisément des horloges à travers le réseau) Remarque Théorie de la Relativité! (plusieurs référentiels) = découper le temps en intervalles. Mais que faire d opérations se produisant dans le même intervalle? Arnaud Labourel (Université de Provence) Tolérance aux pannes 15 mars 2012 20 / 55

Réplication Consistance Stricte Consistance Stricte Définition Toute lecture d un objet x renvoie la valeur la plus récemment écrite en x. P1: W(x)a P1: P2: R(x)a P2: (a) W(x)a R(x)NIL (b) R(x)a Impossible à réaliser en pratique car la synchronisation prends toujours un certain temps Notation R(x)a (lire la valeur a sur la variable x) W (x)a (écrire la valeur a sur la variable x) Arnaud Labourel (Université de Provence) Tolérance aux pannes 15 mars 2012 21 / 55

Réplication Consistance Séquentielle I Consistance Séquentielle Définition Il existe un entrelacement séquentiel des actions sur la structure de donnée distribuée qui est compatible avec l ordre des actions de chacun des processus. On peut obtenir le même calcul avec un seul processeur exécutant les instructions en séquentiel. L ordre d exécution global doit respecter l ordre d exécution de chacun des fils d exécution. Arnaud Labourel (Université de Provence) Tolérance aux pannes 15 mars 2012 22 / 55

Réplication Consistance Séquentielle Consistance Séquentielle II P1: W(x)a P1: P2: W(x)b P2: P3: R(x)b R(x)a P3: P4: R(x)b R(x)a P4: (a) W(x)a W(x)b R(x)b R(x)a R(x)a R(x)b (b) (a) Oui car il existe une exécution séquentielle : W 2 (x)b, R 3 (x)b, R 4 (x)b, W 1 (x)a, R 3 (x)a, R 4 (x)a (b) Non car il n est pas possible pour un processus de lire a puis b sur la variable x alors qu un autre processus voit l ordre inverse. Arnaud Labourel (Université de Provence) Tolérance aux pannes 15 mars 2012 23 / 55

Réplication Consistance Causale I Consistance Causale Dépendance causale Si un événement B dépend d un événement A, alors A précède B. Les événements dans un processus sont dépendants. Exemple : P 1 : W (x)a P 2 : R(x)a W (x)b R 2 (x)a dépend de W 1 (x)a W 2 (x)b dépend de W 1 (x)a Arnaud Labourel (Université de Provence) Tolérance aux pannes 15 mars 2012 24 / 55

Réplication Consistance Causale II Consistance Causale Les opérations non causalement liées sont concurrentes. Définition (Hutto, Ahamad 90) Les écritures qui sont (potentiellement) reliées causalement doivent être vues dans le même ordre par tous les processus. Les écritures concurrentes peuvent être vues dans un ordre différent. Exemple : P1 : W(x)3 P2 : R(x)3, W(x)4 Les autres processus doivent voir 3 puis 4. Arnaud Labourel (Université de Provence) Tolérance aux pannes 15 mars 2012 25 / 55

Exemples I Réplication Consistance Causale P1: W(x)a P2: P3: P4: R(x)a R(x)a R(x)a W(x)b W(x)c R(x)c R(x)b R(x)b R(x)c Consistant causal car les seules relations de dépendances des écritures sont : W 1 (x)a W 2 (x)b W 1 (x)a W 1 (x)c Arnaud Labourel (Université de Provence) Tolérance aux pannes 15 mars 2012 26 / 55

Exemples II Réplication Consistance Causale P1: W(x)a P1: W(x)a P2: R(x)a W(x)b P2: P3: R(x)b R(x)a P3: P4: R(x)a R(x)b P4: (a) (b) W(x)b R(x)b R(x)a R(x)a R(x)b (a) pas consistant car W 1 (x)a R 2 (x)a W 2 (x)b. (b) consistant car pas de dépendance entre W 1 (x)a et W 2 (x)b. Arnaud Labourel (Université de Provence) Tolérance aux pannes 15 mars 2012 27 / 55

Consistance FIFO Réplication Consistance FIFO Définition Les écritures effectuées par un seul processus doivent être vues par les autres dans leur ordre d exécution. Mais les écritures de processus différents peuvent être vues dans des ordres différents. Arnaud Labourel (Université de Provence) Tolérance aux pannes 15 mars 2012 28 / 55

Exemple Réplication Consistance FIFO P1: W(x)a P2: P3: P4: R(x)a W(x)b W(x)c R(x)b R(x)a R(x)a R(x)b R(x)c R(x)c Consistant car la seule relation de dépendance est W 2 (x)b W 2 (x)c Arnaud Labourel (Université de Provence) Tolérance aux pannes 15 mars 2012 29 / 55

Réplication Consistance Affaiblie Consistance FIFO Les modèles précédents peuvent être trop contraignants performance obligation de voir toutes les écritures dans un certain ordre = consistance non permanente = variables de synchronisation = Il est préférable de considérer un modèle plus faible. Arnaud Labourel (Université de Provence) Tolérance aux pannes 15 mars 2012 30 / 55

Réplication Consistance FIFO Consistance Faible Générique les accès aux variables de synchronisation sont séquentiellement consistants les écritures doivent être terminées quand un accès sur une variable de synchronisation se fait. les accès aux variables de synchronisation doivent être terminés pour tout accès (lecture/écriture) postérieure = verrou, barrière de synchronisation Arnaud Labourel (Université de Provence) Tolérance aux pannes 15 mars 2012 31 / 55

Réplication Consistance FIFO Consistance par Libération Deux primitives : Acq : acquérir un verrou Rel : libérer un verrou On se restreint à seulement un accès aux variables de synchronisation en consistance FIFO. P1: Acq(L) W(x)a P2: P3: W(x)b Rel(L) Acq(L) R(x)b Rel(L) R(x)a Consistant car R 3 (x)a peut être exécuté entre W 1 (x)a et W 1 (x)b. Arnaud Labourel (Université de Provence) Tolérance aux pannes 15 mars 2012 32 / 55

Réplication Consistance FIFO Consistance par Libération Paresseuse Au lieu de propager les nouvelles valeurs à chaque libération, on ne se met à jour que lors d une acquisition. = Les paires Acq,Rel répétées par un même processus n induisent pas de surcoût. Arnaud Labourel (Université de Provence) Tolérance aux pannes 15 mars 2012 33 / 55

Résumé Réplication Résumé Stricte : impossible à implémenter Séquentielle : populaire parmi les programmeurs mais performance médiocre Causale et FIFO : c est au programmeur de gérer ce qui ne marche plus lorsque la consistance séquentielle n est pas garantie faible, par libération : primitive de synchronisation explicite permettant de faire comme si la structure de donnée distribuée était séquentiellement consistante. Arnaud Labourel (Université de Provence) Tolérance aux pannes 15 mars 2012 34 / 55

Approche basée sur le client Présentation Modèles Centrés sur le Client Ces modèles sont destinés à des situations avec très faible concurrence = peu de conflits. Par exemple, inconsistence supportable (WWW) client mobile Arnaud Labourel (Université de Provence) Tolérance aux pannes 15 mars 2012 35 / 55

Client Mobile Approche basée sur le client Présentation Client moves to other location and (transparently) connects to other replica Replicas need to maintain client-centric consistency Wide-area network Portable computer Read and write operations Distributed and replicated database Arnaud Labourel (Université de Provence) Tolérance aux pannes 15 mars 2012 36 / 55

Approche basée sur le client Lectures Monotones Présentation Définition Si un processus lit une valeur pour x alors toute lecture de x renverra la même valeur ou une valeur plus récente. Ex : Boîte aux lettres électroniques Arnaud Labourel (Université de Provence) Tolérance aux pannes 15 mars 2012 37 / 55

Approche basée sur le client Ecritures Monotones Présentation Définition Toute écriture doit être terminée avant toute écriture successive du même processus. L1: W(x 1) L2: W(x 1) W(x2 ) L1: L2: W(x ) 1 W(x 2 ) (a) (b) Arnaud Labourel (Université de Provence) Tolérance aux pannes 15 mars 2012 38 / 55

Approche basée sur le client Lecture de ses Ecritures Présentation Définition L effet d une opération d écriture par un processus sur x est visible par toute lecture ultérieure de x par le même processus. Arnaud Labourel (Université de Provence) Tolérance aux pannes 15 mars 2012 39 / 55

Approche basée sur le client Présentation L Ecriture Succède à la Lecture Définition Si une écriture par un processus sur une donnée x suit une lecture de x, alors l écriture opère sur la valeur lue ou bien une valeur plus récente. Exemple : Réaction à un article sur un forum distribué Arnaud Labourel (Université de Provence) Tolérance aux pannes 15 mars 2012 40 / 55

Approche basée sur le client Implémentation Naïve Présentation A chaque opération d écriture est associée un identifiant unique. Permet d interpréter un ensemble d opérations (transactions) de manière à respecter la consistance. Identifiant Fourni par un des serveurs Horodatage à la Lamport Arnaud Labourel (Université de Provence) Tolérance aux pannes 15 mars 2012 41 / 55

Approche basée sur le client Présentation Horloges Logiques de Lamport Définition Ce sont les horloges distribuées que l on peut construire en tenant compte de la dépendance causale de certaines actions. Quand un événement b sur P i dépend de a sur P j, (exemple : R i (a) dépend de W j (a)), on met à jour la date de l événement b au maximum entre la date du précédent événement sur P i plus 1 et la date de b plus 1. Arnaud Labourel (Université de Provence) Tolérance aux pannes 15 mars 2012 42 / 55

Exemples Approche basée sur le client Présentation A B C Temps 1 2 8 9 3 7 4 7 8 5 6 7 8 Arnaud Labourel (Université de Provence) Tolérance aux pannes 15 mars 2012 43 / 55

Approche basée sur le client Présentation Protocoles de Distribution... où comment implémenter la consistance : Placement des répliques Propagation des mises à jour Protocole d épidémie Arnaud Labourel (Université de Provence) Tolérance aux pannes 15 mars 2012 44 / 55

Approche basée sur le client Présentation Placements des Répliques Server-initiated replication Client-initiated replication Permanent replicas Server-initiated replicas Client-initiated replicas Clients Arnaud Labourel (Université de Provence) Tolérance aux pannes 15 mars 2012 45 / 55

Approche basée sur le client Répliques/ copies Présentation Répliques permanentes : copies statiques miroir de site web base de données fédérées Répliques issues de serveurs : gestion dynamique de la charge, duplication orientée vers la demande cache serveur réplication dynamique et partielle de serveur web Répliques issues de clients : = cache client cache navigateur proxy (partagé) moindre consistance Arnaud Labourel (Université de Provence) Tolérance aux pannes 15 mars 2012 46 / 55

Approche basée sur le client Présentation Répliques Issues de Serveurs I Réplique dirigée par le compte des requêtes concernant une ressource : Seuil d effacement : Il faut effacer la copie quand on a plus besoin ou quelle n est plus à jour. Seuil de réplication : Ne pas dupliquer si la ressource n est demandée que rarement. = il est difficile de compter les accés. Arnaud Labourel (Université de Provence) Tolérance aux pannes 15 mars 2012 47 / 55

Approche basée sur le client Présentation Propagation des Mises-à-jour Que faut-il propager? notification de mise-à-jour = invalidation des données obsolètes. les données à jour l opération de mise-à-jour (par exemple différence avec les anciennes données) = réplication active Arnaud Labourel (Université de Provence) Tolérance aux pannes 15 mars 2012 48 / 55

Protocoles Approche basée sur le client Présentation Protocoles Dirigés par les Serveurs : les répliques sont poussées systématiquement permet d avoir une forte consistance ( = répliques quasi-identiques) Protocoles Dirigés par les Clients : écoute active Arnaud Labourel (Université de Provence) Tolérance aux pannes 15 mars 2012 49 / 55

Comparaisons Approche basée sur le client Présentation Serveurs : meilleur consistance problème de la gestion des caches clients prendre avantage du multicast (si disponible) Clients : efficace dans certains cas problème des défauts de cache = Compromis... Arnaud Labourel (Université de Provence) Tolérance aux pannes 15 mars 2012 50 / 55

Approche basée sur le client Méthode Hybride Présentation Par allocation : Le serveur garantit que les données sont à jour pendant un certain temps (d allocation) Le serveur peut fournir des données à jour plus fréquemment Le client effectue une mise à jour si le temps d allocation est dépassé Avantage : possibilité de jouer sur les temps d allocation pour s adapter à la dynamique du système. Arnaud Labourel (Université de Provence) Tolérance aux pannes 15 mars 2012 51 / 55

Approche basée sur le client Protocoles d Epidémies Epidémie Comment propager des mises-à-jour (de serveurs) le plus efficacement possible : rapidement avec peu de communication Par analogie avec les épidémies biologiques. Arnaud Labourel (Université de Provence) Tolérance aux pannes 15 mars 2012 52 / 55

Approche basée sur le client Epidémie Méthode d Anti-Entropie Entre le serveur P et le serveur Q. Aléatoirement (avec un probabilité d infection), si P est infectieux 1 P transmet ses mises-à-jour à Q 2 P demande les mises-à-jour de Q 3 P et Q s échangent leurs mises-à-jour Arnaud Labourel (Université de Provence) Tolérance aux pannes 15 mars 2012 53 / 55

Approche basée sur le client Epidémie Modèle Mémoire Java I Mais à quoi sert un modèle mémoire? Mais tout thread lira bien 3 après une telle instruction! variable = 3; Il faut tenir compte des détails bas-niveau : réarrangements du code par les compilateurs réarrangement par le(s) processeur(s) variables en mémoire ou en registre... inévitables car responsable des améliorations de performances récents (et à venir...) Arnaud Labourel (Université de Provence) Tolérance aux pannes 15 mars 2012 54 / 55

Approche basée sur le client Epidémie Modèle Mémoire Java II Définition Le modèle mémoire spécifie le comportement relatif des lectures et écritures dans un tel environnement. Un ordre partiel est défini sur les actions de chaque thread: ou est arrivé avant. Si W R, alors la valeur écrite par W sera bien lu par R, dans le cas contraire aucune garantie n est donnée... Cela permet de très nombreuses exécutions possibles Un ordre total = consistance séquentielle. Arnaud Labourel (Université de Provence) Tolérance aux pannes 15 mars 2012 55 / 55