raise every connection ceiling past a 128-pod fleet (v0.4.45)

A 128-pod fleet at 64 pages per pod is 8192 pages on the cards, and
keeping the queue full behind them doubles that. Three constants each
capped the chain below it, and the lowest one decides the fleet's
speed whatever the others say:

  front -> engine forwarding pool   _FWD_MAX         8192  -> 32768
  engine -> pods async client       _MAX_FLEET_POOL  16384 -> 32768
  pod thread pool (sync transport)  _MAX_POD         8192  -> 16384

All three are still sized from ocr.max_concurrency rather than set to
their ceiling, and the pod pool is still clamped to the process's task
budget, so this only stops a constant from being the binding limit.
Co-Authored-By: 's avatarClaude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KnfkxBpcZ1v6ypRFFyhrVM
parent 9e1f16a7
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
# Canonical product version for CoderAI — single source of truth. Both the API # Canonical product version for CoderAI — single source of truth. Both the API
# metadata and the admin web UI read from here. # metadata and the admin web UI read from here.
__version__ = "0.4.44" __version__ = "0.4.45"
__tagline__ = "Complete orchestration, distribution and escalation of remotizable advanced inference." __tagline__ = "Complete orchestration, distribution and escalation of remotizable advanced inference."
# Configure the CUDA caching allocator BEFORE torch is imported anywhere. # Configure the CUDA caching allocator BEFORE torch is imported anywhere.
......
...@@ -76,7 +76,7 @@ def _pool_size() -> int: ...@@ -76,7 +76,7 @@ def _pool_size() -> int:
#: Ceiling on the async client's connections across the WHOLE fleet. #: Ceiling on the async client's connections across the WHOLE fleet.
_MAX_FLEET_POOL = 16384 _MAX_FLEET_POOL = 32768
def _fleet_pool_size() -> int: def _fleet_pool_size() -> int:
......
...@@ -84,7 +84,7 @@ _MAX_DEFAULT = 256 ...@@ -84,7 +84,7 @@ _MAX_DEFAULT = 256
#: Past this an async client really is the right answer rather than more #: Past this an async client really is the right answer rather than more
#: stacks; 8192 covers 128 pods at 64 pages each, which is a fleet large enough #: stacks; 8192 covers 128 pods at 64 pages each, which is a fleet large enough
#: that the next bottleneck is somewhere else entirely. #: that the next bottleneck is somewhere else entirely.
_MAX_POD = 8192 _MAX_POD = 16384
#: Width of the LEASE pool. Deliberately small and NOT derived from #: Width of the LEASE pool. Deliberately small and NOT derived from
#: `max_concurrency`: a lease is a bounded wait (`POD_LEASE_ATTEMPT_S`) that #: `max_concurrency`: a lease is a bounded wait (`POD_LEASE_ATTEMPT_S`) that
......
...@@ -27,7 +27,7 @@ import httpx ...@@ -27,7 +27,7 @@ import httpx
#: binding limit on a campaign nobody could see; the ceiling is here so a #: binding limit on a campaign nobody could see; the ceiling is here so a
#: mistyped config cannot ask for a file descriptor per page of a million-page #: mistyped config cannot ask for a file descriptor per page of a million-page
#: corpus. #: corpus.
_FWD_MIN, _FWD_MAX = 256, 8192 _FWD_MIN, _FWD_MAX = 256, 32768
def _forward_ceiling(config) -> int: def _forward_ceiling(config) -> int:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment