If the topology passed in via Maelstrom is a 2-dimensional grid, and it’s 25 nodes, it will be, by definition, impossible to reach below the numbers provided, no? Since the latency is set to 100ms, each node will take 100 ms to communicate with it’s neighborhood nodes.
And if I can design my own topology - why wouldn’t I just make it all one big neighborhood? It’s confusing and I would love some explanation here since the challenge is very much good fun.
The challenge does say “you can use whatever topology you want”, and “all nodes can communicate with each other” - but if that’s the case, what’s the point (at all) with respect to the topology?
If n0 can communicate with n1…n24 inclusive then it no longer makes any sense to have topology, no? Doesn’t this defeat the purpose?
The topology is for efficiency. Although every node can communicate with every other node, some challenges have performance goals where you try to minimize the number of messages sent. In these cases, having every node send directly to every other node can cause the number of messages to explode.
If Maelstrom is handing you a topology to use - it will be come impossible to meet those efficiency requirements by definition, as it’s laid out in a 2-dimensional array. For a message broadcast to n0, it will always take at minimum 8 jumps to reach n24. Always. And depending on the latency (which is set at 100 for that challenge), this means you can’t meet those latency requirements, using the topology handed out by maelstrom.
So again, what’s the point? The challange doesn’t say that one is required to re-arrange the topology, which is why I am asking if that is an implicit requirement since it’s not pointed out? (it must be)