Use live host usage and running estimates for collection admission
This commit is contained in:
+14
-12
@@ -180,19 +180,21 @@ heartbeat ingestion, at most once per minute per host/fleet phase; new peaks
|
||||
raise the cache immediately. Launch admission reads only the cached model.
|
||||
|
||||
Scheduling still leaves **5% host CPU and 500 MB RAM (500,000,000 bytes)** for the OS and bursts.
|
||||
These allowances are scheduling reservations, not Docker limits. Queued and
|
||||
unresolved creations consume the startup allowance; established instances keep
|
||||
the running allowance even while idle or stopped. Current container measurements
|
||||
are credited against their reservations because host usage already includes them;
|
||||
only the unused allowance is added. Missing or mismatched-generation measurements
|
||||
cannot release an unresolved launch's reservation. Observed host load also counts,
|
||||
so other processes and previously unseen load increases reduce available capacity.
|
||||
These allowances are scheduling estimates, not Docker limits. Collection admission
|
||||
budgets new and never-submitted queued servers at their running allowance, rather
|
||||
than assuming the entire collection starts simultaneously. 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
|
||||
awaiting health verification. Established instances are covered by host usage
|
||||
when individual container measurements are unavailable.
|
||||
|
||||
Admission counts all queued reservations. Dispatch evaluates one launch against
|
||||
existing instances and submitted or uncertain work; other never-submitted queued
|
||||
launches wait their turn. They retain their port reservations. This lets the queue
|
||||
make progress even if a changed allowance means the whole backlog no longer fits
|
||||
at once. Capacity errors report projected usage, usable capacity and reservations.
|
||||
Dispatch checks the next launch's startup allowance against live host usage.
|
||||
Other never-submitted queued launches wait their turn and retain their port
|
||||
reservations. Submitted or uncertain launches missing a matching-generation
|
||||
measurement still consume a full startup allowance until telemetry accounts for
|
||||
them. This lets collections queue based on running demand and start as capacity
|
||||
becomes available, without stacking every queued server's startup peak.
|
||||
Capacity errors report projected usage, usable capacity and reservations.
|
||||
|
||||
When startup capacity is available, provisioning checks each eligible host’s
|
||||
current CPU and available memory against reservations and headroom.
|
||||
|
||||
Reference in New Issue
Block a user