High-Performance AI Network Infrastructure for Distributed Training at Scale

meta · Tech · year n/a · source Agentic: no · promotional bias: low · source-backed · extracted with prompt 0.5.6 (schema v2)

Generated from extraction.json — do not edit by hand. Every claim cites verbatim source evidence; stated means the quote directly asserts the claim, implied means it supports it indirectly.

Problem

Domain: distributed AI training network infrastructure

Meta needed distributed AI training jobs to move checkpoint and training data across rapidly evolving multi-NIC GPU hosts without bottlenecking on a single interface, leaving GPUs idle, or requiring model code to understand the underlying hardware topology.

Constraints:

Architecture

Meta built a bidirectional multi-NIC utilization design for AI training hosts. For egress, each container exposes the host's physical NICs through lightweight netkit devices and assigns IPs to every NIC plus a central task IP; applications can bind explicitly, or hardware-agnostic applications use an in-container ECMP setup that spreads outgoing flows across equal-cost NIC paths, with eBPF hooks driving packets directly to physical NICs at line rate. For ingress, a VIP injector runs inside the container, treats the task IP as a virtual IP, establishes a BGP session with the rack switch, and announces multiple equal-cost next hops corresponding to the host NICs. The rack switch then uses consistent hashing to spread inbound flows and automatically removes failed links from the ECMP group. The design preserves route aggregation beyond the rack, adds security checks so only the training job can announce its task IP, and is being advanced with NUMA-aware egress and hardware RX flow steering for latency improvement.

Diagram confidence: reconstructed (reconstructed from prose).

flowchart LR
  A["Distributed training job"] --> B["Training container"]
  B --> C["Netkit NIC exposure"]
  C --> D["Physical NIC pool"]
  B --> E["ECMP egress multipath"]
  E --> F["eBPF forwarding hook"]
  F --> D
  B --> G["VIP injector"]
  G --> H["Rack switch ECMP"]
  H --> D
  H --> I["Task IP route aggregation"]
  G --> J["Task IP security check"]
  D --> K["NUMA-aware steering"]
Drag to pan · scroll or use +/− to zoom · reconstructed from the source's described component topology

Components

Component Role Interacts with
Distributed training job AI model training workload whose checkpoint, ingestion, and peer traffic must move across many hosts without stalling GPUs. Training container
Training container Containerized workload environment with a task IP and exposed physical NICs for training processes. Netkit NIC exposure, ECMP egress multipath, VIP injector
Netkit NIC exposure Lightweight Ethernet device path used instead of standard virtual Ethernet to expose physical NICs inside the container without buffering. Physical NIC pool, eBPF forwarding hook
Physical NIC pool Multiple high-speed host network interfaces distributed across NUMA domains. ECMP egress multipath, Rack switch ECMP, NUMA-aware steering
ECMP egress multipath Equal-cost multipath setup inside the container that load-balances outgoing flows across all available NICs. Physical NIC pool, eBPF forwarding hook
eBPF forwarding hook Kernel hook that drives packets directly to the selected physical NIC at line rate. Physical NIC pool
VIP injector Lightweight BGP process inside the container that announces the task IP as a virtual IP with multiple NIC next hops. Rack switch ECMP, Task IP security check
Rack switch ECMP Rack-switch forwarding table that hashes inbound flows across equal-cost physical NIC next hops and adapts to link failures. Physical NIC pool, Task IP route aggregation
Task IP route aggregation Address allocation and routing policy that keeps task-IP announcements aggregated within the rack and prevents route leakage beyond it. Rack switch ECMP
Task IP security check Guard that ensures only the owning training job can announce its task IP and prevents traffic hijacking. VIP injector
NUMA-aware steering Planned latency optimization for aligning NIC selection and RX flow steering with the CPU socket where the flow lives. Physical NIC pool

Data flow

A distributed training job runs inside a container with access to multiple host NICs. Checkpoint, data-ingestion, and hot-sparing traffic can leave the container through ECMP equal-cost paths across all exposed physical NICs, with flow stickiness to avoid packet reordering and eBPF/netkit support for line-rate forwarding. Inbound traffic targets the task IP announced by a VIP injector over BGP to the rack switch; the switch installs ECMP next hops for the host NICs, hashes flows across them, removes failed next hops automatically, and prevents task-IP route leakage beyond the rack. This bidirectional spread turns a single overloaded NIC path into multiple lanes for checkpoint loading, job reads, and training data movement.

3 supporting quotes
“it's a simple ECMP setup inside the container with all the nicks has the equal path into it and that helps to drive the load balancing for the outgoing traffic.”transcript, stated
“VP injector announced the task IP as a virtual IP to the recuite with multiple equal cost next hops and each next hop represent the physical n on the host.”transcript, stated
“We apply this birectional solution to the training job and we see a substantial reduction from 300 second to 1 second.”transcript, stated

