Y U NO Agree? -- щ(゚Д゚щ) Distributed System Project Consensus Protocol
In order to run the program the Erlang runtime is needed. The runtime is packaged for the major distros:
-
In a
debbased system (Ubuntu, Debian) useapt-get install erlangwith root privileges; -
In an Red-Hat based system (Fedora, CentOS) use
yum install erlangafter enabling theepelrepositories.-
Warning: for the moment the
epelrepository provides the 5.6.5 version of the runtime. The application won't work with it; -
Tested to work with versions 5.7.4 and 5.8.4.
-
The software can also be obtained from the official website.
The program can be launched directly by going in the code directory and
launching the Erlang interpreter as follows:
$ erl -pa ebin/
Erlang R14B03 (erts-5.8.4) [source] [64-bit] [smp:2:2] [rq:2]
[async-threads:0] [hipe] [kernel-poll:false]
Eshell V5.8.4 (abort with ^G)
1> make:all([load]).
...
2> application:start(yuna).
Note that all commands are required to be terminated by . (dot sign).
During the program run, the shell will be displaying output from the
nodes, up to the point in which the consensus has been reached. Using
the q(). command you can exit the shell.
The execution will produce a bunch of statistic files, which can be
crunched by gnuplot launched the following command line from the code
directory:
gnuplot -e 'prefix="statfile"' priv/plot_stats.gnuplot
The command will produce a pdf file named statfile.pdf.
See the report/report.pdf file. The documentation can be re-generated by
running make in the report directory.