This is an Implementation of Gossip Style Membership Protocol - solution to programming assignment for Coursera Cloud Computing Concepts, Part 1 The application is modelled as a single-threaded simulation engine which can be extended to a real network.
The protocol satisfies:
Completeness
: every non-faulty process must detect every node join, failure, and leave all the timeAccuracy of failure detection
: high accuracy of failure detection for a lossy network
Functionalities Implemented as part of the Assignment
- Introduction of new peers to the group by use of
JOINREQ
andJOINREP
messages - Maintaining and updating membership list at each of the peers in the group
- Sending Gossip messages to
FANOUT
random members from amongst membership list - Failure detection by use of
TREMOVE
(time since last heartbeat received) andTFAIL
(allowing other nodes to remove the failed node)- Single node failure
- Multiple node failure
- Single node failure under a lossy network.
cd .\gossip-membership-protocol
make
./Application testcases/<test_name>.conf
cat dbg.log