Skip to content

rondubi/palxos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

145 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PaLXos

Basic structure

This repo is supposed to provide a simple bare-metal version of Paxos.

As such, it has the following components.

  • fs, a FAT32 filesystem for storing ledgers persisently
  • net, an NRF transceiver networking system
  • synod, a state machine and driver for a single-decree version of Paxos
  • paxos, a state machine and driver for a full, multi-decree version of Paxos
  • ledger, a level of abstraction over fs allowing reasoning about ledgers as ledgers, not files
  • threads, a thread system used to simulate networked distributed systems on a single machine

Additionally, there are the "structural" bits, so to speak.

  • include and src are standard, that's where the implementation of the system is.
  • test is for testing of each component of the system separately on a single machine
  • release is where we have the driver for running for realsies on multiple pis, as in the picture.

Notes

This is based on the Lamport paper which is in the repo. As such, we omit a number of details as he does, such as how process IDs or leaders are determined.

About

CS 240LX Paxos

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •