PurePaxos is the very basic version of Multi-Paxos implementation. It also inculdes some simple testing of functionality and performance.
For license information see LICENSE.
The directory structure is as follows:
- /root
- libpaxos/ -- PurePaxos library source code
- waf -- binary waf file
- wscript -- waf instruction file
- config/ -- config files of this project
- waf-tools/ -- additional waf tools
- loli_test/ -- test code
- libzfec/ -- zefc library using for RS code
- script/ -- some python scripts
- LICENSE
- README.md
- INSTALL.md
These are prerequisites to build PurePaxos.
Required:
brew install boost
brew install protobuf
brew install zeromq
brew install libyaml
sudo apt-get install clang
sudo apt-get install libboost-all-dev
sudo apt-get install libprotobuf-dev protobuf-compiler python-protobuf
sudo apt-get install libzmq3-dev python-zmq
sudo apt-get install libyaml-cpp-dev
$ ./waf configure -l info $ ./waf
- Terminal 1 -- Node1
$ bin/servant 1 3 100000 parameters (node_id node_num total_num)
- Terminal 2 -- Node2
$ bin/servant 2 3 100000 parameters (ndoe_id node_num total_num)
- Terminal 0 -- Node0(Master)
$ bin/master 0 3 1 1 100000 parameters (ndoe_id node_num value_size win_size total_num)
This program 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 3 of the License, or (at your option) any later version, with the additional exemption that compiling, linking, and/or using OpenSSL is allowed.
This program 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.