Ceas vectorial
Ceasul vectorial este un algoritm pentru obținerea unei ordonări parțiale a evenimentelor într- un sistem distribuit și detectarea încălcărilor relațiilor cauză-efect ( ceasul logic ).
În același mod ca și în marcajele de timp ale Lamport , mesajele interne trimise în sistem conțin starea ceasului logic al procesului . Un ceas vectorial într-un sistem de proces este o matrice sau un vector de ceasuri logice, un ceas per proces. O instanță locală a vectorului cu cele mai mici valori posibile de ceas pentru fiecare proces este construită după cum urmează:


- inițial toate valorile ceasului sunt 0;
- în cazul unui eveniment intern, contorul procesului curent este incrementat cu 1;
- înainte de a trimite un mesaj, contorul intern corespunzător procesului curent este incrementat cu 1, iar vectorul este atașat în întregime mesajului;
- atunci când se primește un mesaj, contorul procesului curent crește cu 1, apoi valorile din vectorul curent sunt setate la maximul celor curente și primite.
Ceasurile vectoriale au fost dezvoltate independent de Fidge și Mattern în 1988 [1] .
Un ceas vectorial logic este o funcție dintr-un set ordonat de evenimente într-un vector de numere întregi.
Note
- ↑ Colin J. Fidge (februarie 1988). „Stampile temporale în sistemele de transmitere a mesajelor care păstrează ordinea parțială” (PDF) . În K. Raymond (Ed.). Proc. a 11-a Conferință Australiană de Informatică (ACSC'88) . pp. 56-66. Arhivat din original (PDF) pe 2009-09-15 . Extras 2009-02-13 .
Arhivat pe 15 septembrie 2009 la Wayback Machine
Literatură