Challenge #3e: Efficient Broadcast, Part II

In this challenge, we’ll make our Efficient, Multi-Node Broadcast implementation even more efficient. Why settle for a fast distributed system when you could always make faster?

Specification

With the same node count of 25 and a message delay of 100ms, your challenge is to achieve the following performance metrics:

  • Messages-per-operation is below 20
  • Median latency is below 1 second
  • Maximum latency is below 2 seconds

Evaluation

Build your Go binary as maelstrom-broadcast and run it against Maelstrom with the same command as before:

./maelstrom test -w broadcast --bin ~/go/bin/maelstrom-broadcast --node-count 25 --time-limit 20 --rate 100 --latency 100

On success, congratulations, you’ve completed the Broadcast challenge. Move on to the Grow-Only Counter challenge. If you’re having trouble, poke your head in at Fly.io Community forum and ask for some help.

  1. Read More About Echo
  2. Read More About Unique ID Generation
  3. Read More About Broadcast
  4. Read More About Grow-Only Counter
  5. Read More About Kafka-Style Log
  6. Read More About Totally-Available Transactions