Hitesh Sahu
Hitesh SahuHitesh Sahu
  1. Home
  2. ›
  3. posts
  4. ›
  5. …

  6. ›
  7. 2 11 BCM

Loading ⏳
Fetching content, this won’t take long…


💡 Did you know?

🐙 Octopuses have three hearts and blue blood.

🍪 This website uses cookies

No personal data is stored on our servers however third party tools Google Analytics cookies to measure traffic and improve your website experience. Learn more

Loading ⏳
Fetching content, this won’t take long…


💡 Did you know?

🍌 Bananas are berries, but strawberries are not.
AI-Infrastructure

    AI-AgenticAI

    AI-DeepLearning

    AI-GenAI

    AI-Infrastructure
    • NVIDIA AI Infrastructure and Operations Fundamentals

    • AI Infra Computing : GPU, DPU, Virtualization, DGX Systems

    • AI Programming Model

    • Pinned Memory (Page-Locked Memory) in CUDA and GPU Computing

    • RAPIDS and GPU Accelerated Data Science: cuDF, cuML, CUDA, NCCL and Distributed AI Pipelines

    • NVIDIA DCGM: GPU Health, Diagnostics, and Prometheus Metrics

    • NVIDIA Base Command Manager: Provisioning and Operating GPU Clusters

    • Slurm: The HPC Workload Manager Behind AI Training Clusters

    • TensorRT and High-Performance AI Inference: CUDA, ONNX, TensorRT-LLM and GPU Optimization

    • NCCL and Distributed GPU Communication: CUDA, AllReduce, Multi-GPU and AI Cluster Networking

    • ONNX (Open Neural Network Exchange): Portable AI Models, TensorRT and Cross-Framework Inference

    • LangChain and AI Agent Orchestration: RAG, LLM Workflows, Vector Databases and Tool Calling

    • NVIDIA NeMo and Enterprise AI Platforms: Distributed LLM Training, RAG and TensorRT-LLM

    • Megatron-LM and Distributed LLM Training: Tensor Parallelism, NCCL and Trillion-Scale AI Models

    • NVIDIA Triton Inference Server: TensorRT-LLM, GPU Serving and Production AI Inference

    • NVIDIA Riva: Real-Time Conversational AI with ASR, NLP and Text-to-Speech

    • NVIDIA NGC Catalog: GPU Optimized Containers, AI Models and Enterprise AI Infrastructure

    • AI Infra Networking: GPU Clusters, InfiniBand, RoCE, and DPU Integration

    • AI Infra Storage: NVMe, Parallel File Systems, Object Storage, and GPUDirect Storage

    • AI/ML Operations

    • AI-Infrastructure Index


    AI-Machine-Learning

    AI-Math

    AWS

    Azure

    Hobbies

    kubernetes

    Management

    Programming

    Terraform

    Z_Appendix

    0-root

Cover Image for NVIDIA Base Command Manager: Provisioning and Operating GPU Clusters
AI-Infrastructure

NVIDIA Base Command Manager: Provisioning and Operating GPU Clusters

How NVIDIA Base Command Manager (BCM) operates an entire GPU cluster — bare metal provisioning and node imaging, the head node vs compute node architecture, Slurm and Kubernetes workload manager integration, user and group management, the cmsh CLI and REST API, and how BCM, DCGM, and SMI fit together at different layers of the stack.

NVIDIA
BCM
Base Command Manager
Cluster Management
HPC
Slurm
← Previous

Slurm: The HPC Workload Manager Behind AI Training Clusters

Next →

NVIDIA DCGM: GPU Health, Diagnostics, and Prometheus Metrics

NVIDIA Base Command Manager: Provisioning and Operating GPU Clusters

DCGM answers "how healthy is this GPU?". NVIDIA Base Command Manager (BCM) answers a much bigger question: "how is an entire cluster of GPU nodes — bare metal, OS, workload manager, users, and monitoring — being provisioned and operated?" It's the platform layer that exists before there's a Kubernetes cluster or a Slurm queue to schedule anything onto.

  • BCM Official Docs

