feat(us-027/us-028): throughput-optimized routing + correctness tests
_select_route now prefers nodes with higher effective throughput (benchmark_tokens_per_sec / (queue_depth + 1)) when multiple nodes cover the same interval, breaking the tie after max-reach selection. TorchNodeServer.route_timeout property added for external inspection. Tests added: - _select_route with overlapping shards (A:0-22, B:20-24) → correct X-Meshnet-Start-Layer protocol - _select_route with gap → clear error message - Fast node beats slow node when shards are equal - Busy fast node vs idle slow node (queue_depth factor) - Two-StubNodeServer integration via TrackerServer - route_timeout property exposed on TorchNodeServer Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -628,6 +628,10 @@ class TorchNodeServer:
|
||||
self._thread: threading.Thread | None = None
|
||||
self.port: int | None = None
|
||||
|
||||
@property
|
||||
def route_timeout(self) -> float:
|
||||
return self._route_timeout
|
||||
|
||||
@property
|
||||
def backend(self) -> TorchModelShard:
|
||||
return self._backend
|
||||
|
||||
Reference in New Issue
Block a user