Skip to content

finnbear/tapi-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tapi-rs

Rust implementation of TAPIR

  • Safe, async Rust
  • IR
    • Unlogged
    • Inconsistent
    • Consensus
    • View changes
    • Recovery
    • Membership change
    • Real network transport
  • TAPIR
    • Get
    • Put
    • Prepare
    • Commit
    • Abort
    • Optional linearizability
    • IR sync & merge
    • Prepare retries
    • Coordinator recovery
    • Sharding
    • Persistent storage (e.g. sled)
    • Snapshot read
  • Planned extensions
    • Delete key operation
    • Garbage collection
    • Range scan
    • Automatic shard balancing
    • Disaster recovery
  • Testing
    • IR lock server (very simple)
    • TAPIR-KV (simple)
    • TAPIR-KV (maelstrom)
    • Exhaustive state enumeration
  • Optimizations
    • Reduce clone
    • Reduce allocations
    • Reduce temporary unavailability

Acknowledgements

Thanks to James Wilcox for assigning TAPIR as a reading.

Thanks to the TAPIR authors for answering questions about the paper!

Thanks to Kyle at Jepsen for clarifying the relative strength of isolation levels.

About

Rust implementation of TAPIR

Topics

Resources

License

Stars

Watchers

Forks