Algoritmo de chandy-lamport (Galego)


Tempos lóxicos e vectorialeseditar

Na imposibilidade de sincronizar os reloxos perfectamente nun sistema distribuído, o tempo físico non se pode empregar neles obter a orde de calquera evento que ocorra. Para evitar este problema, Lamport suxire o uso de tempos lóxicos para obter sincronización. O obxectivo é asociar con todos os eventos unha marca de tempo independente do reloxo físico e poder ordenalos por medio de relacións “ocorrer antes”. Con lóxica veces, se isto ocorre antes de B, o reloxo é menor, pero se un reloxo é menor que o de B, non implica que pasou antes de b. Os reloxos de vectores poden facer certas suposicións. Un reloxo vectorial para un sistema de n Os procesos son un vector completo. Cada proceso mantén o seu propio vector VI VI, onde pon as súas propias marcas de tempo dos seus eventos locais. Para compartir, hai 4 regras básicas para actualizar os reloxos:

  • RV1 : Inicialmente vi = 0 para j = 1, 2, …, n.
  • RV2: Antes dun evento ocorre: VI = VI + 1.
  • RV3: PI inclúe o Timestamp t = vi en cada mensaxe de envío.
  • RV4: Cando PI ten un evento de recepción con Timestamp t, vi = max (vi, t) para j = 1,2, …, n.

estado global e cortes consistentes a

un global consistente O estado é que corresponde a un corte consistente. Podemos caracterizar a execución dun sistema distribuído como unha serie de transaccións entre os estados do sistema global: S0-S1-S2-S3 …

Corte consistente: se o evento de recepción dunha mensaxe está “dentro” do corte, entón o evento de envío desta mensaxe tamén debe ser. A Corte C é consistente se, para cada evento que contén, tamén contén todos os eventos que “pasaron antes”.

Corte consistente para os vectores de reloxos lóxicos: un corte C é consistente se, para cada proceso P, o seu reloxo de lóxica nese momento é maior que ou como os valores que almacenaron o resto da p.

Deixa unha resposta

O teu enderezo electrónico non se publicará Os campos obrigatorios están marcados con *