Arrive-avant


Arrive-avant

Arrivé-avant

La relation arrivé-avant (anglais happened-before), notée \to, est un ordre partiel (relation binaire irréflexive, antisymétrique et transitive) sur les évènements basé sur la causalité de deux évènements dans un système distribué asynchrone. Elle est introduite par Leslie Lamport en 1978 [1].

La relation arrivé-avant est définie ainsi:

  • Si les évènements a \; et b \; surviennent dans le même processus, a \to b si l'occurrence de a \; précède l'occurrence de b \;.
  • Si l'évènement a \; est l'émission d'un message et l'évènement b \; est la réception de ce même message, alors a \to b.
  • Transitivité: soient trois évènements a \;, b \;, et c \;, si a \to b et b \to c, alors a \to c.

Deux évènements a \; et b \; tels que a \neq b, a \not\to b et b \not\to a sont dits indépendants.

Cette notion de temps logique est fondamentale dans les systèmes distribués asynchrones car, contrairement aux systèmes synchrones, ils ne disposent pas d'une horloge centrale. La relation arrivé-avant permet de donner aux événements du système une structure de treillis.

Les processus d'un système peuvent obtenir des informations sur cette relation en utilisant des horloges de différents types :

De nombreux algorithmes reposent sur ces horloges. Leurs principales applications sont l'exclusion mutuelle, le débogage et l'optimisation de systèmes distribués et la tolérance aux défaillances.

Notes

Ce document provient de « Arriv%C3%A9-avant ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Arrive-avant de Wikipédia en français (auteurs)