BACKGROUND

Many considerations influence the design of an ordering mechanism for packets, including the frequency of out-of-order packets, throughput and latency goals for ordered traffic, and implementation costs. Approaches include transmitter-side ordering and deterministic routing. Transmitter-side ordering is typically done by serializing packet transfers such that the transmitter waits for a request packet to be acknowledged before the next request packet is injected into the network. This approach limits the transfer rate to at most one packet every network round-trip time (RTT). Another technique often employed restricts ordered streams to a single deterministic path between source and target. Though different streams may still be routed over multiple paths, deterministic routing may have a significant performance impact. In particular, networks often lack the ability to provide fine-grained ordering and, without it, are unable to exploit the available path diversity.

