7.2 NVIDIA Run:ai Architecture & Dynamic Orchestration
Key Takeaways
NVIDIA Run:ai is an enterprise cloud-native AI workload orchestration platform built on Kubernetes that bridges the gap between traditional HPC batch queuing and cloud-native self-service elasticity.
The Run:ai architecture decouples orchestration into a centralized SaaS or self-hosted Control Plane, a lightweight in-cluster Cluster Daemon, and a specialized Gang/Batch Workload Orchestrator that bypasses native kube-scheduler limitations.
Dynamic Fractional GPU allocation enables multiple lightweight interactive notebooks or inference microservices to securely share physical GPUs down to fractional fractions (e.g., 0.1 GPU) without rigid hardware partitioning.
Run:ai implements a dual-tier resource model: Guaranteed quotas (non-preemptible, committed capacity) and Over-Quota capacity (opportunistic, preemptible workloads that consume idle cluster nodes).
Automated fair-share algorithms dynamically rebalance cluster resources among competing research groups, triggering graceful preemption and checkpoint-resume workflows to boost GPU utilization from typical ~30% baselines to over 80-90%.
7.2 NVIDIA Run:ai Architecture & Dynamic Orchestration
Executive Summary: In traditional enterprise AI deployments, GPU clusters suffer from the "30% Utilization Trap": data scientists manually reserve entire 8-GPU nodes for exploratory Jupyter notebooks, leave them idle overnight, and create siloed departmental clusters. NVIDIA Run:ai is an enterprise AI workload orchestration and dynamic resource management platform designed to eliminate these inefficiencies. By introducing a centralized control plane, dynamic fractional GPU slicing, and an intelligent batch scheduler that supports guaranteed and over-quota allocations with automated preemption, Run:ai transforms static GPU clusters into a centralized, highly utilized, elastic AI supercomputing pool.
1. The Enterprise AI Utilization Challenge
Modern enterprise AI teams face significant operational friction when sharing multi-million-dollar accelerated hardware:
- Static Resource Allocations: Researchers allocate full GPUs for exploratory data analysis, code debugging, and preprocessing—workloads that often utilize less than 10% of the GPU's compute capability and memory bandwidth.
- Siloed Hardware Infrastructure: Departmental clusters (e.g., Computer Vision, NLP, Autonomous Driving) operate independently. While the Vision team's cluster sits 80% idle over a weekend, the NLP team's large training jobs wait in days-long backlogs.
- Lack of Preemption and Checkpointing: Standard Kubernetes environments cannot safely terminate a low-priority interactive notebook to yield compute resources to an urgent, distributed foundation model training job.
THE GPU UTILIZATION REVOLUTION
TRADITIONAL SILOED ALLOCATION (~30% Saturation): RUN:AI DYNAMIC POOLING (>85% Saturation):
┌────────────────────────────────────────┐ ┌────────────────────────────────────────┐
│ Node 1: Reserved for Team A (Idle) │ │ Node 1: Team B (Guaranteed Training) │
│ Node 2: Jupyter Notebook (10% Util) │ ────► │ Node 2: Team A (Over-Quota Dynamic) │
│ Node 3: Queued Job Stalled (No Quota) │ │ Node 3: 4x Fractional Workspaces │
│ Node 4: Team C Cluster (Offline) │ │ Node 4: Batch Auto-Resume Checkpoint │
└────────────────────────────────────────┘ └────────────────────────────────────────┘
2. NVIDIA Run:ai Platform Architecture
The Run:ai platform architecture consists of three integrated planes designed to provide enterprise governance without sacrificing researcher velocity.
NVIDIA RUN:AI THREE-TIER ARCHITECTURE
┌────────────────────────────────────────────────────────────────────────┐
│ RUN:AI CONTROL PLANE (Central / SaaS) │
│ - Multitenancy & RBAC Engine - Departments, Projects & Quotas │
│ - SSO & Directory Integration - Cluster Telemetry & Analytics │
└───────────────────────────────────▲────────────────────────────────────┘
│ TLS Secure Sync
┌───────────────────────────────────▼────────────────────────────────────┐
│ RUN:AI CLUSTER DAEMON (In-Cluster Agent) │
│ - Syncs Quota Policies & Roles - Streams Pod & Node Metrics │
└───────────────────────────────────▲────────────────────────────────────┘
│ Local K8s API
┌───────────────────────────────────▼────────────────────────────────────┐
│ RUN:AI WORKLOAD ORCHESTRATOR (Batch Scheduler Engine) │
│ - All-or-Nothing Gang Scheduling - Guaranteed vs Over-Quota Logic │
│ - Dynamic Fractional GPU Manager - Automated Preemption Engine │
└────────────────────────────────────────────────────────────────────────┘
The Three Architectural Planes
- Control Plane (Management & Policy Layer):
- Can be deployed as a fully managed SaaS platform or hosted on-premises in air-gapped data centers.
- Manages organizational hierarchy: Departments (divisions/business units) contain Projects (teams/initiatives).
- Administers role-based access control (RBAC), single sign-on (SSO via SAML 2.0 / OIDC), storage credentials, and aggregated cluster-wide analytics.
- Cluster Daemon (In-Cluster Synchronization Agent):
- Lightweight Kubernetes operator deployed directly inside each managed AI cluster.
- Continuously synchronizes project definitions, access tokens, and scheduling rules between the Control Plane and the local Kubernetes API server.
- Collects fine-grained hardware metrics and workload states, streaming telemetry back to the centralized dashboard.
- Workload Orchestrator (The Run:ai Scheduler):
- An advanced batch scheduling engine deployed as a Kubernetes custom scheduler.
- Replaces the default
kube-schedulerfor AI workloads, executing gang scheduling, topology-aware node selection, dynamic fractional GPU slicing, and priority preemption.
Developer Workflows & Self-Service Experience
Run:ai provides a unified interface across CLI, Web UI, and REST APIs, abstracting underlying Kubernetes complexities for researchers:
- Interactive Workspaces: Spin up JupyterLab, VS Code, or custom Docker environments with exact GPU fractions and pre-configured persistent volume claims (PVCs).
- Unattended Training Jobs: Submit multi-node distributed training jobs with automatic fault recovery and elastic restart.
- Inference Deployments: Deploy autoscaling inference microservices (Triton, vLLM, NIM) that scale down to zero when idle.
# Submitting a distributed training job using the Run:ai CLI
runai submit llama-train \
--project nlp-research \
--image nvcr.io/nvidia/pytorch:24.08-py3 \
--gpu 8 \
--node-pools h100-cluster \
--command -- torchrun train.py --epochs 50
3. Dynamic Fractional GPU Sharing
In many AI workflows (such as exploratory data analysis, code debugging, and light inference), a workload requires only a fraction of an enterprise GPU's compute power and memory. While hardware Multi-Instance GPU (MIG) provides strict physical isolation, it requires rigid administrative pre-configuration.
Run:ai Dynamic Fractional GPU provides a dynamic, software-defined sharing layer that allows multiple containers to share a single physical GPU elastically.
DYNAMIC FRACTIONAL GPU vs. HARDWARE MIG
DYNAMIC FRACTIONAL GPU (Software Layer): HARDWARE MIG (Silicon Partitioning):
┌───────────────────────────────────────┐ ┌───────────────────────────────────────┐
│ NVIDIA H100 (80GB HBM3) │ │ NVIDIA H100 (80GB HBM3) │
├───────────┬───────────┬───────────────┤ ├───────────┬───────────┬───────────────┤
│ Pod A │ Pod B │ Pod C │ │ Instance 1│ Instance 2│ Instance 3 │
│ 0.2 GPU │ 0.3 GPU │ 0.5 GPU │ │ 2g.20gb │ 2g.20gb │ 3g.40gb │
│ (16GB) │ (24GB) │ (40GB) │ │ (Hardware │ (Hardware │ (Hardware │
│ Dynamic │ Dynamic │ Dynamic │ │ Isolated) │ Isolated) │ Isolated) │
└───────────┴───────────┴───────────────┘ └───────────┴───────────┴───────────────┘
* Any arbitrary fraction (0.1, 0.25, 0.5) * Fixed hardware profile geometries
* No node reboot / reconfiguration required * Requires administrative reconfiguration
* Memory dynamically allocated & capped * Full physical SM & Cache fault isolation
Fractional GPU Allocation Comparison Matrix
| Sharing Technology | Allocation Granularity | Memory Enforcement | Compute Isolation | Hardware Reconfiguration Required | Best Use Case |
|---|---|---|---|---|---|
| Run:ai Dynamic Fractional | Any fraction () or exact MB | Strict user-space interceptor capping | Time-sliced dynamic sharing | No (100% Dynamic) | Interactive dev, Jupyter, light inference |
| NVIDIA MIG (Multi-Instance) | Fixed slices (e.g., , ) | Physical hardware memory controllers | Dedicated SMs and L2 cache | Yes (via MIG Manager/nvml) | Multi-tenant production with strict SLAs |
| CUDA MPS (Multi-Process) | Percentage of thread threads | Shared unisolated heap | Spatial SM sharing | Minimal daemon setup | High-density homogeneous inference |
| K8s Time-Slicing | Shared integer GPU access | None (OOM risks) | Cooperative time-slicing | Helm config update | Basic low-cost shared test clusters |
How Run:ai Enforces Fractional Limits
Run:ai injects a lightweight user-space interception library into the container via standard Linux environment variables (LD_PRELOAD). This interceptor intercepts CUDA driver and runtime API calls (such as cudaMalloc and cuMemAlloc), allowing the application to see only its allocated fraction of memory. If a container attempts to exceed its designated memory limit, the allocator returns an out-of-memory error to that specific container, completely protecting co-located workloads from memory corruption or crashes.
4. Guaranteed vs. Over-Quota Workloads & Dynamic Preemption
Run:ai resolves the tension between fair resource distribution and maximum hardware utilization through its Guaranteed vs. Over-Quota scheduling model.
RUN:AI WORKLOAD PRIORITY TIERS
┌────────────────────────────────────────────────────────────────────────┐
│ TIER 1: GUARANTEED WORKLOADS (Non-Preemptible, High Priority) │
│ - Workloads running within the Project's allocated nominal quota │
│ - Guaranteed execution; cannot be preempted by other teams │
└────────────────────────────────────────────────────────────────────────┘
▲
│ Can Preempt Over-Quota Work
┌───────────────────────────────────┴────────────────────────────────────┐
│ TIER 2: OVER-QUOTA WORKLOADS (Opportunistic, Preemptible) │
│ - Workloads running beyond the Project's allocated nominal quota │
│ - Consumes idle cluster capacity; immediately yielded when needed │
└────────────────────────────────────────────────────────────────────────┘
Resource Allocation Mechanics
- Guaranteed Quota (Nominal Allocation): The baseline number of GPUs committed to a specific project (e.g., 16 GPUs for Team Alpha). When Team Alpha submits jobs within this 16-GPU threshold, the jobs run under Guaranteed status and are strictly non-preemptible.
- Over-Quota Allocation (Opportunistic Bursting): If Team Beta has 32 guaranteed GPUs but is only utilizing 8, there are 24 idle GPUs in the cluster. Team Alpha can submit additional jobs that burst beyond their 16-GPU quota, consuming Team Beta's idle capacity. These bursting jobs run in the Over-Quota tier.
- Automated Fair-Share Rebalancing:
- When Team Beta returns and submits a job requiring their guaranteed 24 GPUs, the Run:ai Workload Orchestrator identifies which project is furthest above its assigned quota.
- The scheduler selects Team Alpha's lowest-priority over-quota workloads and initiates automated preemption.
Graceful Checkpoint-Resume Flow
Preemption must not result in corrupted training progress. Run:ai orchestrates a multi-step graceful shutdown:
1. PREEMPTION SIGNAL ──► 2. CHECKPOINT FLUSH ──► 3. CONTAINER STOP ──► 4. AUTOMATIC RESUME
Scheduler sends Training code catches Container stops Job requeued with
SIGTERM to container signal & saves state gracefully after original priority;
(Grace: 60-120s) to shared NFS/GDS flushing weights resumes at checkpoint
- Signal Notification: The orchestrator dispatches a
SIGTERMsignal to the container and begins a configurable grace period (e.g., 60 to 180 seconds). - State Serialization: The PyTorch/TensorFlow training script intercepts
SIGTERM, flushes the current model weights, optimizer states, and epoch counters to persistent shared storage (NFS, Lustre, or GPUDirect Storage), and exits cleanly. - Eviction & Resource Yield: The node is freed within seconds, allowing Team Beta's guaranteed workload to begin immediately.
- Automated Requeueing: The preempted job returns to the pending queue with elevated scheduling priority. As soon as GPU capacity becomes available anywhere in the cluster, Run:ai automatically respawns the job, which loads its latest checkpoint and resumes execution seamlessly.
In the NVIDIA Run:ai platform, what is the primary operational difference between a Guaranteed workload and an Over-Quota workload?
Guaranteed workloads run exclusively on CPU nodes, while Over-Quota workloads run on GPU nodes
Guaranteed workloads require manual Docker compilation, while Over-Quota workloads utilize WebAssembly
Over-Quota workloads cannot access cluster networking and are restricted to single-thread execution
Guaranteed workloads operate within a project's allocated baseline quota and cannot be preempted, whereas Over-Quota workloads consume idle cluster capacity opportunistically and can be preempted when guaranteed owners request resources
How does NVIDIA Run:ai implement Dynamic Fractional GPU allocation without requiring administrators to physically repartition the GPU using Multi-Instance GPU (MIG) hardware commands?
By intercepting CUDA runtime and driver API calls in user space to dynamically restrict and manage memory allocation while time-slicing compute execution
By physically modifying the GPU's firmware voltage tables to disable specific Streaming Multiprocessors at boot time
By routing all GPU instructions through an external software emulation engine running on the host CPU
By disconnecting physical NVLink bridge cables between adjacent SXM sockets dynamically using robotic servos
An AI platform administrator is reviewing the architectural components of NVIDIA Run:ai. Which component is deployed directly inside each managed Kubernetes cluster to perform all-or-nothing gang scheduling, quota enforcement, and automated preemption?
The Run:ai Central SaaS Dashboard
The NVIDIA TensorRT Conversion Engine
The Run:ai Workload Orchestrator (Batch Scheduler)
The Slurm slurmd compute daemon
Sections you finish are checked off in the contents.