Skip to main content

Crate ts_collective

Crate ts_collective 

Source
Expand description

CPU collectives among the ranks of an engine: what the control plane’s gloo groups do today, without the GIL.

Every pair of ranks shares one TCP connection. A collective blocks until it completes, and every member of a group must run the same collectives on it in the same order: the rank-identical ordering the control plane keeps anyway (docs/design/event-loop.md). A reader thread per connection drains the socket into a queue, so a send never waits on the peer reading; a collective sends this rank’s part to the members that need it, then takes each part it needs from its sender’s queue.

Each frame names its collective’s kind, group and sequence number on that group, so a member that took another path fails loudly instead of reading another collective’s bytes. A peer that exits fails every collective waiting on it.

Structs§

Group
A set of ranks that run collectives together, as one rank sees it.
Listener
This rank’s listening socket, bound before the ranks exchange addresses.
Mesh
One rank’s connections to every other rank.
Tag
Which collective a frame belongs to.

Enums§

Error
A collective failure; the ranks can no longer agree.
Reduce
An element-wise reduction.