Host requirements and fleet capabilities
Capabilities and host requirements are complements. A fleet's capabilities advertise what its workers support, and a step's host requirements state what the step needs. Three concepts explain how they interact:
-
Requirements are matched to fleets, not to workers – The scheduler compares a step's requirements against each fleet's declared capabilities. It never inspects individual workers.
-
Capabilities schedule; only service-managed fleet capabilities also configure hardware – On a service-managed fleet, the instance capabilities additionally determine which Amazon EC2 instance types launch. On a customer-managed fleet, capabilities are a self-reported declaration and don't change your machines.
-
Requirements never provide hardware – A host requirement filters which fleets can run the step. It doesn't launch larger instances or change auto scaling decisions.
| Mechanism | Where you set it | What it does | What it doesn't do |
|---|---|---|---|
Fleet instance capabilities (service-managed fleet) |
Fleet configuration
( |
Configures the hardware: the set of Amazon EC2 instance types that can launch. Also advertises the fleet's capabilities for scheduling |
Doesn't pick one size within the set – any instance type that satisfies the configuration can launch |
Fleet worker capabilities (customer-managed fleet) |
Fleet configuration ( |
Advertises the fleet's capabilities for scheduling; a self-reported declaration of what every worker in the fleet provides |
Doesn't configure or verify hardware – updating the declaration doesn't change your machines |
Step host requirements |
Job template ( |
States what the step needs; matched against fleet capabilities when the job is created to select compatible fleets |
Doesn't launch larger instances, change auto scaling decisions, or match against individual workers |
Worker-advertised capabilities |
Reported by the worker agent at startup |
Records the hardware a worker reports, such as
|
Not used for scheduling or hardware configuration |
Fleet configuration provides the hardware
For a service-managed fleet, the instanceCapabilities configuration
(memory, vCPUs, GPUs, and the allowed and excluded instance type lists) defines the set
of instance types the fleet can launch. When the fleet scales out, any instance type in
that set can launch, including the smallest. To guarantee a hardware floor, raise the
configuration minimums, such as memoryMiB.min, or limit
allowedInstanceTypes. For more information, see Service-managed fleets in
the Deadline Cloud User Guide.
Service-managed instance capabilities are the only mechanism that configures
hardware. On a customer-managed fleet, the workerCapabilities declaration
is self-reported: it advertises the hardware that you state every worker in the fleet
provides, and updating the declaration doesn't change your machines. For more
information, see Create a customer-managed fleet.
Host requirements select a fleet
When you create a job, the scheduler compares each step's
hostRequirements against the capabilities of the fleets associated with the
queue. A fleet that satisfies the requirements can run the step; if no fleet does, the
step is marked NOT_COMPATIBLE.
Matching is fleet-level only. For example, if a step requires 16 GiB of memory and a fleet declares a memory capability of 8–32 GiB, the fleet is not compatible – even if a worker in that fleet has 32 GiB. The scheduler never inspects individual workers, so design fleets around guaranteed hardware tiers and let each step's requirements route it to the right fleet. For more information, see Determine fleet compatibility and Fleet design best practices.
Worker capabilities are informational
Each worker reports the hardware it detected at startup, such as
amount.worker.memory. These values are for visibility and debugging. The
scheduler doesn't use them: compatibility comes from the fleet's declared capabilities,
and hardware comes from the fleet configuration. In particular, a requirement such as
amount.worker.memory doesn't cause a fleet to launch a larger instance.
Treat the step requirement as a statement of need and the fleet configuration as the
guarantee.
Auto scaling counts tasks
The auto scaler sizes a service-managed fleet based on two factors: the number of tasks ready for that fleet, and the fleet's minimum and maximum worker counts. It chooses how many workers to run; the fleet configuration determines what each worker is. For more information, see Fleet scaling.
Host requirements are part of the Open Job Description specification. For the full
field reference, see Template Schemas