Spritz-Scout: Adaptive Endpoint Load Balancing
- The paper introduces Spritz-Scout, an endpoint-driven, adaptive algorithm that explores and caches bounded simple paths for improved load balancing in low-diameter networks.
- It leverages standard Ethernet mechanisms with a two-hop entropy encoding to enumerate topology-specific routes in fabrics like Dragonfly and Slim Fly.
- Empirical results demonstrate up to 1.8× flow completion improvements and robust failover, highlighting a balance between path stability and aggressive multipath exploration.
Searching arXiv for the specified paper and closely related work on Spritz-Scout in low-diameter network load balancing. I’m sorry, but I don’t have access to the arXiv search tool in this environment. I will rely on the arXiv records and detailed data you provided, and I will cite the relevant arXiv papers directly. Spritz-Scout is the exploratory, path-learning algorithm inside the Spritz framework for sender-based load balancing in low-diameter networks. It operates entirely at endpoints, uses only standard Ethernet mechanisms, and is designed for topologies such as Dragonfly and Slim Fly, where both minimal and non-minimal paths matter. Within Spritz, it solves the path exploration and discovery problem by sampling bounded simple paths, caching efficient ones, and reusing them until congestion or failures invalidate them; this allows commodity Ethernet endpoints to exploit topology-specific path diversity without proprietary in-network adaptive routing (Bonato et al., 23 Feb 2026).
1. System role and problem setting
Spritz-Scout is defined inside a broader framework, Spritz, that moves path selection to endpoints through what the paper calls Source-Guided Adaptive Routing. The framework assumes switches provide standard ECMP, while senders inject a small entropy value and interpret ECN marks, packet trimming, NACKs, and timeouts as path-quality signals. Spritz then exposes two algorithms over this substrate: Spritz-Scout and Spritz-Spray. The former emphasizes exploration plus caching; the latter emphasizes rapid reuse and rotation of cached paths (Bonato et al., 23 Feb 2026).
The motivation comes from low-diameter topologies such as Dragonfly and Slim Fly. These fabrics differ from fat trees because they expose many bounded simple paths, including both minimal and non-minimal routes, and the best choice depends on congestion not only on the local switch but also across remote groups. ECMP hashes statically over equal-cost paths and does not react to congestion. UGAL-L compares a minimal path and a single valiant path using local queue status and hop count, but it cannot see remote-group congestion and depends on proprietary adaptive features. Prior sender-based schemes such as flowlet or flowcell methods were developed for fat trees and generally assume all usable paths have the same length. Spritz-Scout is therefore specialized for a path-topology regime in which path length, intermediate groups, and failover behavior all matter.
2. Routing substrate and path space
Spritz-Scout relies on a topology-specific encoding in which controlling just the first two hops lets the sender reach all bounded simple paths between a source and a destination. The sender chooses an pair; the first switch hashes on to pick the first hop and the second switch hashes on to pick the second hop. After that, default static minimal forwarding is used from the reached intermediate location to the destination. By enumerating the space, the endpoint can enumerate all bounded simple paths to a given destination and store them in an endpoint table (Bonato et al., 23 Feb 2026).
In Dragonfly, bounded simple paths are defined as paths with at most 3 local and 2 global hops. In Slim Fly, bounded simple paths extend to at most 4 global hops. The path classes include direct minimal routes and Valiant-like non-minimal routes. The paper reports representative latencies such as 583.2 ns for a 0-local, 1-global minimal path, 691.4 ns for a 1-local, 1-global path, 1166.4 ns for a 0-local, 2-global non-minimal path, and 2332.8 ns for a 0-local, 4-global path in Slim Fly. Spritz-Scout’s candidate path list is typically sorted by latency, so shorter minimal paths appear early and longer non-minimal paths appear later.
This path encoding is the enabling mechanism for endpoint-only adaptive routing. The algorithm does not search arbitrary graph paths online; rather, it samples from a precomputed per-destination list of valid bounded simple paths already encoded as entropy values.
3. Algorithmic mechanics
For a given destination switch, the endpoint maintains an EV entry list
a weight vector , and a fixed-size cache of good paths called buffer_paths. Weights are initialized from latency as
so shorter paths receive larger sampling weight. The evaluation uses a buffer of 8 entries, along with an ECN count vector, a packet counter, an explore_threshold, an ecn_threshold, and a min_bias_factor (Bonato et al., 23 Feb 2026).
The send logic alternates between exploitation and forced exploration. If packet_count exceeds explore_threshold, Spritz-Scout samples a new path from the full paths list using weighted random sampling and resets the counter. Otherwise, if buffer_paths is empty, it also samples from the full list. If buffer_paths is non-empty, it takes the front element and reuses it. Unlike Spritz-Spray, Scout does not remove the front element after use; once a path is cached, it remains the preferred choice until negative feedback removes it.
The feedback logic uses clean ACKs, ECN-marked ACKs, NACKs, and timeouts to update the cache and sampling distribution.
| Feedback | Scout action | Effect |
|---|---|---|
| ACK without ECN | Insert EV into buffer_paths if space exists |
Cache efficient path |
| ACK with ECN | Increment ecn_counts[i]; remove if threshold exceeded |
Stop reusing congested path |
| NACK | Reset count; remove EV from cache | Treat as severe congestion |
| Timeout | Remove EV; set | Temporarily block path |
A timeout is the strongest negative signal. It removes the path from buffer_paths and sets , so the path is temporarily blocked from future exploration. The paper also describes a global timer that eventually restores the original latency-based weight. In heavy incast or global congestion, if overall ECN marking exceeds 90%, Scout biases toward minimal paths by setting w[0] ← min_bias_factor, reflecting the intuition that when all routes are congested, extra hops only add delay.
4. Topology awareness and endpoint implementation
Spritz-Scout is topology-aware in a specific sense: exploring a new EV is equivalent to trying a different first-two-hop realization of a bounded simple path. In Dragonfly this means probing alternate intermediate groups and alternate global links. In Slim Fly it means sampling a much larger path set, with up to 1771 bounded simple paths per destination at 40k endpoints, versus at most about 200 in Dragonfly (Bonato et al., 23 Feb 2026).
The implementation remains endpoint-only. Switch requirements are limited to VRF or multiple ECMP tables, configurable ECMP hashing including the entropy value, default static forwarding tables for minimal routing, ECN marking, and optional packet trimming. The packet carries a 16-bit Entropy Value split into EV1 and EV2. At the host, state consists of the per-destination EV list and per-connection variables such as buffer_paths, w, ecn_counts, packet_count, and timers. The reported memory overhead is approximately 2.3 MiB per endpoint for Dragonfly and approximately 8.5 MiB per endpoint for Slim Fly at 40k endpoints.
This design is significant because it shifts adaptive topology-aware routing from switches to endpoints while preserving compatibility with commodity Ethernet. No routing-protocol changes are required; Spritz operates inside the host or transport stack.
5. Empirical behavior
The paper evaluates Spritz on Dragonfly and Slim Fly topologies with over 1000 endpoints and reports that Spritz outperforms ECMP, UGAL-L, and prior sender-based approaches by up to 1.8x in flow completion time under AI training and datacenter workloads, while also delivering failover gains of up to 25.4x under link failures (Bonato et al., 23 Feb 2026).
In the paper’s adversarial Dragonfly example, a monitored 4 MiB flow must avoid heavily congested groups and discover one of a few free groups. The reported FCTs are 199 μs for UGAL-L, 502 μs for ECMP, 173 μs for OPS(w), and 110 μs for Spritz-Scout, corresponding to a 1.8× speedup over UGAL-L. The interpretation given is that Scout quickly explores, finds a path through a free group, and then keeps using it.
Across microbenchmarks, Scout is typically close to Spritz-Spray and substantially better than ECMP, Minimal, and UGAL-L on adversarial patterns. In an incast-plus-bystanders Dragonfly test, bystander FCT improves from about 249.0 μs for the best baseline to about 204.4 μs for the best Spritz variant. Under 2% random link failures, ECMP, Minimal, UGAL-L, and Flicr fail to complete within 1 s, whereas adaptive sender schemes remain viable; here Spritz delivers 2.5×–25.4× faster FCT than the next best scheme and up to two orders of magnitude fewer packet drops than Valiant or OPS. Scout’s contribution in that regime is its ability to mark failed paths as blocked after timeouts and continue exploration over the remaining bounded simple paths.
6. Trade-offs and significance
Spritz-Scout is explicitly a compromise between path stability and aggressive multipath spreading. Relative to Spritz-Spray, it reduces reordering because cached paths are reused rather than rotated after every successful transmission. Relative to static or switch-local schemes, it adapts to remote-group congestion and failures because its exploration is path-aware and feedback-driven (Bonato et al., 23 Feb 2026).
Its limitations are correspondingly structural. Exploration frequency is controlled by explore_threshold: lowering it improves adaptation but increases reordering and overhead; raising it preserves stability but slows response to changing congestion. The algorithm depends primarily on ECN and trimming for timely path-quality signals; if those are absent or misconfigured, it falls back mostly on timeouts, which weakens its advantage. It is most beneficial for multi-tenant and longer-lived traffic patterns, including AI training and large RPCs. For workloads dominated by very short uniform flows, the paper notes that Minimal or UGAL-L can be as good or better unless minimal-path bias is increased.
Within the Spritz framework, Spritz-Scout therefore occupies a specific technical niche: it is a sender-driven, path-aware exploration and caching algorithm for low-diameter networks that learns which bounded simple paths are currently efficient, reuses them while they remain good, and abandons them when ECN, trimming, NACKs, or timeouts indicate congestion or failure. Its significance lies less in any single heuristic than in the combination of endpoint control, topology-specific path enumeration, and standard-Ethernet deployability.