Skip to main content

Real architecture · Staff

Imbue: 70B on 4,092 H100s

Real production architecture. Key points: GPU health checks and InfiniBand failures.

18 min read · Source: Imbue · Content reviewed on October 23, 2026

Short answer

Real production architecture. Key points: GPU health checks and InfiniBand failures. Imbue trained a 70B-parameter model from scratch on its own infrastructure, with a small team, and published a guide that goes from bringing up the cluster to automatic error recovery during training. The guide is the source for this case.

01 · CONTEXT

A cluster where everything has to work

Imbue trained a 70B-parameter model from scratch on its own infrastructure, with a small team, and published a guide that goes from bringing up the cluster to automatic error recovery during training. The guide is the source for this case.

The cluster described had 4,088 H100 GPUs spread across 511 computers, with eight GPUs per computer. Each GPU connected to its own ConnectX-7 card, capable of sending and receiving at the same time at 400 Gbps to any other GPU on the InfiniBand fabric.

The InfiniBand fabric had a three-tier architecture. Training communication went through it, not through Ethernet, which was used to transfer datasets, checkpoints, and other data.

  1. The cluster is made of hosts with GPUs; each GPU has its own network card to talk to any other GPU on the fabric.

    Architecture diagram: Training cluster and its networks
    CPGPU hosts
    NWMalha InfiniBand
    CPUFM
    CPManagement network (BMC)
    DBCloud storage
    NWMonitoramento
  2. Training traffic between GPUs goes over the InfiniBand fabric, organized in three tiers.

    Architecture diagram: Training cluster and its networks
    CPGPU hosts
    NWMalha InfiniBand
    CPUFM
    CPManagement network (BMC)
    DBCloud storage
    NWMonitoramento
  3. Datasets, checkpoints, and other data travel over an Ethernet network, not over InfiniBand.

    Architecture diagram: Training cluster and its networks
    CPGPU hosts
    NWMalha InfiniBand
    CPUFM
    CPManagement network (BMC)
    DBCloud storage
    NWMonitoramento
  4. The InfiniBand design is centralized, with a single brain for the network; the team dealt with a single entity for the fabric's 320 switches.

    Architecture diagram: Training cluster and its networks
    CPGPU hosts
    NWMalha InfiniBand
    CPUFMfabric brain
    CPManagement network (BMC)
    DBCloud storage
    NWMonitoramento
  5. A secondary Ethernet network serves only for configuration and management. The BMC lets you interact with each machine as if you were physically present.

    Architecture diagram: Training cluster and its networks
    CPGPU hosts
    NWMalha InfiniBand
    CPUFM
    CPManagement network (BMC)
    DBCloud storage
    NWMonitoramento

02 · CLUSTER BRING-UP

From bare machine to InfiniBand fabric

A first server was installed manually, and Ubuntu's MAAS software helped provision the rest.

EtapaWhat the source reports
Machine bootAbout 10% of the machines did not come up, mostly because of physical problems in the servers.
Internal PCIe cablesOn about a quarter of the hosts, the internal PCIe cables had to be reseated.
Top of the fabricInstead of a single fabric, there were eight disconnected networks, with no common routes.
Unstable linksMany ports showed high error rates or flapped between working and failing.
Adaptive routingWith about 10% of the fabric having problems, adaptive routing did not work reliably enough.

Once the wiring problems were solved, UFM was able to reach all the fabric's switches. After the recabling, the team added checks to confirm that the physical connections matched the new design.

03 · BURN-IN AND RELIABLE SET

Stressing the fabric and growing a set of reliable machines

To diagnose InfiniBand problems more efficiently, the team created a workload that pushed as much data as possible through all the fabric's ports at the same time. UFM alerted on transmission above 97% of theoretical capacity on most ports, and some switches went down temporarily. The ports still standing at the end of the day were considered robust enough; the rest were disabled or sent for repair.

This burn-in has the spirit of chaos engineering: exercising the infrastructure under deliberate stress, instead of waiting for the failure to show up on its own.

As a rule of thumb for new hardware, the source cites about 3% of machines breaking per week. The nuance is that this is not a uniform chance of failure per machine: a few problematic machines break repeatedly in different ways until they are fixed. So, instead of hunting for failures on random machines, the team could focus on growing a set of reliable machines.

04 · HEALTH AND RECOVERY

Per-host health checks and automatic relaunch

Most training problems could be attributed to faulty machines or network components, and it was essential to automate disabling them and requesting repairs. The health checks were designed to have a single front door, which answers yes or no per host.

