Skip to content

mateuszptr/DistMonitor

Repository files navigation

DistMonitor

Monitor rozproszony używający zmodyfikowanego (wprowadzenie dodatkowych kolejek dla procesów oczekującyh na zmiennych warunkowych) algorytmu Suzuki-Kasami + przykładowe użycie dla problemu producenta-konsumenta.

Kompilacja

cmake .
make

Testowane na (GCC 7.3.1, CMake 3.9, ZMQ 4.2.2, x86_64) oraz (GCC 7.2.0, CMake 3.7.2, ZMQ 4.2.1, arm)

Użyto również biblioteki nlohmann/json (do serializacji współdzielonych danych i samych wiadomości), dołączono ją do projektu.

Uruchomienie przykładu

W pliku pc.json zawarta jest przykładowa konfiguracja węzłów w systemie.

Programy uruchamiamy:

./{producer,consumer} <nr węzła w pliku> <czy jest inicjatorem>

Należy zadbać o to, by dokładnie jeden z procesów, obojętnie który, został uruchomiony jako inicjator.

Przykładowe uruchomienie:

Dla hosta 192.168.0.22:

./producer 0 true
./consumer 1 false

Dla hosta 192.168.0.14:

./producer 2 false
./consumer 3 false

About

Distributed Monitor for NPR

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published