Skip to playbook content
Browse all chapters
Chapter 0612 min readReviewed 31 August 2026

Scale across GPUs without buying the wrong links

Choose data, tensor, pipeline, expert, and context parallelism - and place them on the right fabric.

On this page
  1. Parallelism map
  2. Topology rules
  3. Prefill/decode split
  4. Scale checklist
Shard only when needed

Every parallel strategy buys something and communicates something

The default is the smallest single replica that fits. Parallelism is a memory or latency tool; data-parallel replicas are the ordinary throughput tool once a replica works.

StrategySplitCommunicationUse whenFailure mode
Data parallel (DP)Requests/batches across full model replicasLittle for independent inference; gradients in trainingOne replica fits; need more throughputDuplicated weights, fragmented batches and caches
Tensor parallel (TP)Matrices/heads inside every layerCollectives every layerModel/KV does not fit one GPU; fast intra-node linksCross-node collectives or tiny per-rank GEMMs dominate
Pipeline parallel (PP)Contiguous layer groupsActivations between stagesNeed to extend beyond one link domainBubbles, imbalance, higher single-request latency
Expert parallel (EP)MoE experts across ranksToken dispatch/return, often all-to-allLarge MoE modelsHot experts and network imbalance
Context parallel (CP)Sequence dimensionAttention-specific exchangeExtreme contexts that cannot fit/process on one rankNarrower support and communication overhead
Map software onto metal

Keep the most frequent communication on the fastest links

Inside GPUHBMTB/s-class local memory
Inside nodeNVLink / Infinity FabricPreferred TP / EP domain
Across nodeInfiniBand / RoCEDP, PP, scale-out collectives
Across zoneOrdinary networkReplicas and asynchronous work
  1. If one GPU fits and passes, stop sharding.You retain simpler failure, scheduling, and performance behavior.
  2. Use the smallest TP degree that fits.Keep TP inside one NVLink/NVSwitch or qualified Infinity Fabric domain when possible.
  3. Cross node boundaries deliberately.Prefer PP between slower domains; cross-node TP only when the fabric and workload prove it.
  4. Add DP after the replica works.Independent replicas scale throughput and failure isolation, subject to batching and cache locality.
  5. Pin topology.Schedule ranks into the expected link clique, NUMA domain, NIC, rack, and zone.
Advanced serving topology

Separate prefill and decode only after interference is proven

Disaggregation gives the two phases independent pools and scaling policies, but now the system must move KV state and operate two capacity planes.

Keep one pool whenConsider two pools when
Traffic is modest or homogeneousLong prompts measurably damage decode tail latency
Prompts are short and KV transfer would dominateTTFT and TPOT need different replica counts or parallelism
Either phase would idle in a separate poolTraffic is stable enough to keep both pools useful
Operational simplicity is worth more than a narrow gainThe network moves KV faster than the interference it removes
Before adding a GPU

Prove that scale buys useful work

  • Topology dump matches the intended peer links, NICs, NUMA nodes, and scheduler labels.
  • Model heads, layers, experts, quantization groups, and kernel shapes divide across the chosen ranks.
  • Per-rank memory is balanced; one stage or expert does not set the limit.
  • Communication time, overlap, and bytes per step/layer are measured - not inferred from link marketing.
  • Scaling efficiency is reported against one GPU or one node at the same useful workload.
  • Failure and restart behavior is tested for a rank, node, NIC, and collective timeout.
  • The extra throughput or time-to-result is worth the extra GPU, fabric, power, and idle reserve.
scaling efficiency = throughput at N ÷ (N × throughput at 1)
Use the same workload and quality target at 1 and N GPUs.