Skip to content

sidthekidder/distributed-algorithms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

688dca0 · Jan 5, 2019

History

5 Commits
Oct 15, 2018
Jan 5, 2019
Jan 5, 2019
Jan 5, 2019
Oct 15, 2018
Oct 15, 2018
Oct 15, 2018

Repository files navigation

Distributed Algorithms

Various algorithms involved in leader election.

Floodmax (leader_election.cpp)

Compile the program by executing g++ -std=c++11 -o output leader_election.cpp. Run the program and input the number of processes and adjacency matrix.

Input format is in the form of adjacency matrix -

  • First enter number of processes
  • Then enter n^2 numbers eg-
3
0 1 0
1 0 1
0 1 0

In case the program shuts down before completing or loops infinitely, the message queues must be manually deleted before re-running.

  1. execute ipcs
  2. execute ipcrm -q <queue_id> for each queue_id returned in the above command

Asynchronous GHS (async_ghs.cpp)

Compile the program by executing g++ async_ghs.cpp -pthread -std=c++11 && ./a.out. On running, the program will use async_ghs_input.txt as input.

Input format is in the form of adjacency matrix -

  • First enter number of processes
  • Enter id for each process
  • Then enter n^2 numbers in the adjacency matrix, signifying the weight of each edge. eg-
7
10 20 30 40 50 60 70
-1 5 4 -1 -1 -1 -1 
5 -1 3 7 -1 -1 -1
4 3 -1 -1 5 2 10
-1 7 -1 -1 8 -1 -1
-1 -1 5 8 -1 -1 -1
-1 -1 2 -1 -1 -1 3
-1 -1 10 -1 -1 3 -1 

LCR (index.html)

Open index.html in any webserver (like python -m SimpleHTTPServer) to see the LCR visualization running. (Edit line 230 in index.html to set the number of nodes)

License

MIT

Releases

No releases published

Packages

No packages published