A bounded-fan-out hierarchy over logical roles 0..count-1, numbered in
preorder so that every subtree is one contiguous role range [role,
role + size). Role 0 is the root. A node's descendants (its range minus
itself) are split into at most `fanout` contiguous chunks whose sizes differ
by at most one, larger chunks first; each chunk is one child's subtree and
its first role is that child.
Why preorder ranges: a parent certifies its children's coverage with O(fan-
out) checks -- consecutive child ranges must tile (role, role + size) -- so
a checkpoint or collective rooted here never collects the complete
membership or every shard descriptor at one participant
(docs/multi-device-learning/22-fleet-scale.md, "Distributed checkpoint data,
bounded publication metadata"). Locating a role descends one path from the
root, so its cost is depth x fan-out, not the participant count.
These are logical roles. Which device holds a role, and whether a
particular placement keeps parent and child in one failure domain, are
separate decisions (Execution.ResourceGraph); this relation only fixes who
exchanges with whom.
27constructor ParticipantTreeNodeOfThe compiler supplied declaration spans and resolved links from this source snapshot. This page does not assert that this file belongs to a checked closure.