Purpose

Manage and operate large GPU clusters used for AI and HPC workloads — from imaging bare metal nodes for the first time through day-2 operations across hundreds of them.

Capabilities

  • Cluster provisioning — image and configure an entire fleet of GPU nodes in a data center from bare metal
  • Job scheduling and monitoring — deploys and manages the workload manager (Slurm, Kubernetes, or Univa Grid Engine) on top of the provisioned nodes
  • Multi-team / multi-user / multi-environment management — users, groups, quotas, and access control across the cluster
  • Scale-aware resource allocation — ensures nodes, GPUs, and queues stay optimally utilized as the cluster grows
  • REST API and CLI — every operation available in the web UI is scriptable

Operates At

Cluster and platform layer — one level above where DCGM and SMI live.

flowchart TD

  BCM[BCM<br/>Cluster Management <br/>Scheduling & Operations]
  BCM-->DCGM[DCGM <br/>GPU Monitoring <br/> Health & Diagnostics]
  DCGM-->SMI[NVIDIA SMI <br/>Per-Node GPU Metrics]
Tool Scope Primary Purpose
SMI Single GPU Server Diagnostics and real-time status
DCGM GPU Fleet / Cluster Health monitoring, metrics, alerting
BCM Entire AI Cluster Cluster operations and resource management

Base-Command

BCM doesn't replace DCGM — it sits above it. A BCM-managed cluster still runs DCGM on every GPU node for health telemetry;

BCM's own monitoring layer (CMDaemon) aggregates that alongside node-level metrics, job manager state, and its own dashboards.


Head Node vs Compute Nodes

BCM's architecture centers on one (or a redundant pair of) head node, which is the only node an administrator directly manages — everything else is provisioned and kept in sync from there.

flowchart LR

    Admin["Administrator <br/> cmsh / cmgui / REST API"]
    Admin-->Head["Head Node <br/> CMDaemon"]

    Head-->|"PXE boot + node image"| Compute1["Compute Node 1 <br/> (GPU)"]
    Head-->|"PXE boot + node image"| Compute2["Compute Node 2 <br/> (GPU)"]
    Head-->|"PXE boot + node image"| ComputeN["Compute Node N <br/> (GPU)"]

    Compute1-->|"metrics"| Head
    Compute2-->|"metrics"| Head
    ComputeN-->|"metrics"| Head

The head node runs CMDaemon, BCM's management daemon — it holds the cluster's configuration database, serves node images over the network, and is the single point every cmsh/cmgui command and REST API call talks to.

Compute nodes are typically stateless: they PXE-boot, pull a software image from the head node, and can be re-imaged rather than manually patched when something drifts.

Node Provisioning Flow

1. New bare-metal node powers on, PXE-boots
2. Head node's DHCP/PXE service hands it a boot image
3. Node pulls its assigned software image (OS + drivers + CUDA + agents)
4. CMDaemon on the node registers with the head node
5. Node appears in cmsh/cmgui as "UP", ready for jobs

Re-imaging a node — after a driver upgrade, a suspected config drift, or hardware service — is the same flow triggered on demand, which is what makes fleet-wide driver or CUDA version bumps a single operation instead of hundreds of manual SSH sessions.


Workload Manager Integration

BCM doesn't schedule jobs itself — it provisions and manages whichever workload manager the cluster actually uses, keeping its configuration in sync across all nodes as they're added or re-imaged:

Workload Manager Typical Use Case
Slurm Traditional HPC/AI batch training, gang scheduling, multi-node MPI jobs
Kubernetes Containerized inference and cloud-native ML pipelines
Univa Grid Engine (UGE) Legacy HPC batch scheduling

A single BCM-managed cluster can run more than one of these on different node groups — a common pattern is Slurm for a training partition and Kubernetes for an inference partition, both provisioned and monitored from the same head node.


