# US-027 — Throughput-optimized routing: effective throughput as tiebreak Status: done Priority: Medium Stage: Implemented ## Context The greedy max-reach route selection picks nodes by shard coverage but ignores node speed. When two nodes cover the same remaining layer range, we should prefer the faster one. This is a tiebreak only — coverage maximization remains the primary objective. ## Effective throughput formula ``` effective_throughput = benchmark_tokens_per_sec / (queue_depth + 1) ``` `benchmark_tokens_per_sec` comes from the hardware profile at registration time. `queue_depth` comes from the last heartbeat. ## Acceptance criteria - [ ] `_effective_throughput(node)` helper in `server.py` - [ ] `_select_route` uses throughput as tiebreak when `shard_end` is equal - [ ] Test: two nodes, same shard range, different throughput → faster node selected - [ ] Existing coverage tests still pass unchanged - [ ] `python -m pytest` passes