CheckWhat it checked
GPUCorrect number of GPUs, ECC enabled, and no ECC errors.
Kernel (dmesg)No hardware Xid or SXid errors, faults raised by the GPUs or by the switches between GPUs.
InfiniBandPresence of high error rates and outdated driver firmware.
Bandwidth with ib_write_bwRan for longer (about 15 minutes) to catch unstable InfiniBand links.
Multi-node NCCL diagnosticCould take 12 to 24 hours to detect problems, so it generally ran only on new or suspect nodes.
  1. A hardware failure, such as an Xid or SXid error, can bring down the run without producing a useful Python stack trace.

    Architecture diagram: Health checks and automatic relaunch
    CPTraining runqueda
    DBCheckpoints
    CPRelaunch orchestrator
    CPPer-host health checks
    CPHost pool
    NWUFM event log
    CPNetwork script
    NWMalha InfiniBand
  2. The orchestrator runs the health checks on all available machines and ranks the health of each one according to the checks it passes.

    Architecture diagram: Health checks and automatic relaunch
    CPTraining run
    DBCheckpoints
    CPRelaunch orchestrator
    CPPer-host health checks
    CPHost pool
    NWUFM event log
    CPNetwork script
    NWMalha InfiniBand
  3. Each host's result boils down to a yes-or-no answer.

    Architecture diagram: Health checks and automatic relaunch
    CPTraining run
    DBCheckpoints
    CPRelaunch orchestrator
    CPPer-host health checks
    CPHost pool
    NWUFM event log
    CPNetwork script
    NWMalha InfiniBand
  4. The orchestrator relaunches the training on the healthiest machines, from the most recent checkpoint.

    Architecture diagram: Health checks and automatic relaunch
    CPTraining runrelaunched
    DBCheckpoints
    CPRelaunch orchestrator
    CPPer-host health checks
    CPHost pool
    NWUFM event log
    CPNetwork script
    NWMalha InfiniBand
  5. For the network, a script reads UFM's event log, disables the implicated links and ports, opens maintenance tickets, and re-enables the components when the repair is done.

    Architecture diagram: Health checks and automatic relaunch
    CPTraining run
    DBCheckpoints
    CPRelaunch orchestrator
    CPPer-host health checks
    CPHost pool
    NWUFM event log
    CPNetwork script
    NWMalha InfiniBand
  6. Having more machines than necessary, 10% to 20% more according to the source, makes it easier to relaunch when one of them fails.

    Architecture diagram: Health checks and automatic relaunch
    CPTraining run
    DBCheckpoints
    CPRelaunch orchestrator
    CPPer-host health checks
    CPHost poolreserva
    NWUFM event log
    CPNetwork script
    NWMalha InfiniBand

Reserving machines beyond what is needed is a form of capacity redundancy.

05 · DIAGNOSIS

Hangs without stack traces and MFU slowdowns

The most memorable hang showed up at the same time in all of the run's workers: when a host did not complete an NCCL operation, the others stayed blocked on it until NCCL_TIMEOUT. The nature of NCCL made it very hard to find the culprit host. The team changed the library's logging to show which operations were in flight at the time of the failure and, to find problematic hosts, often had to see which hosts did not produce certain log messages.

There were situations where a run on a set of machines failed without anyone knowing which one was the culprit. A group of 48 machines, for example, was split into six groups of eight and then into eight groups of six; the machine present in the failing runs in both rounds was the problematic one.

  1. A group of machines fails and it is not clear which one is the culprit.

    Architecture diagram: Isolate the culprit host by subdivision
    CPFailing groupfalhando
    CPSubgroups, first split
    CPSubgroups, second split
    CPSuspect host
    NWResults and logs
  2. The group of 48 machines is split into six groups of eight, each running a smaller run.

    Architecture diagram: Isolate the culprit host by subdivision
    CPFailing group
    CPSubgroups, first split
    CPSubgroups, second split
    CPSuspect host
    NWResults and logs
  3. Then the same set is split into eight groups of six, with new smaller runs.

    Architecture diagram: Isolate the culprit host by subdivision
    CPFailing group
    CPSubgroups, first split
    CPSubgroups, second split
    CPSuspect host
    NWResults and logs
  4. The machine that takes part in failing runs in both rounds is the problematic one.

    Architecture diagram: Isolate the culprit host by subdivision
    CPFailing group
    CPSubgroups, first split
    CPSubgroups, second split
    CPSuspect hostculpado
    NWResults and logs

For slowdowns, the source uses MFU (model FLOPs utilization) as the measure, and generic slowdowns or an MFU below what had already been demonstrated could have several causes. The shape of the MFU curve helped diagnose the class of the problem.

MFU symptomReported cause
Starts extremely low and stays steadyMost common: an InfiniBand hardware problem, such as a dead switch in the T2 or T3 layers.
Starts at 30% of expected and stays steadyA host with misconfigured GDR or incorrect GDR environment variables.
Drops gradually and returns to normal with any restartThe degradation seemed to result from automatic garbage collection; disabling it and scheduling it at intervals made the drops disappear.

06 · LESSONS

What the case teaches about operating thousands of GPUs

The team highlights having 10-20% more machines than needed so it can relaunch easily when something fails, and writing tests and automatic fixes for every type of failure, because every problem found comes back. It also adopted the rule of changing one thing at a time.

Being a small team, it tried to automate as much of the process as possible.

Frequently asked questions

What is Imbue: 70B on 4,092 H100s?

Real production architecture. Key points: GPU health checks and InfiniBand failures.

What does the Imbue: 70B on 4,092 H100s design cover?

It is organized in these sections: A cluster where everything has to work, From bare machine to InfiniBand fabric, Stressing the fabric and growing a set of reliable machines, Per-host health checks and automatic relaunch, Hangs without stack traces and MFU slowdowns, and What the case teaches about operating thousands of GPUs.

How long is Imbue: 70B on 4,092 H100s and what level is it?

It takes about 18 minutes to read and is rated Staff level.

Now design it yourself

Run this case as an interview in the System Design school: you make the decisions, the tutor challenges them and you see how your design scores.