Use the 95th percentile for startup capacity
This commit is contained in:
@@ -255,8 +255,8 @@ startup samples require observing the first five minutes of a container's run.
|
||||
|
||||
The controller defaults to retaining per-instance minute peaks for 24 hours and caches learned
|
||||
CPU/memory allowances. The first five minutes after a container starts count as
|
||||
startup; later samples train the running allowance. Startup uses the observed
|
||||
maximum and running uses the 95th percentile of minute peaks, with **no per-server
|
||||
startup; later samples train the running allowance. Both phases use the
|
||||
95th percentile of minute peaks, with **no per-server
|
||||
headroom**. Each calculation considers up to the latest 10,000 minute peaks.
|
||||
Host-local evidence is preferred to account for different hardware; new hosts
|
||||
can borrow the fleet's learned allowance. Startup allowances are never lower
|
||||
@@ -276,7 +276,8 @@ if observations exceed them. They are replaced by measured allowances once the
|
||||
evidence threshold is met; a tiny 0.01-core floor prevents zero-CPU admission.
|
||||
Models expire after 24 hours without measurements. Recalculation happens during
|
||||
heartbeat ingestion, at most once per minute per host/fleet phase; new peaks
|
||||
raise the cache immediately. Launch admission reads only the cached model.
|
||||
raise the cache immediately. Existing startup estimates refresh when new startup
|
||||
measurements arrive. Launch admission reads only the cached model.
|
||||
|
||||
### Admission and placement
|
||||
|
||||
@@ -285,7 +286,7 @@ These allowances are scheduling estimates, not Docker limits. Collection preview
|
||||
estimate how many new servers fit at their running allowance. Jobs may still be
|
||||
queued when that estimate is insufficient. Current host CPU and
|
||||
available memory account for existing containers and other processes. Observed
|
||||
containers are not topped up to historical startup or running peaks, even while
|
||||
containers are not topped up to historical startup or running allowances, even while
|
||||
awaiting health verification. Established instances are covered by host usage
|
||||
when individual container measurements are unavailable.
|
||||
|
||||
@@ -294,7 +295,7 @@ Unplaced queued launches wait their turn without holding physical resources.
|
||||
Any previously assigned reservations remain protected. Submitted or uncertain launches missing a matching-generation
|
||||
measurement still consume a full startup allowance until telemetry accounts for
|
||||
them. This lets collections start as capacity
|
||||
becomes available, without stacking every queued server's startup peak.
|
||||
becomes available, without stacking every queued server's startup allowance.
|
||||
Capacity errors report projected usage, usable capacity and reservations.
|
||||
|
||||
When startup capacity is available, provisioning checks each eligible host’s
|
||||
|
||||
Reference in New Issue
Block a user