ScholarGate
Assistant

Consensus et Coordination

Le consensus et la coordination abordent la manière dont des processus indépendants, qui ne communiquent que par messages, peuvent s'accorder sur une valeur ou une action commune malgré les délais et les défaillances.

Trouver un sujet avec PaperMindBientôtFind papers & topics
Tools & resources
Télécharger les diapositives
Learn & explore
VidéoBientôt

Definition

Le consensus est le problème qui consiste, pour un ensemble de processus proposant chacun une valeur, à ce qu'ils décident tous d'une unique valeur commune, de sorte que la décision soit valide, que tous les processus corrects s'accordent, et que chaque processus correct prenne finalement une décision, même lorsque certains processus échouent.

Scope

Ce domaine couvre le problème du consensus et ses variantes (accord, diffusion atomique, validité, terminaison), le résultat fondamental d'impossibilité FLP pour le consensus asynchrone déterministe, les protocoles de consensus pratiques tels que Paxos et Raft, l'accord tolérant aux fautes byzantines, et les problèmes classiques de coordination que sont l'exclusion mutuelle et l'élection de leader. Il constitue le cœur théorique et pratique de l'informatique distribuée tolérante aux pannes.

Sub-topics

Core questions

  • Dans quels modèles de synchronisation et de défaillance le consensus est-il résoluble, et quand est-il prouvé impossible ?
  • Comment les protocoles pratiques contournent-ils l'impossibilité FLP tout en préservant la sûreté ?
  • Quelle quantité de réplication est nécessaire pour tolérer les pannes par crash par rapport aux pannes byzantines ?
  • Comment les processus peuvent-ils coordonner l'accès aux ressources partagées ou élire un leader de manière fiable ?

Key theories

Impossibilité FLP
Dans un système entièrement asynchrone, aucun protocole déterministe ne peut garantir le consensus si un seul processus peut tomber en panne, car un processus lent ne peut être distingué d'un processus défaillant ; ce résultat motive la synchronie partielle, la randomisation et les détecteurs de défaillance.
Consensus basé sur les quorums
Des protocoles tels que Paxos parviennent à un accord en exigeant que des majorités qui se chevauchent (quorums) acceptent les propositions, garantissant ainsi que deux décisions quelconques se croisent au niveau d'un processus correct et restent ainsi cohérentes à travers les tours et les changements de leader.
Bornes de l'accord byzantin
Pour parvenir à un accord lorsque jusqu'à f processus peuvent se comporter de manière arbitraire, au moins 3f+1 processus sont nécessaires dans le cadre synchrone classique, une borne stricte qui façonne la conception de tous les systèmes tolérants aux fautes byzantines.

Clinical relevance

Le consensus est l'épine dorsale d'une infrastructure fiable : les services de coordination, les bases de données répliquées, les verrous distribués et les blockchains exécutent tous un protocole de consensus pour maintenir la cohérence des répliques, ce qui rend ce domaine directement responsable des garanties de durabilité et de disponibilité des systèmes cloud modernes.

History

L'article de 1982 sur les généraux byzantins et le résultat d'impossibilité FLP de 1985 ont défini les limites de l'accord ; le protocole Paxos de Lamport (diffusé en 1989, publié en 1998) a fourni un protocole pratique sûr en mode asynchrone, et les travaux ultérieurs sur la tolérance aux fautes byzantines et Raft ont rendu le consensus à la fois robuste face aux fautes malveillantes et accessible aux implémenteurs.

Debates

L'impossibilité FLP rend-elle le consensus irréalisable en pratique ?
FLP exclut un protocole déterministe qui serait toujours à la fois sûr et vivant dans un modèle entièrement asynchrone, mais les systèmes pratiques le contournent en supposant une synchronie éventuelle ou en utilisant la randomisation, en maintenant la sûreté inconditionnelle et en atteignant la vivacité lorsque le réseau se comporte correctement.

Key figures

  • Leslie Lamport
  • Nancy Lynch
  • Michael Fischer
  • Michael Paterson
  • Barbara Liskov

Related topics

Seminal works

  • fischer1985
  • lamport1998
  • lamport1982byz

Frequently asked questions

Pourquoi le consensus est-il considéré comme le problème le plus difficile des systèmes distribués ?
Parce que de nombreuses autres tâches de coordination — diffusion atomique, machines à états répliquées, verrouillage distribué — se réduisent au consensus, et que le consensus lui-même est prouvé impossible à résoudre de manière déterministe dans le modèle de défaillance par crash asynchrone ; toute solution doit donc faire des hypothèses prudentes sur la synchronisation ou le caractère aléatoire.
Comment le consensus est-il lié aux bases de données répliquées ?
Une base de données répliquée maintient la cohérence de ses répliques en s'accordant sur l'ordre des opérations, ce qui correspond exactement à une séquence de décisions de consensus ; c'est pourquoi les systèmes comme les magasins clé-valeur distribués intègrent un protocole de consensus en leur cœur.

Methods for this concept

Related concepts