INF4410 Systèmes répartis et infonuagique. Module 6: Coordination et consensus

Documents pareils
Introduction aux algorithmes répartis

Réplication des données

L exclusion mutuelle distribuée

WEA Un Gérant d'objets Persistants pour des environnements distribués

Service de noms des domaines (Domain Name System) Cours administration des services réseaux M.BOUABID,

Programmation Par Contraintes

Encryptions, compression et partitionnement des données

Systèmes et algorithmes répartis

Sauvegarde collaborative entre pairs Ludovic Courtès LAAS-CNRS

CARPE. Documentation Informatique S E T R A. Version Août CARPE (Documentation Informatique) 1

Resolution limit in community detection

Cours de Génie Logiciel

(Third-Man Attack) PASCAL BONHEUR PASCAL 4/07/2001. Introduction. 1 Domain Name Server. 2 Commandes DNS. 3 Hacking des serveurs DNS

1 Identités pour l enregistrement IMS

Notes de cours : bases de données distribuées et repliquées

AJAX. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Statuts de l association swissuniversities

Introduction aux SGBDR

Résumé CONCEPTEUR, INTEGRATEUR, OPERATEUR DE SYSTEMES CRITIQUES

Cours admin 200x serveur : DNS et Netbios

Transmissions série et parallèle

Argument-fetching dataflow machine de G.R. Gao et J.B. Dennis (McGill, 1988) = machine dataflow sans flux de données

Problème : Calcul d'échéanciers de prêt bancaire (15 pt)

Haute-disponibilité et bases de données

Les liaisons SPI et I2C

RAPPORT DE CONCEPTION UML :

Cours UNIX Network Information Service


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

VIII- Circuits séquentiels. Mémoires

Serveurs de noms Protocoles HTTP et FTP

Poudlard But Matériel : Mise en place Prologue d'emplacements différents

ISC Système d Information Architecture et Administration d un SGBD Compléments SQL

Leica Geosystems Licences des logiciels Introduction & Installation

Un classeur pour les documents des fournisseurs (factures, bons de commande, soumissions);

Partage avec collaboration Important : Ce type de partage exige la connexion à un serveur CmapServer.

Compétences Business Objects

La haute disponibilité

Conception des systèmes répartis

Déploiement sécuritaire de la téléphonie IP

GUIDE D UTILISATION DU LOGICIEL DE TELE-MAINTENANCE. TEAM VIEWER Version 7.

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

LES REPRESENTATIONS DES NOMBRES

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

Programmation linéaire

Présentation de Active Directory

Plan 1/9/2013. Génération et exploitation de données. CEP et applications. Flux de données et notifications. Traitement des flux Implémentation

La replication dans PostgreSQL

Connaître les Menaces d Insécurité du Système d Information

PREMIERE UTILISATION D IS-LOG

Vérifier la qualité de vos applications logicielle de manière continue

Programmation parallèle et distribuée

Transférer une licence AutoCAD monoposte

HA2000 GSM Transmetteur téléphonique

Paramétrage de pools d'applications sous IIS 6.0

1. Introduction. Bases de données Réparties, Fédérées et Réplication. Plan. Bibliographie du cours

Définition des Webservices Ordre de paiement par . Version 1.0

Cours de Master Recherche

Les diagrammes de modélisation

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

Big Graph Data Forum Teratec 2013

Guide de développement de «WorkFLows» avec SharePoint Designer 2013

Licence Sciences et Technologies Examen janvier 2010

Logique séquentielle

Les tests logiques avec Excel

Prêt de série et création de groupes d emprunteurs

Tenrox. Guide d intégration Tenrox-Salesforce. Janvier Tenrox. Tous droits réservés.

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

FOIRE AUX QUESTIONS PAIEMENT PAR INTERNET. Nom de fichier : Monetico_Paiement_Foire_aux_Questions_v1.7 Numéro de version : 1.7 Date :

I. Cas de l équiprobabilité

Chapitre VI- La validation de la composition.

Comment se connecter au VPN ECE sous vista

BeSpoon et l homme Connecté

Ordinateurs, Structure et Applications

Algorithmique répartie

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

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

Francis BISSON ( ) Kenny CÔTÉ ( ) Pierre-Luc ROGER ( ) IFT702 Planification en intelligence artificielle

Cours de Systèmes d Exploitation

Gérer son DNS. Matthieu Herrb. tetaneutral.net. Atelier Tetaneutral.net, 10 février

RCS : Rich Communication Suite. EFORT

Caractéristiques techniques

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

SOMMAIRE. 3. Comment Faire? Description détaillée des étapes de configuration en fonction du logiciel de messagerie... 3

CODIFICATION ADMINISTRATIVE DU RÈGLEMENT NUMÉRO 697 CONCERNANT LES SYSTÈMES D ALARME SUR LE TERRITOIRE DE LA VILLE DE MASCOUCHE

Gestion des transactions et accès concurrents dans les bases de données relationnelles

PC Check & Tuning 2010 Optimisez et accélérez rapidement et simplement les performances de votre PC!

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

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

MS PROJECT Prise en main. Date: Mars Anère MSI. 12, rue Chabanais PARIS E mail : jcrussier@anere.com Site :

Oauth : un protocole d'autorisation qui authentifie?

Fiche technique variateur

