Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

preview

OmniPaxos Playground

An interactive dashboard for OmniPaxos. OmniPaxos is a Rust library used for building highly-available distributed systems. Users can input operations and simulate network failures to get a visualization of the behavior of OmniPaxos.

📺 Check out the playground in action on YouTube!

Requirements

Usage

Run and attach to the playground:

$ ./playground.sh attach

(exit by pressing 'q' or 'esc')

Stop the playground:

$ ./playground kill

Attach to dashboard of individual servers (s1, s2, ... , s5)

$ docker attach s1

Playground commands

  • Normal requests: put <key> <value> [server], get <key> [server], delete <key> [server]
  • Batch of write requests: batch <num_requests>
  • Partial connectivity scenarios: scenario <chained | constrained | qloss>
  • Set connections: connection <server1> <server2> <true | false>
  • Disconnect server from all other servers: connection <server> false
  • Restore all connections: scenario restore

Credits

Kudos to the maintainers and contributors of the ratatui crate that enabled us to build the OmniPaxos dashboard in Rust.

About

Playground to visualize OmniPaxos.

Topics

Resources

Stars

6 stars

Watchers

1 watching

Forks

Contributors

Languages