Why this architecture

Meta chose host-level ECMP and BGP/VIP injection because the bottleneck had shifted from compute to bandwidth, and GPU clusters were leaving costly network capacity idle. The design uses all NICs without changing model code, spreads both egress and ingress traffic, preserves fabric-level scalability through rack-local route aggregation, and lets rack switches adapt to link failures. The same architecture also leaves room for NUMA-aware steering where latency is still affected by cross-socket traffic.

3 supporting quotes
“the bottleneck is the bandwidth not the compute anymore. And to increase this bandwidth, the first and foremost thing you could see”transcript, stated
“without changing any piece of code by the model which is trying to train the application should utilize all the available resources.”transcript, stated
“This routing design makes the solution very scalable.”transcript, stated

Models used: distributed AI training jobs · training models

Scale

Alternatives considered (roads not taken)

Leave one NIC as a failure link

Rejected because: Checkpoint and training data movement grew enough that spare NIC capacity needed to be used for data transfer, not left idle only for failure scenarios.

“there is there there is a host with tunics because one was used to be a failure link.”transcript, stated
“we have to use that available link also for the data movement rather than just for the failure purposes.”transcript, stated

Require training applications to bind to specific NICs

Rejected because: That makes model code aware of underlying hardware, while Meta wanted the same model to run across development boxes and production hardware without changes.

“if they want to do that they need to be aware about the underlying hardware.”transcript, stated
“if the processes doesn't want to look into what all the nicks are available then they can go into the our solution which is ECMP based”transcript, stated

Modify the fabric switches deeply

Rejected because: The solution requirement was to utilize host-level hardware correctly without doing fabric-switch surgery.

“whether it is a DC fabric of meta whether we basically have the hybrid cloud anywhere we want to make sure that we don't do any surgeries in the fabric switches”transcript, stated
“at the same time we need to make sure that the hardware what we have at the host level has been utilized correctly.”transcript, stated

Use rack-switch ECMP alone without task-IP route control

Rejected because: Announcing every task to the network could overload routing unless task addresses are aggregated and route propagation is stopped at the rack.

“if we announce every tasks to the network will it cause routing trends will it overload the routing table?”transcript, stated
“routing policy on this switch will stop the propagation prevent the route to be leaked to the network beyond the rack.”transcript, stated

Patterns

latency-optimization (infrastructure)

Meta spread checkpoint and data-ingestion traffic across all available NICs, added line-rate ECMP/eBPF forwarding, and planned NUMA-aware steering to reduce read and checkpoint latency.

“the packet traverser among those four nicks should be at the line rate without any compromise.”transcript, stated
“when the packet has been routed through a specific nick, we need to make sure that that nick is a numa aligned one.”transcript, stated

durable-execution (reliability)

The network design protects distributed training recovery by accelerating checkpoint reads and loading, supporting hot sparing, and reducing fallback to stale checkpoint data.

“Checkpoint is the saved snapshot of the training jobs model status and data.”transcript, stated
“Hot sparing depends on the most recent checkpoint. Any delay on checkpoint forces the hotsparing to fall back on older data.”transcript, stated

fallback-degradation (reliability)

Rack-switch ECMP removes failed physical NIC next hops and rehashes affected flows across remaining NICs, keeping inbound traffic balanced without packet loss.

“when the link goes down the rack switch can detect this physical failure and it will remove the corresponding next hop from the ECM group.”transcript, stated
“they will be rehashed and will be assigned to the rest housing next uh nakes. So we still have a balanced traffics among the snakes without packet loss.”transcript, stated

cost-aware-routing (operations)

The routing work was motivated by avoiding GPU idle time from network bottlenecks, because idle GPUs waste money during checkpoint and data-loading stalls.

“if we keep the GPU idle money is going to get burned unnecessarily.”transcript, stated
“This not only slow down the checkpoint performance but also increase GPU idle time because GPU is left waiting for the training data to be loaded”transcript, stated

safety-policy-enforcement (network security)

Task-IP announcement is guarded so only the owning training job can announce the task IP, preventing hijacking of training traffic.

“we introduced security check. This ensures that only this training job can announce this task IP”transcript, stated
“it avoids the traffic hijacking of the training data.”transcript, stated

Tradeoffs

Keep model applications hardware-agnostic

Chose container-level ECMP and VIP injection over requiring model code to bind to specific NICs.

Rationale: The same training model should run from development boxes to production fleets even as hardware evolves from one to two to four high-speed NICs.

“without understanding the underlying hardware how can we run the same model right from the development boxes to the production fleet.”transcript, stated
“So we have to make sure that the container also has exposure to the physical nicks inside it.”transcript, stated

Use ECMP for egress from the container

Chose equal-cost multipath across all available NICs over single default NIC selection.

