Skip to main content

How SkyPilot routes training jobs.

The logic behind automatic cost optimization across multiple clouds.

Architecture

A three-layer processing stack.

Each submission passes through three processing layers before any GPU cycle is bought.

Job Spec Layer

Specify GPU type, dataset location, command, and resource limits in YAML, the Python API, or CLI. SkyPilot converts these inputs into a provider-neutral job spec, which the router checks against each cloud's current capacity and pricing.

Cost Intelligence Layer

SkyPilot polls live spot and on-demand APIs across AWS, GCP, Azure, and Lambda Labs. For each matching instance, the router weighs current price, zone capacity signals, historical interruption rates, and your fallback settings.

Routing logic

One command. SkyPilot handles the rest.

SkyPilot polls pricing APIs every 60 seconds. Ties use zone latency to your dataset bucket. Choose fail fast, wait for spot, or auto-upgrade to on-demand.

Terminal sky launch
$ sky launch --cloud cheapest train_config.yaml
Scanning live pricing across 3 providers...
  AWS   p4d.24xlarge       (spot)      $8.23/hr
  GCP   a2-highgpu-8g      (spot)      $7.41/hr  [selected]
  Azure NC96ads-A100       (on-demand) $14.09/hr
Dispatching job to GCP us-central1-a...
Job launched. Run: train-20260601-083441

Automatic migration after reclaim

If a spot instance is reclaimed, SkyPilot saves a checkpoint through your framework's native PyTorch, JAX, or TensorFlow hooks. After the save completes, it requeues the job on the next-cheapest available instance. The job appears resumed, while the provider sees a newly provisioned instance.

Cost attribution per run

Each dispatched run creates a cost record covering provider, instance type, zone, spot versus on-demand, duration, and effective $/GPU-hour. These records aggregate into per-experiment, per-team, and per-model-family dashboard views. SkyPilot reports actual billed amounts, not estimates.

Integrations

Use the clouds and frameworks your team already uses.

Cloud provider names indicate integration support, not customer endorsement.

AWS
Google Cloud
Azure
Lambda Labs
PyTorch
JAX
TensorFlow
Hugging Face
Kubernetes
Ray

Ready to route your first job?

Connect cloud credentials and dispatch in under 10 minutes.