Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

122 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

YUNA Project

Y U NO Agree? -- щ(゚Д゚щ)  
Distributed System Project  
Consensus Protocol

Requirements

In order to run the program the Erlang runtime is needed. The runtime is packaged for the major distros:

  • In a deb based system (Ubuntu, Debian) use apt-get install erlang with root privileges;

  • In an Red-Hat based system (Fedora, CentOS) use yum install erlang after enabling the epel repositories.

    • Warning: for the moment the epel repository 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.

Basic usage instructions

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.

Documentation

See the report/report.pdf file. The documentation can be re-generated by running make in the report directory.

About

Distributed System Project

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages