Hello Jay and thanks for the interest in Libpaxos.
The code on github is not from the "official" project, so I don't know about it.
As for the missing object in the Makefile, I haven't checked yet, it could be a bug. AFAIK the library builds and runs tests just fine, however I haven't worked on it for a while so maybe new compiler/tools did break something.
When considering Libpaxos, please keep in mind it is not suitable as-is for use in real-world systems.
The various implementations were created for the purpose of benchmarking and use in other system prototypes, and we decided to release their source code for transparency and because they could be useful as reference.
Paxos can be implemented in a number of ways, multicast vs. unicast is a very important choice that influences the rest of the system.
We worked on other unicast implementations but from what I remember they were not open sourced. You can however find papers searching in google scholar for papers by Marandi,
Libpaxos is not "maintained" in the usual sense of the word, but I'm happy to help with any question you might have.
Hello again. I should probably back up and introduce myself and first figure out which library to use, before asking detailed questions.
I have several years experience building large distributed systems, most of them proprietary, but the last year I had an opportunity to work with Hadoop on small clusters (i.e. thousand-node). It's painfully obvious that the open-source community needs a Paxos or Paxos-like foundation on which to build things like Hadoop. The "HA" features appearing in Hadoop aren't really that impressive.
I'm on sabbatical for a few months, and thought it would be interesting to try and do something related to this. My current thinking is to use QFS (the Quantcast File System), and add something Paxos-like to its master server (call the "metaserver" in QFS).
There aren't a lot of open-source Paxos libraries available. So libpaxos to the rescue. I am unsure, however, which version to start with. E.g. FastPaxos, RingPaxos, or LibPaxos2. The email I sent last night was about the libpaxos2 that I found on github, which is apparently older: the version that you have in SVN on sourceforge has a few more changes in it, although the question I asked does still seem to apply. Regardless, is there a particular version there that I should use? For example, just take the latest?
Another consideration for me will be to find a library that I can convert to unicast. It has been my experience that in the real world multi-cast just isn't practical, for reasons that are both technical and non-technical. So one thing I will be interested in is replacing the multi-cast networking with some sort of messaging system (still TBD).
So, that's what I'm thinking of doing. I'm not sure whether it's a realistic goal, as there are other (non-technical) projects vying for my time right now as well. But any advice you have about which paxos to start with would be appreciated.
------------------------------------------------------------------------------Learn Graph Databases - Download FREE O'Reilly Book"Graph Databases" is the definitive new guide to graph databases and their applications. This 200-page book is written by three acclaimed leaders in the field. The early access version is available now. Download your free book today! http://p.sf.net/sfu/neotech_d2d_may