a toy distributed systems
MIT
brew install openjdk graphviz gnuplot
Download the latest tarball from Github, and untar it anywhere. In that directory, run ./maelstrom to launch Maelstrom.
./maelstrom/maelstrom test -w echo --bin ./src/echo.js --time-limit 5 --log-stderr
./maelstrom/maelstrom test -w unique-ids --bin ./src/unique-ids.js --time-limit 30 --rate 1000 --node-count 3 --availability total --nemesis partition --log-stderr
Single-Node Broadcast
./maelstrom/maelstrom test -w broadcast --bin ./src/broadcast.js --node-count 1 --time-limit 20 --rate 100 --log-stderr
Multi-Node Broadcast
./maelstrom/maelstrom test -w broadcast --bin ./src/broadcast.js --node-count 5 --time-limit 20 --rate 100 --log-stderr
Fault Tolerant Broadcast
./maelstrom/maelstrom test -w broadcast --bin ./src/broadcast.js --node-count 5 --time-limit 20 --rate 100 --nemesis partition --log-stderr
Efficient Broadcast
./maelstrom/maelstrom test -w broadcast --bin ./src/broadcast.js --node-count 25 --time-limit 20 --rate 100 --latency 100 --log-stderr
Single-Node Counter
./maelstrom/maelstrom test -w g-counter --bin ./src/g-counter.js --node-count 1 --rate 100 --time-limit 20 --nemesis partition --log-stderr
Multi-Node Counter
./maelstrom/maelstrom test -w g-counter --bin ./src/g-counter.js --node-count 3 --rate 100 --time-limit 20 --nemesis partition --log-stderr
Single-Node
./maelstrom/maelstrom test -w kafka --bin ./src/kafka.js --node-count 1 --concurrency 2n --time-limit 20 --rate 1000 --log-stderr
Multi-Node
./maelstrom/maelstrom test -w kafka --bin ./src/kafka.js --node-count 2 --concurrency 2n --time-limit 20 --rate 1000 --log-stderr
Single-Node, Totally-Available Transactions
./maelstrom/maelstrom test -w txn-rw-register --bin ./src/txn-rw-register/index.js --node-count 1 --time-limit 20 --rate 1000 --concurrency 2n --consistency-models read-uncommitted --availability total --log-stderr
Totally-Available, Read Uncommitted Transactions
./maelstrom/maelstrom test -w txn-rw-register --bin ./src/txn-rw-register/index.js --node-count 2 --concurrency 2n --time-limit 20 --rate 1000 --consistency-models read-uncommitted --availability total --nemesis partition --log-stderr
Totally-Available, Read Committed Transactions
./maelstrom/maelstrom test -w txn-rw-register --bin ./src/txn-rw-register/index.js --node-count 2 --concurrency 2n --time-limit 20 --rate 1000 --consistency-models read-committed --availability total –-nemesis partition --log-stderr