After preparation is complete, rest of query execution is processed inside execution pool only, hence the information about processing thread is omitted on the rest of diagrams.
The network threads could be ignored since the message is immediately dispatched to the execution pool as soon as it hit the message handler provided by sql engine.
At this step query plan is mapped on current state of topology, query fragments are sent to appropriate node.
Below is a sequence diagram of a distributed query three.
At this point information about a node executing the fragment doesn't matter, thus omitted.
Amount of intermediate fragments may vary, as well as amount of leaf fragments.
The very primitive case with only one leaf and one intermediate fragments is shown, yet this case is sufficient to shed a light on a general concepts of distributed query tree execution.
Note: the execution of non-root fragments begins as soon as they initialized on a remote node; execution of a root fragment is started after the first batch is requested.