Arrivé-avant

Un article de Wikipédia, l'encyclopédie libre.

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.

[modifier] Notes

  1. [pdf] Horloge logique sur http://research.microsoft.com/. Consulté le 23 janvier 2008
Autres langues