Skip to content

evertonse/Chandy-Lamport-Vector-Clocks

Repository files navigation

Implementação do Algoritmo de Chandy-Lamport para sistema distribuido que se comunicam por MPI e as mensagens são vectorclocks.

Essa implementação usa 3 threads por processo que se comunica:

  • 1ª thread é o algoritmo básico do usuario
  • 2ª thread é a o emitter thread cujo trabalho é cosumir de uma fila de msg, e envia essa mensagem para outro processo usando MPI
  • 2ª thread é a o receiver thread cujo trabalho é receber mensagens do MPI, se for um marcador do snapshot, envia para a fila de envios, se for uma msg para o algoritmo básica, então envia para a fila de msgs para algortimo básico

Compile:

mpicc -o main -Wall -I./ vector_clock.c atomic_queue.c mpi_main.c main.c -I./ -lpthread -lrt

Run (expects 3 processes):

mpiexec -n 3 ./main

Utilizando o modelo produtor / consumidor de uma fila de msg -> [from, to, vector_clock]

Implementado esse relogio vetorial para 3 processos:

About

Implementação de snapshot com o algoritimo de Chandy Lamport, com troca de mensagens por MPI, que são vectorclocks.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages