While re-reading the parallelization papers, I tried to formulate why I
thought that they couldn't be right. The issue with Mango reporting a
super-linear speed-up was an obvious red flag, but that doesn't mean that
their conclusions were wrong. It just means that Mango's exploration policy
needs tweaking.

I have three objections.

First, root parallelization does not fully exploit the RAM attached to each
compute node. If I have N compute nodes then I would like to search a tree
that is N times as large. But in root parallelization I cannot actually do
that because lower layers of the tree are duplicated across compute
processes.

Second, root parallelization does not share information about how to explore
away from the root. Tactics necessary to refute variations must be
discovered across all N processes. This seems wasteful of CPU resources.

Third, it seems wasteful of network bandwidth. In particular, the root node
is shared because of a side-effect: it makes N processes independently agree
on how to distribute attention across root moves. If you count up the bytes
required to represent a node, and how many bytes are required to specify a
distribution of attention, you will find that the node is much, much larger.

These reservations might not be significant. For example, most of a tree is
stored near the leaves, so the cost of duplicating nodes near the root might
be small. And the network bandwidth might not be a bottleneck.

But I do believe that the second objection is a killer. Theory says that it
is just as hard to choose replies to our moves as it is to choose our moves.
So a strategy that splits only at the root cannot be optimal.

One obvious alternative to root parallelization is "deep parallelization" in
which we share the root node and children of already shared nodes that have
at least N trials.

Deep parallelization should asymptotically solve the problem of sharing deep
tactics.

But this approach worsens the drawbacks from my first and third objections.


_______________________________________________
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/

Reply via email to