Distributed¶
Distributed runs use --num-jobs and --job-rank. Each worker runs independently; there is no central coordinator.
You can launch workers yourself or use nova dist with SkyPilot.
| Tool | Distribution |
|---|---|
nova embed |
Splits input rows/files across workers |
nova bf compute |
Splits corpus files across workers |
nova load load |
Splits files across workers |
nova storm |
Every worker runs the same workload |
Manual Launch¶
If your scheduler already provides worker ranks:
# embed
nova embed cfg.yaml --num-jobs 50 --job-rank $RANK
# load
nova load prepare cfg.yaml
nova load load cfg.yaml --num-jobs 50 --job-rank $RANK
nova load finalize cfg.yaml
# brute force
nova bf compute cfg.yaml --num-jobs 8 --job-rank $RANK
nova bf merge cfg.yaml
# storm
nova storm cfg.yaml
nova dist¶
nova dist creates a SkyPilot worker pool and launches one job per rank.
Common options:
--num-jobs N: number of workers--pool-name NAME: SkyPilot pool name--resources FILE: custom SkyPilot resources--dry-run: preview without launching
Pools are reused by name. Use a new --pool-name after changing worker configuration or resources if you want a fresh pool.
Embed¶
Load¶
nova dist load configs/loader/example.yaml --num-jobs 50
# after workers finish
nova dist load configs/loader/example.yaml --finalize
# resume interrupted workers
nova dist load configs/loader/example.yaml --num-jobs 50 --continue
--continue requires the same files and --num-jobs as the original run.
Brute Force¶
nova dist bf compute configs/brute_force/example.yaml --num-jobs 8
# after workers finish
nova dist bf merge configs/brute_force/example.yaml
merge requires a complete, consistent set of worker outputs.
Storm¶
Every Storm worker runs the same workload, so aggregate load scales with the number of workers.
nova dist sweep is not currently implemented.
Resources¶
SkyPilot resource settings are separate from tool configs.
Defaults:
| Tool | Default |
|---|---|
embed, bf |
AWS A10G GPU |
load |
AWS, 8+ CPUs |
storm |
AWS, 4+ CPUs |
Resource configuration is selected in this order:
--resources FILE~/.nova/skypilot/<tool>.yaml- built-in defaults
Templates are available in configs/skypilot/.
A resource file may override SkyPilot resources, setup, and envs.
Environment Variables¶
Environment variables referenced as ${VAR} in tool configs are forwarded to workers.
Common credentials include:
QDRANT_URL/QDRANT_API_KEYfor load and StormHF_TOKENfor embed and brute forceOPENAI_API_KEYfor embed
AWS credentials are handled by SkyPilot rather than forwarded directly.
Dry Run¶
Use --dry-run to inspect generated SkyPilot jobs without launching them:
Generated configs are written under ~/.nova/runs/.
Monitoring¶
nova dist prints the pool name when launching. Pools are not automatically deleted.