Skip to main content
Optiscale
Log inContact us
Solutions
HPC Cluster Design · CPU supercomputersAI Supercomputer · GPU training & inference clustersParallel Storage · Spectrum Scale · Lustre · BeeGFS · VASTInterconnect · InfiniBand · RoCE fabricsSchedulers · Slurm · KubernetesApplication Workload · Reference diagrams by workloadSizing Calculator · 5-minute sizing + 5-year TCO
Products
Luxe Vision · Unified monitoring across heterogeneous resourcesLuxe Ray · Heterogeneous resource operations & unified controlLuxe Vantage · Usage & billing built on the AI/HPC schedulerLuxe Orbit · Heterogeneous software provisioning & parallel managementLuxe Series Overview · The unified 4-layer storyRequest a Live Demo · Vision · Ray · VantageRequest a Closed PoC · Orbit — 1:1 environment setup
Services
Architecture Consulting · Workload definition → specification designImplementation & PM · Vendor integration & project managementPerformance Tuning · Architecture & configuration optimization plus code-level performance gainsManaged Operations · Multi-year operations contracts
Resources
TCO Calculator · On-premises vs. the three major cloudsSelf-Check · 8-question workload assessmentApplication Workload Library · 6 workload diagramsWhite Papers · In-depth technical white papersBlog · Tech Notes · Engineering blogNewsletter · Biweekly infrastructure updates

Solutions

Schedulers

Slurm · Kubernetes

Queue policy, priority, backfill, and fair-share design plus multi-tenant operations for mixed Slurm + Kubernetes environments.

The challenges clients bring to us

  • Resource disputes between departments and projects — they share the same GPU pool, but with no quantitative priority or billing policy, disputes recur every month-end
  • Slurm queue priorities behaving differently than intended — Multi-factor priority (age, jobsize, fair-share, QOS) weight tuning is difficult, and interactions with backfill policy frequently produce unexpected results
  • Backfill starvation that perpetually defers short jobs — when bf_window, bf_max_job_user, and reservation policies do not match the workload distribution, short but low-priority jobs cannot slot into a reservation window and wait indefinitely
  • A disconnect between Slurm sacct and Kubernetes (Volcano · GPU Operator · Run:ai) metrics — the same physical GPU pool is time-sliced between them, but the two schedulers’ usage data is not unified, making billing, analytics, and chargeback difficult

Reference Architecture

Slurm + Kubernetes hybrid — time-of-day partitioning of a shared GPU poolSlurm (HPC / Batch)Backfill + fair-share + queue separation· queue:debug· queue:short· queue:gpu· queue:longNightly training jobs prioritizedKubernetes (Online / Inference)Volcano + GPU Operator· ns:inference· ns:notebooks· ns:dev· ns:internalDaytime services prioritizedShared GPU Pool (B300x8 × N)Vantage unifies metrics across both Slurm and K8sTime-of-day partitioning maximizes utilization
Workload Schedulers — Slurm + Kubernetes time-of-day partitioning of a shared GPU pool (Luxe Vantage unified metrics)
02DESIGN DECISIONS

Key design decisions

Why we chose each component, and the assumptions and thresholds behind it — we publish our design decisions as they are.

Q.01

Why run Slurm + Kubernetes together?

Because the workloads are fundamentally different. HPC MPI / LLM training needs (1) resource allocation precisely matched to node count, (2) time-of-day queue policies, and (3) backfill — a fit for Slurm’s model. AI inference, notebooks, and services, by contrast, need (1) short lifetimes, (2) partial GPU sharing (MIG), and (3) auto-scaling — a fit for Kubernetes + Volcano. Time-slicing the same physical GPU pool (Slurm for overnight training / K8s for daytime services) raises utilization from around 30% to 70%+.

Q.02

Why does backfill perpetually defer short jobs?

The default backfill policy operates on a "large jobs first" basis, so short but low-priority jobs can fail to slot into a reservation window and wait indefinitely. Tuning Slurm’s `bf_max_job_user` (maximum jobs per user considered for backfill) and `bf_window` (backfill lookahead window) to the workload pattern resolves this. Standard values for research-institute sites: `bf_max_job_user=10`, `bf_window=2880` (2 days).

Q.03

How do you resolve inter-department resource disputes?

We apply three things together: FairShare policy + per-department Accounts + usage visibility from Luxe Vantage. FairShare adjusts priority based on the past N days of usage, so "the department that used the most gets lower priority on its next job" is applied automatically. When Vantage surfaces per-department hourly GPU usage in real time, self-alignment happens at the department-head level, and we observe disputes dropping 90% within 1–2 quarters.

04VENDOR MATRIX

Vendor matrix

Vendors validated at real sites — recommended to match workload characteristics and your operations team's expertise.

  • SchedMD Slurm
  • Kubernetes
  • Run:ai
  • Volcano

Operations automation — Luxe Series

Our own products that automate operations in this domain

Have a project in this domain?

Talk to an engineer
Schedulers | Optiscale