The Leader Election Service
The Leader Election
Service can be used to elect and maintain an operational leader among any
subset
of application processes (called
a group) in a system with random process crashes (and recoveries),
message losses, and
message delays. If the group leader crashes, or is temporarily disconnected,
the service automatically
re-elects a new leader and notifies the processes in the group of this change.
This service is written
in C and is compatible with any POSIX compliant Linux/Unix.
Two versions of the
service can be downloaded :
The most tolerant with
regards to link failures : service-robust.zip
The most scalable : service-scalable.zip
The DSN'08 paper is
available here.
The Documentation
Documentation on how to
compile, install, and use the service is available here.
Here is an example
showing how to use the service interface : app.c
The Experimental Results
The experimental results
of the three service versions considered in the DSN'08 paper can be found here.
License
Copyright © 2006 Daniel Ivan, Nicolas Schiper, and Sam Toueg.
The leader election
service is free software. you can redistribute it and/or modify it under the
terms of the
GNU
General Public License
as published by the Free Software
Foundation; either version 2 of the License, or
(at your option) any
later version.
It is distributed in the
hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details.