Documentation RBS Change E-Commerce Core

Domain Name System. F. Nolot

Sommaire Introduction Les bases de la cryptographie Introduction aux concepts d infrastructure à clés publiques Conclusions Références

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

Guide Utilisateur. Sommaire

Plateforme PAYZEN. Définition de Web-services

Transcription:

Module 6: Coordination et consensus

Introduction : Un des problème fondamentaux des systèmes répartis : le consensus! Comment faire pour mettre d accord plusieurs processus indépendants? Comment faire pour coordonner leurs actions? Comment faire pour résoudre ce problème? Une solution naïve est d implémenter le modèle maître-esclave ; Est-ce que le problème du consensus est le même pour les systèmes synchrones et asynchrones? ~ 2 ~

Exclusion mutuelle répartie Processus 2 Processus 1 Processus 3 Ressource partageable Processus n Exclusion mutuelle est nécessaire pour : Prévenir les interférences ; Assurer la cohérence en cas d accès simultanés aux ressources. ~ 3 ~

Synchronisation par exclusion mutuelle répartie Sûreté: un seul client à la fois obtient le verrou. Vivacité: personne n'est laissé pour compte, chaque client voit éventuellement sa requête satisfaite. Ordre: premier arrivé, premier servi, si un client A fait une demande, envoie un message à B, et B fait une demande, l'ordre logique dit que la demande de A arrive avant celle de B. Elle devrait être servie en premier. ~ 4 ~

Serveur central Un client envoie une demande de verrou, le serveur attend que le verrou soit libre, le donne au client, et le client le relâche éventuellement, ce qui permet au serveur de le donner à un autre client. Si le serveur est en panne, élection d'un nouveau serveur (majorité de clients), et vérification de tous les clients pour voir qui possède des verrous ou a soumis une requête (problème si clients non rejoignables en raison de division du réseau). Exemple: serveur lockd sous NFS. ~ 5 ~

Serveur central ~ 6 ~

Anneau à jeton Le verrou passe de processus en processus constamment. Inutile lorsque personne ne requiert le verrou. Problème dès qu'un client fait défaut. Ne respecte pas premier arrivé, premier servi. ~ 7 ~

Exclusion par envoi à tous Envoyer une requête à tous. Recevoir le O.K. de tous. Si on a le verrou, attendre d'en avoir terminé avant de répondre O.K. Si on veut le verrou et notre demande est antérieure, attendre le verrou et d'en avoir fini avant de répondre O.K. Demande n messages (ou 2n - 2 sans message à tous). Tous les clients doivent être actifs. Moins bon que serveur central. ~ 8 ~

Election hiérarchique Lorsqu'un nouvel ordinateur est connecté, ou si le coordonnateur ne peut être rejoint, déclencher une élection. Envoyer un message d'élection à ceux de plus haute priorité. Pas de réponse, il se proclame coordonnateur et le signale à tous. Une réponse, il attend un message de proclamation qui devrait suivre. Demande n-1 messages dans le meilleur des cas, n*n si tous les processus déclenchent une élection en même temps. ~ 9 ~

Election en anneau Un participant envoie son message d'élection avec son ID. Le prochain participant envoie max(id reçu, ID) à son voisin. Si un participant reçoit un message avec son ID, il se déclare élu et propage la nouvelle. Ceci prend un maximum de 3n - 1 messages (ID maximum n - 1, se découvrir élu n, propager la nouvelle n). ~ 10 ~

Le consensus en réparti Plusieurs processus, corrects ou fautifs, échangent des messages. Chaque processus doit prendre une décision (e.g. qui est le serveur maître). Terminaison: éventuellement tous les processus corrects arrivent à une décision. Consensus: tous les processus corrects terminent avec la même décision. Intégrité: si tous les processus corrects proposent la même décision, cette décision doit l'emporter. Chaque processus correct communique sa proposition et celle déjà connue d'autres processus au groupe. Chaque processus accumule les propositions des autres et se soumet à la proposition majoritaire. ~ 11 ~

Algorithme de Paxos Le consensus en réparti est très difficile à assurer en présence de défaillances, messages asynchrones, partitionnement de réseau... Proposé par Lamport en 1989 et publié dans une revue, après avoir été entièrement revisé seulement en 1998. Complexe, utilisé surtout pour les questions fondamentales (e.g., élire un serveur maître de manière sécuritaire, ensuite le serveur maître peut coordonner le reste). ~ 12 ~

Algorithme de Paxos Par exemple, si on veut élire (établir un consensus) un serveur maître, il faut obtenir une majorité parmi les accepteurs. Chaque proposition a un numéro de séquence et une valeur. Première proposition reçue par un accepteur, il promet de ne pas accepter une proposition antérieure et mémorise cette proposition. Proposition antérieures reçues par un accepteur, il promet mais retourne la plus récente proposition reçue. Le proposeur choisit la proposition la plus récente déjà reçue par un accepteur et demande à chaque accepteur de l accepter. Si une majorité d accepteurs acceptent, le consensus est obtenu. ~ 13 ~

Algorithme de Paxos : exemple A envoie accept n=2, v=8 qui est ignoré et B envoie accept n=4, v=8 qui est accepté par tous. https://angus.nyc/2012/paxos-by-example/ ~ 14 ~