Arrivé-avant

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

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.

Note et références[modifier | modifier le code]

(en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « Happened-before » (voir la liste des auteurs)

  1. (en) Leslie Lamport, « Time, Clocks, and the Ordering of Events in a Distributed System », Communications of the ACM, vol. 21, no 7,‎ juillet 1978