cmsh — The BCM CLI

cmsh is BCM's interactive management shell — the same operations available in the web UI (Base View), scriptable:

# Enter the cluster management shell
cmsh

# List all nodes and their status
cmsh -c "device list"

# Check GPU health across the fleet (BCM shells out to DCGM/nvidia-smi per node)
cmsh -c "device; foreach * (get gpuinfo)"

# Reboot a specific node
cmsh -c "device use node001; reboot"

# Reimage a node with an updated software image
cmsh -c "device use node001; set softwareimage gpu-image-v2; commit"

Everything cmsh can do is also exposed over BCM's REST API, which is what CI/CD pipelines and higher-level orchestration tools use to trigger cluster operations programmatically rather than through an interactive shell.


Users, Groups, and Quotas

BCM centralizes identity and quota management across the whole cluster rather than leaving it per-node:

  • User and group accounts, synced to every node
  • Per-user or per-group resource quotas (GPU-hours, storage, job priority)
  • Role-based access control for who can provision, reboot, or reimage nodes vs who can only submit jobs

This is the layer that answers "who is allowed to use how much of this cluster" — a question DCGM and SMI have no concept of, since they only see hardware, not organizational structure.


Key Takeaways

Concept Summary
Head node / CMDaemon The single management point; holds cluster config and serves node images
Compute nodes Typically stateless — PXE-boot and pull a software image rather than being manually configured
Provisioning Bare-metal imaging, re-imaging on demand for driver/CUDA upgrades or drift fixes
Workload manager integration BCM provisions and manages Slurm, Kubernetes, or UGE — it doesn't replace them
cmsh / REST API / Base View Three interfaces onto the same cluster operations — CLI, script/automation, and web UI
Users, groups, quotas Centralized identity and resource allocation across the entire cluster
vs DCGM / SMI BCM operates the cluster; DCGM monitors GPU fleet health; SMI is single-node diagnostics — each is a different altitude on the same stack

BCM's real job is making a thousand-GPU cluster behave like one thing to operate — a node failing hardware validation gets pulled and re-imaged the same way it was provisioned in the first place, and a driver upgrade is one cmsh command instead of a fleet of individually-patched machines slowly drifting out of sync with each other.


Related Posts

  • NVIDIA DCGM: GPU Health, Diagnostics, and Prometheus Metrics — the GPU-fleet health layer BCM aggregates on top of
  • AI/ML Operations & GPU Observability — where BCM fits alongside SMI and DCGM in the broader monitoring and operations stack
  • GPU Scheduling on Kubernetes — the scheduler-level view when Kubernetes is the workload manager BCM provisions
  • HPC at Scale on Kubernetes — Slurm vs Kubernetes as workload managers, and where each fits on a BCM-provisioned cluster
  • Kueue: Batch Job Scheduling — Kubernetes-native queueing, for clusters where BCM provisions Kubernetes rather than Slurm
Hitesh Sahu
Written by Hitesh Sahu, a passionate developer and blogger.

Wed Jul 29 2026

Share This on

← Previous

Slurm: The HPC Workload Manager Behind AI Training Clusters

Next →

NVIDIA DCGM: GPU Health, Diagnostics, and Prometheus Metrics

AI-Infrastructure/2-11-BCM
Let's work together
+49 176-2019-2523
hiteshkrsahu@gmail.com
WhatsApp
Skype
Munich 🥨, Germany 🇩🇪, EU
Playstore
Hitesh Sahu's apps on Google Play Store
Need Help?
Let's Connect
Navigation
  Home/About
  Skills
  Work/Projects
  Lab/Experiments
  Contribution
  Awards
  Art/Sketches
  Thoughts
  Contact
Links
  Sitemap
  Legal Notice
  Privacy Policy

Made with

NextJS logo

NextJS by

hitesh Sahu

| © 2026 All rights reserved.