Read about Maelstrom here.
Implement a broadcast system that gossips messages between all nodes in the cluster
- Handle the "broadcast" workload.
maelstrom test -w broadcast --bin run.sh --node-count 1 --time-limit 20 --rate 10- Propagate broadcasted messages to the other nodes in the cluster.
maelstrom test -w broadcast --bin run.sh --node-count 5 --time-limit 20 --rate 10- Handle network partitions.
maelstrom test -w broadcast --bin run.sh --node-count 5 --time-limit 20 --rate 10 --nemesis partition- Meet minimum performance targets.
- :net:server:msgs-per-op < 30
- :workload:stable-latencies:0.5 < 400
- :workload:stable-latencies:1 < 600
maelstrom test -w broadcast --bin run.sh --node-count 25 --time-limit 20 --rate 100 - Meet ideal performance targets.
- :net:server:msgs-per-op < 20
- :workload:stable-latencies:0.5 < 1000
- :workload:stable-latencies:1 < 2000
maelstrom test -w broadcast --bin run.sh --node-count 25 --time-limit 20 --rate 100