Skip to main content
Version: v1.2.x

Compute

A Compute resource is a live inventory of the machines available for deploying AI/ML applications and models. It connects to Palette using the Palette integration configured in Settings, discovers machines that have been tagged for PaletteAI, and reports which ones are healthy and eligible for cluster deployment. The controller refreshes the inventory automatically.

You can review the inventory in the PaletteAI console under Settings > Compute at both the project and tenant scope, which lists the discovered control plane and worker machines with their hardware details. When you create an App Deployment or a Compute Pool, PaletteAI checks this inventory to determine whether sufficient machines are available to fulfill the requested resources before provisioning a cluster.

The inventory itself is maintained by PaletteAI, but the Compute resource also carries per-host network settings that administrators can edit: the network interface each host should use and static IP values for hosts that must not use DHCP. Refer to Spec Fields in the Compute reference for details.

Machine Discovery

For PaletteAI to discover your Edge hosts, add the palette.ai: true tag to each machine in Palette. You can set it through stylus.site.tags in the Edge host's user-data file, or add it to registered hosts in Palette using the Edge Host Grid View.

Palette's Edge agent automatically detects each machine's hardware, including its GPUs. If the agent cannot detect a value, or you need to override one, additional tags such as gpus, cpus, gpu-memory, and gpu-model fill the gaps. Refer to Discovery Tags in the Compute reference for the full tag list and precedence rules.

tip

To learn how to register your physical or virtual machines as Palette-compatible edge nodes, use either the EdgeForge Workflow (Appliance Mode) or Agent Mode, and register the nodes with Palette.

Machine Roles

Discovered machines fall into two categories:

  • Control plane candidates — Machines eligible to run Kubernetes control plane components. By default, these are machines without GPUs.

  • Worker candidates — Machines eligible to run AI/ML applications. By default, these are machines with GPUs.

You can override the defaults with role eligibility tags, for example to let a non-GPU machine serve as a worker. Refer to Role Eligibility Tags in the Compute reference.

When multiple machines are eligible for control plane selection, PaletteAI prioritizes CPU-only hosts over GPU-equipped hosts to maximize GPU resource availability for worker pools. This prioritization applies even when GPU machines are tagged with palette.ai/control-plane: true. GPU machines are only selected for control plane when no suitable CPU-only hosts are available.

Machines can also carry resource group tags, which Compute Pools use to restrict host selection to specific machines. Refer to Resource Groups on the Compute Pools page.

Default NIC and Static IP

Edge hosts with multiple NICs require a default NIC selection before they can be allocated to a Compute Pool. Single-NIC hosts resolve automatically. For multi-NIC hosts on clusters without network overlay enabled, per-host static IP configuration is required.

Configure default NICs and static IPs from Project Settings > Compute, Tenant Settings > Compute, or System Settings > Compute. Nodes without a resolved default NIC are not selected for workload placement. Refer to the relevant scope's settings for step-by-step instructions.

The Compute status fields resolvedNIC and hasUsableNetworkValues in edgeHostDetails reflect the configured values. PaletteAI reads these when provisioning Compute Pools.

GPU Optimization for Minimum Worker Requirements

When a Compute Config specifies a minimum worker node count, PaletteAI may need to provision more nodes than the GPU request requires. To avoid wasting GPU resources on filler nodes, PaletteAI uses the following selection order:

  1. Allocate GPU nodes to satisfy the GPU requirement.
  2. Fill remaining slots with machines tagged palette.ai/worker: true (non-GPU workers).
  3. If no non-GPU workers are available, select GPU machines with the lowest GPU count.

For example, you request 8 GPUs with a minimum of three worker nodes. One 8-GPU machine satisfies the GPU requirement. For the remaining two nodes, PaletteAI prefers machines tagged palette.ai/worker: true to avoid allocating additional GPUs unnecessarily.

NodeGPUsTagsRole
gpu-node-18N/AGPU workload
cpu-node-10palette.ai/worker: trueGeneral worker
cpu-node-20palette.ai/worker: trueGeneral worker

Next Steps