The DaisyLib/Fractal project is part of the Sprint project.

The objective of this project is to provide a set of implementations of the most common algorithms found in the literature for some distributed agreement problems. We hope that, with the evolution of he library, it will become a framework for comparative studies of algorithms, a usefull tool for teaching, and maybe an infrastructure for building real world applications.

We are more interested in algorithms for asynchronous systems, but feel free to contribute with other ones.

Why did I write DaisyLib/Fractal? I work with distributed algorithms for agreement problems. Because I sometimes implement them and because other people might need to do it as well, I uploaded my implementations here for whomever wants to use.

What is DaisyLib/Fractal? The original library, DaisyLib, gave the name to the project. It had a few consensus algorithms. The new one, Fractal, is organized as a light-weight group communication system, and is fairly functional. Have a look in the examples to see how to easily build applications that make use of unreliable unicast (UDP), unreliable multicast (UDP multicast), consensus (R-Consensus, B-Consensus, Paxos), Atomic Broadcast (Paxos), and Paxos Commit. Hopefully you'll see additions to this list soon. If you are interested in using the library, I suggest you first reading the README file available at the documentation section following the link below.

I am now implementing the MultiCoordinated Paxos algorithm, an extended Paxos protocol (Paxos and Fast-Paxos are "simplified" versions of the MultiCoordinated version). If you are interested, have a look on my publications page.

GO TO THE PROJECT'S PAGE AT SOURCEFORGE