Arrivé-avant

De testwiki
Aller à la navigation Aller à la recherche

En informatique, la relation arrivé-avant (anglais happened-before), notée , est un ordre partiel (relation binaire irréflexive, asymé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, ab 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 ab.
  • Transitivité: soient trois événements a, b, et c, si ab et bc, alors ac.

Deux événements a et b tels que ab, a↛b et b↛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 et références

Modèle:Traduction/Référence

Modèle:Portail