Rationale: ECMP lets hardware-agnostic applications distribute outgoing checkpoint and data traffic across NICs at line rate while preserving flow stickiness.

“it's a simple ECMP setup inside the container with all the nicks has the equal path into it”transcript, stated
“We also have the stickiness at the flow level so that we know that the packet reordering and other challenges will not be there.”transcript, stated

Use BGP/VIP injection for ingress

Chose task IP announced as a virtual IP with multiple equal-cost next hops over inbound traffic arriving through a single last-hop NIC.

Rationale: Inbound flows need the same multi-lane treatment as outgoing traffic, but the rack switch needs task-IP next-hop information to distribute them.

“on the very last hop, we're still going through one single nick. How do we turn this single trail into multiple lanes?”transcript, stated
“Virtual IP is used for high availability and a low balancing.”transcript, stated

Localize routing changes to the rack

Chose rack-local task-IP announcements with aggregation and propagation stopping over leaking per-task routes into the wider network.

Rationale: The ingress design scales because it adds no actual routes beyond the rack while still allowing rack-switch ECMP to balance flows across host NICs.

“The task IP is also part of the n subnet. So it is also aggregated on the rex switch.”transcript, stated
“routing policy on this switch will stop the propagation prevent the route to be leaked to the network beyond the rack.”transcript, stated

Gotchas (what bit them)

Single-NIC defaults create a hidden bottleneck on multi-NIC GPU hosts.

Root cause: Without special NIC selection, training jobs bind to the first available NIC, so checkpoint and ingestion traffic overload that interface while other NICs sit underutilized.

Resolution: Expose all NICs to the container and provide ECMP-based egress load balancing for hardware-agnostic applications.

“without a special nick selection solution, the training job on the host is always bound to the first available nick which is usually is zero.”transcript, stated
“The checkpoint traffic is funneled through this single nick while the other nakes are underutilized.”transcript, stated

Checkpoint delays damage hot-sparing quality.

Root cause: Hot sparing depends on current checkpoint updates; if checkpoint transfer is slow, standby GPU servers fall back to older state.

Resolution: Improve checkpoint network throughput with bidirectional multi-NIC traffic spreading.

“Hard sparing is a redundancy techniques where the GPU servers constantly receive update data from active jobs so that it can take it over instantly”transcript, stated
“Any delay on checkpoint forces the hotsparing to fall back on older data.”transcript, stated

Host-level ECMP can create routing-scale risk if every task route leaks beyond the rack.

Root cause: Large numbers of simultaneous training tasks could overload routing tables if task IPs are globally propagated.

Resolution: Use hierarchical address allocation and rack-switch policy to aggregate task IP routes and stop propagation beyond the rack.

“large number of training jobs running simultaneously in the large AI model. So there is a concern if we announce every tasks to the network”transcript, stated
“This means we introduced zero actual route to the network beyond the rack.”transcript, stated

NUMA-unaware NIC selection can erase part of the latency win.

Root cause: If packets are routed through a NIC attached to the wrong NUMA domain, cross-socket memory reads add latency and drop throughput.

Resolution: Add transparent NUMA awareness and hardware RX flow steering so packets land near the CPU socket where the flow exists.

“If we have the cross socket communication the latency hits and the throughput drops we have to make sure that the solution what we build is numa aware”transcript, stated
“we will be configuring the hardware RX flow steering in such a way that it assigns the right CPU where the flow socket exist.”transcript, stated

Evaluation

Meta evaluated the bidirectional multi-NIC design with a real incident where job read latency spiked, checkpoint-loading measurements, and a four-NIC GPU-server stress test that compared traffic distribution and throughput before and after the solution.

Metrics: job read latency reduced from 300 seconds to 1 second · checkpoint loading latency reduced from 800 seconds to 100 seconds · four-NIC stress test distributed about one quarter of load to each NIC · throughput improved by four times · no actual route introduced beyond the rack · traffic balanced across remaining NICs without packet loss after link failure

3 supporting quotes
“We apply this birectional solution to the training job and we see a substantial reduction from 300 second to 1 second.”transcript, stated
“Meanwhile, the check point loading latency also dropped from 800 seconds to 100 second.”transcript, stated
“We also run a stress test on a GPU server with four nakes comparing before and after applying this birectional solution.”transcript, stated

Outcomes

The solution targets distributed AI training jobs across racks, clusters, data centers, regions, and hybrid cloud settings, with hosts evolving from two NICs to four 100G NICs and four 200G NICs, thousands of training nodes, and checkpoint data growth described from hundreds of gigabytes to tens of terabits and beyond.

3 supporting quotes
“This solution has been applied to various training models.”transcript, stated
“This generation of ECMP4 tibo and automatic fill over is completely transparent to applications.”transcript, stated
“the training jobs are distributed within the racks within the clusters within the DCs and even it crosses regions”transcript, stated