Skip to content
Snippets Groups Projects
Name Last commit Last update
lib
replication
store
Makefile
README.md

TAPIR

This repository includes code implementing several replicated and transactional key-value stores.

The repo is structured as follows:

  • /lib - the transport library for communication between nodes. This includes UDP based network communcation as well as the ability to simulate network conditions on a local machine, including packet delays and reorderings.

  • /replication

    • /vr - implementation of viewstamped replication protocol
    • /ir - implementation of inconsistent replication protocol
  • /store

    • /tapir - implementation of TAPIR designed to work with IR
    • /occstore - implementation of an OCC-based 2PC transactional storage system, designed to work with VR
    • /lockstore - implementation of a strict two-phase locking 2PC transactional storage system, designed to work with VR
    • /qwstore - implementation of an eventually consistent storage system, using quorum writes for replication