Nvidia Overhauls Slurm Scheduler to Maximize GB200 Cluster Output
@Scale
Nvidia restored lost cluster occupancy to within one percentage point of optimal capacity by pairing open-source Slurm topology block scheduling with predictive workload simulations.
## Background
This video was published by @Scale on YouTube on July 2, 2026, featuring NVIDIA team members Ankur Srivastava, Douglas Wightman, and Sachin Kumar Lakharia. According to the page description, the session explores how the NVIDIA GB200 NVL72 functions as an exascale computer in a single rack, and how properly scheduling its NVLink fabrics allows AI training workloads to maximize networking bandwidth.
## TL;DR
The NVIDIA cluster team details their operational strategies for deploying and scaling massive HPC infrastructure, transitioning from legacy hardware to the GB200 NVL72 and GB300 architectures. To solve severe job fragmentation caused by multi-node NVLink domains, NVIDIA collaborated with SchedMD to create an open-source Slurm topology block plugin, using accelerated simulations of 20,000 GPUs to optimize cluster occupancy back to near-theoretical maximums. Additionally, the speakers outline adaptive testing strategies, straggler isolation, and software co-optimizations like asynchronous checkpointing that enabled the seamless training of the 120-billion parameter Nemotron-3 model. Ultimately, the talk highlights the shift toward continuous multi-rack validation as AI workloads scale across tens of thousands of GPUs.
## Atmosphere & style
The presentation carries a professional, authoritative, and technical tone, reflecting the deep operational expertise of engineers working at the bleeding edge of AI infrastructure. The speakers present their journey with grounded pragmatism, balancing complex technical hurdles with structured, data-driven solutions. The dynamics feel collaborative and forward-looking, moving from real-world scaling challenges to an optimistic call for industry-wide innovation on next-generation architectures.
## Key takeaways
- [00:00](https://www.youtube.com/watch?v=1o4emwSid78&t=0s) NVIDIA’s Cluster Team operates across a strategic four-pillar lifecycle: deploy and scale hardware, act as operational experts for peak performance, build and improve monitoring tools, and drive ecosystem innovation.
- [00:00](https://www.youtube.com/watch?v=1o4emwSid78&t=0s) The team’s infrastructure scale expands by 2.0x to 2.5x year-over-year to support growing demand for Large Language Model (LLM) research.
- [02:46](https://www.youtube.com/watch?v=1o4emwSid78&t=166s) The GB200 NVL72 architecture unifies 18 nodes (72 GPUs) via NVSwitches into a single NVLink domain offering 130 TB/s aggregate bandwidth, delivering up to 30x faster inference and 25x greater energy efficiency.
- [02:46](https://www.youtube.com/watch?v=1o4emwSid78&t=166s) To prevent job fragmentation across GB200 NVLink domains, NVIDIA co-developed an open-source Slurm topology block plugin that enforces rigid scheduling boundaries for high-bandwidth jobs.
- [07:15](https://www.youtube.com/watch?v=1o4emwSid78&t=435s) To recover stranded cluster capacity caused by rigid block scheduling without hardware, the team built an accelerated Slurm simulator running 7-day operational workloads in 7 hours.
- [07:15](https://www.youtube.com/watch?v=1o4emwSid78&t=435s) Optimizing smaller job segment allocations via simulation brought total multi-tenant cluster occupancy to within 1% of the unconstrained theoretical target while maintaining 95%+ utilization.
- [14:06](https://www.youtube.com/watch?v=1o4emwSid78&t=846s) Automated, adaptive testing tools dynamically isolate performance 'stragglers' into dedicated reservations using microbenchmarks and NCCL all-to-all tests to preserve large-scale training stability.
- [17:43](https://www.youtube.com/watch?v=1o4emwSid78&t=1063s) Training the 120-billion parameter Nemotron-3 model across tens of thousands of GPUs required asynchronous checkpointing and optimized garbage collection to maximize training goodput.
- [19:17](https://www.youtube.com/watch?v=1o4emwSid78&t=1157s) As frontier AI clusters exceed 50,000 nodes, operational paradigms are shifting from one-time bring-up testing to continuous, multi-rack validation and simulation-driven tuning.
- [20:48](https://www.youtube.com/watch?v=1o4emwSid78&t=1248s) Lessons learned from productionizing GB200 architectures are directly informing the deployment of next-generation GB300 systems and broader open AI ecosystem initiatives.
## Detailed walkthrough
### [00:00](https://www.youtube.com/watch?v=1o4emwSid78&t=0s) Introduction and the Strategic Role of NVIDIA’s Cluster Team
Sachin Lakharia opens the presentation alongside his colleagues Douglas Wightman and Ankur Srivastava to share their operational experiences productionizing and deploying NVIDIA GB200 and GB300 clusters at scale. Lakharia frames their core mission around a strategic, four-pillar lifecycle within the NVIDIA ecosystem. First, under **deploy and scale**, the team brings up next-generation compute, storage, and networking hardware to turn raw equipment into high-performance computing (HPC) clusters. Second, as **operational experts**, they fine-tune these massive HPC clusters to achieve peak efficiency and performance for internal AI research workloads.
The third and fourth pillars focus on software tools and ecosystem impact. Under **build and improve**, the team designs advanced monitoring tools alongside researcher-productivity features to streamline operations. Finally, through **ecosystem innovation**, all the lessons learned from their deployments are fed back into improving the broader hardware and software stack—benefiting both NVIDIA and the wider technology industry.
- **Growth Rate:** The team’s infrastructure scale has expanded by 2.0x to 2.5x year-over-year, driven primarily by continuous demand for Large Language Model (LLM) research.
- **Fleet Architecture:** Their heterogeneous fleet includes legacy and current architectures ranging from A100 to H100, and now GB200 and GB300 systems.
- **Timeline & Journey:** The GB200 rollout began over a year prior to the talk, starting with hardware and software co-design, progressing to pre-clusters, moving through simulation and development, and culminating in global rollout.
[02:46](https://www.youtube.com/watch?v=1o4emwSid78&t=166s) The GB200 NVL72 Architecture and Slurm Block Topology Plugin
Douglas Wightman explains the core technical shift introduced with the GB200 NVL72 architecture. Unlike prior GPU generations that restricted NVLink communication to within a single server node, the GB200 introduces multi-node NVLink interconnectivity. Using NVSwitches, 18 separate nodes (housing 72 total GPUs) are linked into a single, unified NVLink domain that functions as an exascale supercomputer operating at full speed across a massive 130 TB/s aggregate bandwidth. This architecture addresses the industry trend where model complexity outgrows standard networking fabrics, yielding up to a 30x inference speedup and a 25x improvement in energy efficiency over previous architectures.
To leverage this physical architecture, NVIDIA collaborated with SchedMD to fundamentally update Slurm, the cluster workload scheduler. Historically, Slurm treated network topologies on a "best effort" basis, which caused severe job fragmentation on GB200 architectures. To resolve this, they created the open-source **topology block plugin**. This plugin models each multi-node NVLink domain as a rigid, non-negotiable scheduling block defined in the Slurm configuration, ensuring high-bandwidth jobs remain strictly within optimized domain boundaries.
- **NVL72 Domain Specs:** 18 nodes, 72 GPUs fully interconnected via NVSwitches with 130 TB/s aggregate bandwidth.
- **Performance Gains:** 30x faster inference and 25x greater energy efficiency via the Blackwell architecture.
- **Topology Block Scheduling:** Jobs (such as Mixture of Experts/MoE) are split equally into structured segments (e.g., splitting a 32-node job into two equal 16-node segments across two NVLink blocks) to preserve required I/O bandwidth without fragmenting the fabric.
- **Segment Size Recommendations:** Larger MoE workloads require large segment sizes (e.g., 16) to maximize I/O throughput, while smaller jobs with low I/O demands should use smaller segment sizes (e.g., 1 or 2) to increase overall cluster utilization.
[07:15](https://www.youtube.com/watch?v=1o4emwSid78&t=435s) Operating Multi-Tenant Scale and Bridging the Occupancy Gap via Simulation
Sachin Lakharia takes over to detail the operational challenges of running massive, multi-tenant clusters. Supporting workloads from LLMs to generative AI and digital humans, the team manages jobs spanning from a single GPU to tens of thousands of GPUs for over 4,000 internal users. Lakharia defines **occupancy** as the ratio of GPUs running active workloads over total available GPUs in a cluster. The team enforces a strict target of maintaining 95%+ cluster occupancy, meaning no more than 5% of GPUs sit idle at any given moment.
The rigid placement rules of the topology block plugin initially caused cluster occupancy to drop by multiple single-digit percentage points compared to unconstrained ("no topology") scheduling, leaving stranded capacity across the cluster. Because physical GB200 hardware was not yet deployed, Lakharia’s team constructed a first-class, accelerated Slurm simulator to model scheduling configurations against real production workloads.
- **Scale of Simulation:** Simulated a 5,000-node cluster (20,000 GPUs) running 15,000 production jobs replayed over a 7-day period, including node failure scenarios (nodes in triage).
- **Accelerated Runtime:** The simulator completed a 7-day operational simulation in just 7 hours (a 24x speedup), accelerating feature iteration.
- **Self-Fragmentation Findings:** Simulations revealed that the block topology plugin naturally packed small jobs into the last two nodes of a block, leaving large contiguous segments free for massive jobs with virtually zero self-fragmentation.
- **Occupancy Recovery:** Allowing smaller jobs to spread across blocks recovered lost capacity, bringing total cluster occupancy to within 1% of the theoretical "speed of light" unconstrained topology target.
- **Production Implementation:** Default settings were updated dynamically using Slurm CLI filters and hooks, making segment optimizations completely transparent to researchers.
[14:06](https://www.youtube.com/watch?v=1o4emwSid78&t=846s) Adaptive Testing Strategies, Automated Diagnostics, and Stragglers
Ankur Srivastava outlines the validation framework required to meet researcher expectations for cluster stability and execution speed. To ensure researchers spend time on model building rather than infrastructure debugging, NVIDIA employs multi-scale testing ranging from microbenchmarks (network, compute, storage, and CPU performance for MoE workloads) to full workload tests across single-node, single-rack, and multi-rack scales.
Because a single slow GPU or degraded rack can bottleneck an entire training job across tens of thousands of GPUs, detecting "stragglers" (poorly performing hardware) is vital. Stragglers are dynamically identified and isolated into a dedicated "poor performer reservation" for root-cause analysis. To avoid manual overhead, Srivastava's team automated their entire test suite into a unified CLI tool that allows engineers to execute targeted microbenchmarks or workload tests across any scale with a single command.
- **Straggler Detection Methods:** Uses NCCL all-to-all benchmarks (specifically for MoE workloads), end-to-end workload checks, and ad-hoc set intersection analysis (comparing GPUs present in slow jobs against those in healthy jobs).
- **Adaptive Strategy:** Testing intensity adapts daily—if a multi-thousand GPU run proceeds cleanly without slowdowns, testing remains minimal; if training encounters interruptions, scale-wide parallel testing or cross-rack reservation blocks trigger automatically.
[17:43](https://www.youtube.com/watch?v=1o4emwSid78&t=1063s) Productionizing Nemotron-3 at Scale
Srivastava and Lakharia highlight the real-world application of their operational framework during the training of Nemotron-3, a 120-billion parameter model trained across tens of thousands of GPUs processing hundreds of billions of tokens per day. Achieving this required co-optimizing both hardware and software stacks to maximize "goodput"—the actual productive training time versus total elapsed wall-clock time.
On the software side, the team implemented asynchronous checkpointing and optimized garbage collection to dramatically reduce run-to-run variability and eliminate training pauses. Lakharia concludes by emphasizing that Nemotron-3 is built on a hybrid Mixture-of-Experts (MoE) architecture with a long context window and operates as an open ecosystem, providing open weights, datasets, and training recipes for the broader AI community.
[19:17](https://www.youtube.com/watch?v=1o4emwSid78&t=1157s) Rack-Scale Computing and the Shift to Continuous Multi-Rack Validation
The massive growth trajectory of modern AI model complexity is demanding a fundamental shift toward rack-scale architecture, moving from current infrastructure like the GB200 up to GB300 systems. Everything across the landscape is growing exponentially. Today, frontier AI laboratories are operating massive clusters composed of more than 50,000 nodes, with single training jobs frequently scaling across tens of thousands of GPUs spanning thousands of nodes. When running jobs at this monumental scale, system failures are not an anomaly—they are an absolute certainty.
To tackle these scale-induced reliability challenges, NVIDIA is shifting its operational paradigm away from standard one-time bring-up testing toward continuous, proactive testing and validation. Rather than simply testing individual nodes or isolated multi-node setups during initial deployment, operations now encompass continuous multi-rack validation throughout the cluster's lifecycle. Additionally, adaptive efficiency strategies are being deployed using advanced simulation technologies like the Slurm simulator. This allows operators to simulate and dynamically fine-tune cluster behavior based on workload characteristics and system configurations, squeezing out maximum possible GPU utilization. These hard-learned operational lessons from the field are being directly integrated into stabilizing and optimizing upcoming systems like the GB300.
- Frontier labs manage clusters containing upwards of 50,000 nodes.
- AI training jobs scale across tens of thousands of GPUs and thousands of nodes simultaneously.
- Validation strategy has evolved from static, one-time bring-up testing to continuous multi-node and multi-rack testing.
- Simulation-driven tuning dynamically adapts cluster configurations to maximize resource efficiency.
[20:48](https://www.youtube.com/watch?v=1o4emwSid78&t=1248s) Empowering the AI Ecosystem and Looking to the Next Frontier
Bringing the talk to a close, the speakers emphasize the huge efficiency gains unlocked by adopting NVIDIA's rack-scale computing architectures, such as the GB200 and GB300 platforms. Beyond just scaling its own internal infrastructure, NVIDIA aims to uplift the entire broader AI industry by openly sharing its deep research into AI infrastructure, operational best practices, and open models. Looking ahead at the rapidly evolving ecosystem, the speakers invite the audience to collaborate on the journey forward with an optimistic final rally: "Exciting future is ahead of us. Please join us in our mission to build the next frontier of intelligence."
- Operational and architectural innovations from GB200 are actively informing next-generation platforms like the GB300.
- NVIDIA contributes infrastructure research and open models to advance the broader AI industry.
## Notable quotes
> [20:48](https://www.youtube.com/watch?v=1o4emwSid78&t=1248s) Exciting future is ahead of us. Please join us in our mission to build the next frontier of intelligence.
Engineers from NVIDIA's cluster operations team outline the architectural and operational frameworks required to run GB200 and GB300 systems at scale, focusing on topology-aware scheduling, pre-deployment simulation, and proactive multi-rack validation.
NVL72 Architecture and Slurm Topology Scheduling (2:46)
The transition to the GB200 NVL72 architecture shifts interconnects from single-node constraints to multi-node domains. Using NVSwitches, 18 nodes housing 72 GPUs are linked into a unified NVLink domain delivering 130 TB/s aggregate bandwidth, which the team notes provides up to a 30x inference speedup and a 25x improvement in energy efficiency over prior generations.
Because traditional schedulers handle network topology on a best-effort basis, standard Slurm deployments risked severe job fragmentation on NVL72 fabrics. In response, NVIDIA worked with SchedMD to create an open-source topology block plugin that models each multi-node NVLink domain as a non-negotiable scheduling block. High-throughput workloads, such as Mixture of Experts (MoE), are divided into structured segments—such as splitting a 32-node job into two equal 16-node segments across two blocks—to protect input/output bandwidth while accommodating varied job sizes.
Simulation-Driven Recovery of Cluster Occupancy (7:15)
Maintaining the team's operational target of at least 95% GPU occupancy across more than 4,000 internal users proved difficult under rigid block placement rules. Initial configurations produced stranded capacity, dropping occupancy by several percentage points compared to unconstrained scheduling. To evaluate solutions before physical hardware arrived, the team built an accelerated Slurm simulator capable of replaying 15,000 production jobs across a 5,000-node cluster (20,000 GPUs) over a 7-day period in 7 hours—a 24x speedup.
The simulation revealed that the block plugin naturally packed smaller jobs into the trailing nodes of a block, leaving contiguous segments available for massive runs with minimal self-fragmentation. By allowing low-demand jobs to spread across blocks, the team recovered lost capacity, bringing operational occupancy to within 1% of unconstrained scheduling benchmarks. These segment rules were then implemented transparently via Slurm CLI filters and hooks.
Continuous Validation and Straggler Mitigation (14:06)
With frontier clusters exceeding 50,000 nodes and single jobs spanning tens of thousands of GPUs, hardware degradation becomes a statistical certainty. To safeguard researcher time, the team abandoned static, one-time bring-up testing in favor of continuous, multi-rack validation throughout the cluster's operational lifecycle. Testing spans microbenchmarks for compute, storage, CPU, and network performance up to full multi-rack workload validation.
Slow GPUs or degrading racks—termed stragglers—can bottleneck entire training runs. NVIDIA detects these nodes using NCCL all-to-all benchmarks, workload verifications, and set intersection analysis comparing slow and healthy jobs. Isolated units are automatically routed into a poor performer reservation for root-cause analysis. Testing frequency adapts dynamically, maintaining a light footprint during stable runs and triggering scale-wide parallel sweeps if interruptions emerge.
Software Optimization for Nemotron-3 Production (17:43)
The operational framework supported the end-to-end training of Nemotron-3, a 120-billion parameter hybrid Mixture-of-Experts model trained on tens of thousands of GPUs processing hundreds of billions of tokens daily. Achieving high goodput—the ratio of useful training computation to total elapsed time—required co-designing infrastructure and application software.
Software enhancements focused on eliminating runtime interruptions. The team deployed asynchronous checkpointing and optimized garbage collection routines, which sharply reduced run-to-run performance variability and prevented training pauses during extended runs. NVIDIA released the resulting model weights, training recipes, and datasets to the broader ecosystem.
NVIDIA's operators emphasize that the scheduling mechanisms, simulation methodologies, and continuous validation processes developed for GB200 clusters are directly informing the deployment of next-generation GB300 systems, as exponential model scaling turns rack-scale architecture into an operational baseline.
[20:48] Exciting future is ahead of us. Please join us in our mission to build the next frontier of intelligence.
Original transcript
[0:00] Good afternoon everyone.
[0:02] My name is Sachin Lakharia and with me I
[0:05] have my colleague Douglas Wittman and
[0:08] Ankur Srivastava.
[0:10] Today we'll be sharing our experience
[0:12] productionizing and operating GB200
[0:15] clusters at scale.
[0:19] Before we go into the technical
[0:21] challenges, let me quickly introduce our
[0:24] team and the strategic role that it
[0:26] plays in the NVIDIA ecosystem.
[0:29] Firstly, with deploy and scale, our team
[0:32] is responsible for bringing up the next
[0:35] generation of compute, storage, and
[0:38] networking and converting them into HPC
[0:42] clusters.
[0:43] Secondly, we come in as operational
[0:46] experts where we optimize the HPC
[0:49] clusters to deliver peak performance for
[0:52] our AI research workloads.
[0:55] Thirdly, with build and improve, we are
[0:57] responsible for developing advanced
[1:00] monitoring tools and researcher
[1:02] productivity tools.
[1:04] And lastly, all of this goes into the
[1:06] ecosystem innovation where we help
[1:09] advance the hardware and the software
[1:12] stack, not just for NVIDIA, but for the
[1:15] entire industry.
[1:18] Since this talk is about scale, let me
[1:20] share our scale journey with you. As you
[1:23] can see, we have grown tremendously in
[1:26] the last few years.
[1:28] We have grown more than two to 2.5x year
[1:31] over year in these years.
[1:34] Most of this growth has been primarily
[1:36] driven by the demand coming from large
[1:39] language model research.
[1:42] Our fleet comprises of diverse NVIDIA
[1:45] architecture ranging from A100 to H100
[1:49] and now we have GB200 and GB300
[1:52] clusters.
[1:54] Today we'll be sharing our experience
[1:56] and our GB200 journey with you from
[1:59] inception to the global rollout. This
[2:02] journey that started more than a year
[2:04] ago with hardware and software co-design
[2:08] and then into Nvidia pre-clusters.
[2:11] My colleague Douglas will be talking
[2:12] about some of the work that goes during
[2:14] these phases, especially around like
[2:17] scheduling.
[2:18] Then we will talk about the production
[2:20] readiness. Well, I'll be talking about
[2:23] the simulation and development work that
[2:26] goes before the production rollout. And
[2:28] eventually Ankur will be talking about
[2:30] the testing and validation that enables
[2:34] the global rollout of GB200.
[2:37] With that, let me pass it on to Douglas
[2:39] who will talk about the NVL GB200
[2:42] system.
[2:46] >> Thank you, Sachin.
[2:48] The GB200 was designed with several
[2:50] major enhancements and advancements. And
[2:53] unlike previous generations that used
[2:56] NVLink within a single machine, the
[2:58] GB200 introduced multi-node NVLink.
[3:02] So this system interconnects GPUs on one
[3:05] node with direct links to the GPUs on
[3:08] many other nodes
[3:09] via NVSwitches.
[3:12] This turns 18 nodes into a giant
[3:15] supercomputer, like it was mentioned
[3:17] earlier. So we now have 72 fully
[3:20] connected GPUs communicating at full
[3:24] speed.
[3:28] These architectural changes
[3:32] were driven by a clear trend in the
[3:34] industry. Model complexity is rapidly
[3:38] outgrowing existing fabrics. So the new
[3:41] Blackwell architecture provides huge
[3:43] improvements in this area. A 30x
[3:46] inference speed up compared
[3:50] and a 25x improvement to energy
[3:52] efficiency.
[3:53] And the key enabler to this new
[3:55] technology is the NV switch system,
[3:57] which like I said, connects those 72
[3:59] GPUs into a single NV link domain with
[4:03] 130 terabytes per second of aggregate
[4:06] bandwidth.
[4:08] However,
[4:09] to take advantage of these advancements,
[4:13] a big change was required to our
[4:15] underlying workload scheduling engine,
[4:18] Slurm.
[4:22] Now, Slurm has always supported
[4:25] scheduling within network topologies,
[4:27] but these were always best effort and
[4:30] were insufficient for this new
[4:32] architecture.
[4:33] GB200 clusters require that the job
[4:36] scheduler treat NV link domains as very
[4:39] hard boundaries. So, we collaborated
[4:42] with SchedMD to build the topology block
[4:46] plugin.
[4:48] Each multi-node NV link domain is
[4:50] modeled as a rigid scheduling unit or a
[4:53] block.
[4:55] And this topology can be defined by the
[4:56] administrator in the Slurm
[4:58] configuration,
[4:59] making sure that sites can fine-tune
[5:03] their bandwidth allocation for their
[5:05] large jobs.
[5:09] So, let's look at an example of this
[5:12] kind of block scheduling.
[5:15] A naive job scheduler trying to start a
[5:17] 32-node job in many situations would
[5:21] just place that on any 32 free nodes.
[5:24] Maybe the scheduler would try to contain
[5:27] it within a network leaf switch, but
[5:29] with
[5:30] the normal
[5:32] leaf switch scheduling, that can give up
[5:35] quickly, leading to fragmentation.
[5:38] So, more intelligence was needed
[5:40] to take advantage of the multi-node NV
[5:43] link.
[5:44] This slide demonstrates how Slurm's
[5:47] topology block algorithm can efficiently
[5:50] distribute the job across multiple
[5:53] blocks, splitting them equally into two
[5:56] segments of 16.
[5:59] This distribution
[6:01] is essential for utilizing the high
[6:03] bandwidth needed by mixture of experts
[6:07] type workloads.
[6:11] Now, there can still be per application
[6:13] tuning needed when it comes to segment
[6:15] sizes to fully take advantage of Slurm's
[6:18] topology block algorithm.
[6:20] And we recommend application developers
[6:23] play around, simulate to find what is
[6:27] their optimal segment size.
[6:29] Larger jobs, especially MOE workloads,
[6:32] will require large segment sizes to take
[6:35] advantage of that high bandwidth.
[6:37] And conversely, smaller jobs with lower
[6:39] IO bandwidth should use a smaller
[6:41] segment size
[6:43] to maximize cluster utilization.
[6:45] And all of this is available open source
[6:47] in Slurm, and we encourage you to try it
[6:51] out on your systems with your workloads.
[6:54] There can be tradeoffs
[6:56] depending on the various workloads, and
[6:58] strict topology scheduling
[7:00] has the potential to impact overall data
[7:03] center utilization,
[7:05] but these can be mitigated.
[7:07] Sachin is going to go over the workloads
[7:09] and the simulations and the
[7:10] methodologies that we use at Nvidia.
[7:13] Sachin.
[7:15] >> Thank you, Douglas,
[7:17] for walking us through the block
[7:18] topology plugin and some of the ways
[7:21] that it works.
[7:22] Next, I'll go into some of the
[7:24] challenges that are imposed by block
[7:26] topology plugin. But before that, let's
[7:29] take a quick look at the scale and
[7:30] variety of our workload that amplifies
[7:32] these challenges even further.
[7:35] So, we support diverse types of workload
[7:37] ranging from LLMs, generative AI, to
[7:40] digital humans.
[7:41] In terms of the job shapes and sizes, we
[7:43] have jobs which require just one GPU all
[7:46] the way to jobs that needs like tens of
[7:49] thousands of GPUs when they are running.
[7:51] And above all, the service expectations
[7:54] are really high. We are users uh expect
[7:58] really high reliability from our
[8:00] platform. We operate our clusters at 95%
[8:03] or more occupancy, and I'll talk about
[8:06] what what do I mean by occupancy in the
[8:08] next slide.
[8:09] And above all, because it's a
[8:11] multi-tenant uh shared across all the
[8:13] NVIDIA teams, they expect fair sharing
[8:16] of the resources among more than 4,000
[8:19] of our of our users.
[8:21] So, let's take a look at what are some
[8:23] of the challenges with with the block
[8:25] scheduling.
[8:26] Uh first, let's define what do we mean
[8:28] by occupancy.
[8:30] Occupancy is defined as the total number
[8:33] of GPUs running any workload divided by
[8:36] the total number of GPUs available in a
[8:38] cluster. And we define this at a cluster
[8:40] level, and we, as I've said previously,
[8:43] we strive for more than 95% cluster
[8:46] occupancy. That means that at any
[8:49] moment, no more than 5% of our GPUs
[8:52] should be sitting idle. Of course, there
[8:54] has to be enough demand, which is always
[8:56] there.
[8:57] Uh let's see what happens like, you
[8:59] know, uh with block scheduling, the hard
[9:02] constraint that the the block sched- uh
[9:05] scheduler places, it guarantees
[9:07] performance to the job because job will
[9:09] get scheduled on the same NVL72 domain.
[9:13] But at the same time, it actually limits
[9:15] the scheduler flexibility
[9:17] uh in placing the jobs.
[9:19] And without any optimization, what we
[9:21] observed that, you know, your occupancy
[9:24] may fell by multiple single digits
[9:26] compared to something like a no topology
[9:28] where scheduler doesn't have to look at
[9:30] topology at all.
[9:32] Uh hence, uh strategic tuning was
[9:34] required to bridge this gap between like
[9:37] performance that we are delivering to
[9:39] the jobs versus the overall cluster
[9:41] utilization.
[9:42] So, how did we bridge this gap? We
[9:45] turned to simulation.
[9:46] We did not had the GB200 environment to
[9:49] play with because we didn't had any
[9:51] GB200 cluster.
[9:52] So, we built our first class Slurm
[9:55] simulator.
[9:57] The Slurm simulator runs the exact Slurm
[9:59] code base. It is equipped with running
[10:02] different versions of Slurm. It is also
[10:04] equipped with trying different
[10:06] configurations of scheduling that we
[10:08] could play around whether it's topology
[10:10] and other scheduler configuration.
[10:13] And it's also equipped with fetching
[10:15] data from production environment. And
[10:18] once we we are able to replay this
[10:21] with different scheduler configurations
[10:24] and even compare these matrices metrics
[10:27] to production environment.
[10:29] It is also equipped with accelerated
[10:31] runtime.
[10:32] That means that you know, a 7-day
[10:35] simulation could be done in 7 hours. It
[10:37] allows us to iterate faster and try
[10:39] different types of simulations. So, for
[10:42] GB200, we simulated a cluster of 5,000
[10:45] nodes equivalent to 20,000 GPUs with a
[10:48] workload of 15,000 jobs over a period of
[10:50] 7 days and we modeled some reliability
[10:54] by assuming some nodes are being in the
[10:56] triage.
[10:58] So, what are some of the the key
[10:59] findings from our simulations? We ran
[11:02] like you know,
[11:03] simulations across like different
[11:05] configuration for multiple months in
[11:08] fact and some of the key findings are on
[11:10] the fragmentation side. So, one is like
[11:12] it's natural to believe that smaller
[11:14] jobs can come in and fragment these
[11:16] blocks and make them unavailable for the
[11:18] larger jobs. However, during our
[11:20] simulation what we observed was that the
[11:23] block topology plugin was able to fit in
[11:26] these smaller jobs to the last two node
[11:28] and leaving
[11:29] larger segments
[11:31] for for the larger job. So hence from
[11:33] like very minimal to no self
[11:35] fragmentation was observed.
[11:37] Uh next on the occupancy, which is one
[11:39] of our key metrics, is that you know,
[11:42] firstly we know that no topology of
[11:44] course represents the best theoretical
[11:46] occupancy that scheduler can give with
[11:49] because of the maximum freedom that is
[11:50] had. But given enough small jobs, we are
[11:54] able to kind of you know, recover this
[11:55] occupancy loss and we observed that we
[11:58] were able to achieve occupancy within 1%
[12:01] of the no topology, which is the speed
[12:03] of light occupancy that we can get.
[12:06] So
[12:07] based on this, we came up with some
[12:09] recommendations, but before that a quick
[12:12] look into the workload and site. As I
[12:15] shared, no topology gives us the best
[12:18] occupancy. If we allow all jobs to
[12:21] utilize the NVL-72 domain, we we see a
[12:25] drop in the overall utilization. And
[12:27] this is primarily coming from
[12:29] like you know, scheduler not having that
[12:31] flexibility to place the jobs and it
[12:33] leaves some of the capacity stranded.
[12:36] If we allow small jobs to spread, then
[12:40] we are able to recover some of this
[12:42] occupancy. And the other thing is the
[12:44] segment size, which Douglas also talked
[12:47] about that is very critical. We don't
[12:49] want disproportionate allocation because
[12:51] disproportionate allocation leads to a
[12:53] performance drop in the jobs.
[12:56] So based on this, we came up with some
[12:57] recommendations for our users that you
[13:00] know, the larger job should be done with
[13:02] segment size of 16 for maximum
[13:06] performance and you know, larger jobs
[13:08] often use most of the compute. They
[13:10] should be running with more performance
[13:12] and smaller jobs should be done with a
[13:14] segment size of two or even even one.
[13:17] And we changed our defaults in the
[13:20] cluster user make it user agnostic. We
[13:22] changes some of this through you know,
[13:25] the slum CLI filter and other mechanism
[13:28] so that this is like transparent to the
[13:29] users and we were able to like get good
[13:32] occupancy results.
[13:35] However, like you know, these are just
[13:37] simulation
[13:38] environment and the production
[13:40] environment expectations are much much
[13:42] different than this. Our users are
[13:44] looking for like stable and fast
[13:46] infrastructure. They want reliable
[13:49] execution for predictable training
[13:51] results and we do not want our
[13:54] researchers to be spending time on
[13:56] infrastructure debugging. They should be
[13:58] focused on model building.
[14:00] So, how did we meet these expectations?
[14:02] That's something that Ankur will talk
[14:03] about.
[14:05] All right. Over to you, Ankur.
[14:06] >> Thank you, Sachin.
[14:08] Now to deliver performant, optimal and
[14:12] reliable clusters, we need to do a lot
[14:13] of testing. These tests could be
[14:15] microbenchmarks to isolate
[14:18] issues with network, compute or storage.
[14:22] But these could be workload issues as
[14:23] well, which could be a catchall for
[14:25] different types of issues. And these
[14:26] workload tests need to run at different
[14:29] scales to identify problems at single
[14:31] node level, a single rack level and also
[14:34] multi-rack scale as well.
[14:37] Now, especially for the
[14:39] MOE style of workloads, we cannot ignore
[14:41] the CPU. We need to develop
[14:43] microbenchmarks to identify problems
[14:45] with with CPUs as well.
[14:49] Now, we are developing these tests to
[14:52] not only minimize our training
[14:54] interruptions, but also identify when
[14:56] does the training and why does the
[14:58] training slow down.
[14:59] Remember, one slow GPU or slow rack can
[15:03] bring down or slow down your training
[15:05] across thousands or tens of thousands of
[15:08] GPUs.
[15:09] So, when we identify a single a
[15:11] straggling node or a straggling rack, we
[15:13] move to it to a poor performer
[15:15] reservation to do further
[15:18] testing to find the root cause of it.
[15:20] And we use different methods for
[15:23] detecting stragglers. These could be
[15:25] like nickel all-to-all benchmarks for MU
[15:27] seller workloads, or it this could be a
[15:30] workload based testing, or it could be
[15:33] some more simpler ad hoc analysis where
[15:36] we say, "Hey, let's take intersection of
[15:38] all the GPUs that were present in the
[15:39] bad or the slow jobs and remove any
[15:42] nodes that were not present
[15:46] that were present in the good jobs,
[15:47] right? So, just simple ad hoc analysis
[15:50] will also give you
[15:53] stragglers as well.
[15:56] Now, when do we run these tests? What
[15:58] test do we run? At what scale? How do we
[16:00] develop a testing strategy when we are
[16:03] working with so many teams with the AI
[16:05] researchers themselves, with the
[16:07] scheduling team, with the cloud service
[16:08] provider, with other infrastructure
[16:10] teams? So, we need to be really
[16:14] adaptive in our testing strategy. And
[16:16] practically speaking, it should be
[16:19] adaptive on a day-to-day basis. So, if
[16:21] your training run across thousands of
[16:23] GPUs when well as expected without any
[16:27] interruptions or slowdowns, then your
[16:29] testing could be very very minimal or no
[16:31] testing at all.
[16:33] But, if you had a bad training day, then
[16:35] you could decide, "Hey, I want to run
[16:37] test in parallel at scale across
[16:39] thousands of nodes, or I want to block
[16:41] capacity and test for cross rack issues
[16:44] as well." So, so we really need to
[16:47] develop adaptive testing strategy.
[16:52] How do we develop an adaptive testing
[16:54] strategy? We can only get there with
[16:55] automation.
[16:57] We cannot have a testing strategy where
[16:59] we are writing submission scripts every
[17:02] time, and like a very few folks in the
[17:05] teams are are responsible for for
[17:07] writing those submission scripts.
[17:09] We spent a lot of time in building
[17:11] automation tools for our testing
[17:13] strategy, which could work for a whole
[17:16] bunch of different GPUs, had a whole
[17:18] library of micro benchmark and workload
[17:20] test, and it allowed us to submit these
[17:23] tests with a single CLI run command,
[17:26] where we can decide to run micro
[17:28] benchmarks or workload tests across any
[17:30] scale that that we wanted with a single
[17:32] CLI command. And that way, we can be
[17:35] really adaptive and really quick in in
[17:38] getting results from our tests and
[17:40] making decisions on top of it.
[17:43] Okay, now putting everything together.
[17:45] So, we worked very closely with the NeMo
[17:46] Tron team to train their very large 120
[17:49] billion parameter model. Uh
[17:51] and this training ran across tens of
[17:54] thousands of GPUs, and we trained over
[17:57] hundreds of billions of tokens per day.
[17:59] Now, how did we get there? We got there
[18:01] by making changes both on the software
[18:04] stack and the hardware stack. On the
[18:06] software side of things, we implemented
[18:08] things like async checkpointing, garbage
[18:10] collection to reduce training
[18:12] interruptions, but also reduce
[18:14] run-to-run variability as well.
[18:16] And like I talked about, straggler
[18:18] detection, automation in our testing
[18:20] strategy, uh we developed those changes
[18:22] as well. And we instrumented the
[18:24] training code as well to identify
[18:27] uh run time good put, which is basically
[18:30] how productive is your is is your
[18:33] training.
[18:34] Uh as as opposed to the total wall clock
[18:37] time.
[18:38] Okay, next I will give it back to Sachin
[18:41] to talk about the success of NeMo Tron 3
[18:44] and future work.
[18:47] >> Thank you, Ankur, for walking us through
[18:48] the testing and validation that led to
[18:51] the successful release of NeMo Tron 3.
[18:54] A quick word on NeMo Tron 3, it's a
[18:56] hybrid MoE architecture model with a
[18:59] long context window, but above all, it's
[19:01] a fully open ecosystem. Developers and
[19:04] researchers can download the open
[19:05] weights, data sets, recipes, fine-tune
[19:09] it, play with it. So, please give it a
[19:10] try.
[19:12] Uh I would like to talk a bit about our
[19:15] future work that we are doing. Before
[19:17] that, a quick look into some of the
[19:19] growth trajectory that we discussed.
[19:22] Model complexity is demanding a shift to
[19:25] rack-scale computing like GB200 and
[19:28] GB300.
[19:29] If you look at, everything is
[19:31] exponentially growing. Like some of
[19:33] these frontier labs are now managing
[19:35] nodes more than 50,000 in in of
[19:39] clusters.
[19:40] And not only that, uh as the job sizes
[19:43] are increasing, as I spoke about, some
[19:44] of our jobs are more than tens of
[19:46] thousands of GPUs are running across
[19:48] like, you know, thousands of nodes. Now
[19:50] failures are bound to happen.
[19:52] So what we are doing, like some of the
[19:54] work to address some of these
[19:56] challenges. One, as Ankur also spoke
[19:58] about, we are moving away from one-time
[20:00] testing. We are moving towards like
[20:02] continuous testing and validation, not
[20:04] just to bring up test, but continuous
[20:07] test not just single node, but
[20:10] multi-node, but and now we are moving to
[20:12] like even multi-rack testing.
[20:15] Uh adaptive efficiency. I spoke about
[20:17] the Slurm simulator. We are leveraging
[20:19] some of those simulation technologies to
[20:21] dynamically fine-tune our clusters, so
[20:24] that based on the workload and the
[20:26] configurations, it can dynamically adapt
[20:29] and utilize the GPU resources to the
[20:31] maximum possible
[20:33] uh uh
[20:34] uh
[20:35] way. And not only that, the we are
[20:38] applying all of these
[20:39] uh hard-learned lessons to like the
[20:42] upcoming rack-scale systems and also
[20:44] stabilizing systems like GB300.
[20:48] I would like to wrap the call today uh
[20:50] this talk today with few quick points.
[20:53] Firstly, please experience the enormous
[20:55] efficiency that can be gained by
[20:58] applying NVIDIA GB300 rack-scale
[21:00] computing.
[21:02] As we noted, any NVIDIA is not just
[21:05] enabling itself, but also the entire AI
[21:08] industry by doing its research on the on
[21:11] the
[21:12] AI infrastructure and the open models.
[21:15] And I would like to thank you all today
[21:16] for listening to us.
[21:18] Exciting future is ahead of us. Please
[21:20] join us in our mission to build the next
[21:22] frontier of intelligence.
[21:24] Thank you.