FreddieBrown / paxos

Asynchronous, Multi-Threaded Rust implementation of the PAXOS protocol

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PAXOS

This repo is an asynchronous Rust implementation of the PAXOS consensus protocol.

This is a multi-threaded simulation desgined to show how PAXOS works for a certain f-tolerance.

To run the program, use cargo run. This will run the program with its basic options.

The program has a command line interface to tweak parameters. These can be accessed by using cargo run -- [OPTIONS]. These options are:

  • -f: Level of fault tolerance of the program. Number of nodes that can fail for before the program doesn't work anymore. Standard value is 2.
  • -p: Probability that a value is sent to a proposer. Increasing this will mean values will be proposed to nodes with increased frequency. The standard value for this is 0.2.
  • -r: This specifies the range of values to be used and decided on. The standard value for this is 100.

About

Asynchronous, Multi-Threaded Rust implementation of the PAXOS protocol


Languages

Language:Rust 100.0%