AI Infra Interviews logo
← Kubernetes, Slurm & GPU Scheduling / 06
mediumNVIDIACoreWeave

Two identical 8-GPU jobs get 8 GPUs each. One runs at half the speed of the other. What did the scheduler do, and how do you stop it?

Use actual rank placement and measured job duration to decide whether waiting for locality beats starting immediately.

Updated Oct 2026 · Learn how AI infrastructure works through explanations, worked examples and diagrams, then practise applying it to interview questions.

TL;DR: Placement changes the paths used by the job's communication groups. Map ranks, GPUs and NICs, then compare matched traces before blaming topology. A compact placement can improve throughput, but the scheduling decision should minimize completion time or meet the stated SLO, including time spent waiting for that placement.

How to approach it

First check that both runs use the same model, inputs, parallelism and software. Identify which group crosses which links. Compare exposed communication and useful update duration, then evaluate waiting versus starting on a less favorable layout.

A strong answer

Two eight-GPU jobs have different throughput. One is on a single node; the other uses multiple worker pods across two nodes. That is a plausible topology difference, not a complete diagnosis. Eight GPUs could be data-parallel replicas, a tensor-parallel group or another layout. A single Kubernetes pod cannot be split across nodes, so first establish the workload's actual structure.

Waiting can finish the job soonerStart now on slower placement14 min runtime → finish at minute 14Wait for compact placement3 min wait + 10 min run = 13 minSame scale: 20 pixels per minute.Wait beyond 4 min loses this benefit.

Topology-Aware Scheduling connects physical locality to the allocation. Record rank-to-device UUID, node, GPU interconnect domain, NIC and NUMA mapping (which CPU socket's memory and PCIe lanes each device sits closest to). Do this after the framework has created its groups; launcher inputs alone may not show the final assignment. Check whether the transport actually uses the intended interface.

Tensor parallelism often has frequent communication, but its cost depends on message sizes, implementation and the overlap schedule. Data parallelism, expert routing and pipeline traffic have different patterns. Even inside one node, PCIe roots and GPU interconnects can differ. Do not assume that all local paths are equal or that cross-node execution is necessarily incorrect.

NCCL's environment documentation provides configuration and diagnostic controls, but forcing an interface or algorithm without a baseline can make another workload worse. Capture the selected path and compare one change at a time.

Use a controlled experiment: the same workload, seeds where relevant, shapes, clock/power settings, warm-up and background load on each placement. Collect useful tokens or updates per second, rank arrival times, collective durations, device activity and network counters. If one rank reaches a collective late because of data loading, the collective's apparent duration can look like a network problem.

A synthetic decomposition illustrates the need to measure exposed time:

Placement A: 800 ms compute + 100 ms exposed communication = 900 ms per step
Placement B: 800 ms compute + 300 ms exposed communication = 1,100 ms per step
B duration / A duration = 1,100/900 ≈ 1.222
B throughput / A throughput = 900/1,100 ≈ 0.818
Sanity: 3× exposed communication does not imply a 3× slower whole step.

Those values are illustrative, not a predicted NVLink-to-network ratio. Nominal link bandwidths may use different directional conventions and cannot be converted directly into application speedups.

Now include queue time. Suppose a job takes ten minutes on a compact layout and fourteen on an available alternative. Waiting three minutes for compact capacity finishes in thirteen, one minute earlier. The break-even wait is four minutes. For an uncertain queue, compare a distribution and deadline risk rather than a single optimistic estimate. Long training runs can justify a larger wait; short interactive jobs may not.

Use hard locality requirements when the job cannot meet memory, correctness or required service constraints otherwise. Use preferences when slower placement remains acceptable. Reverse a strict-locality policy when fragmentation or queue delay outweighs the measured runtime benefit. Reverse the topology diagnosis when matched placement changes do not improve the job or when a late producer explains the difference.

What interviewers probe next

  • "Why log device UUIDs rather than ordinals?" Visibility and enumeration can change local numbering.
  • "Can a group span nodes successfully?" Yes, if the implementation and performance requirements support it.
  • "What should a placement score optimize?" The declared objective, such as completion time, with hard constraints enforced first.

Common mistakes

  • Inferring tensor parallelism from GPU count alone.
  • Dividing nominal link bandwidths to predict step speedup.
  • Ignoring queue delay when enforcing locality.

Key takeaways

  • 900 ms versus 1,100 ms is about an 18.2% throughput reduction.
  • A ten-minute compact run beats a fourteen-minute alternative only if its wait is under four minutes.
  • Verify group membership and actual transport together.
You can read the first 10 answers per topic without an account. Signing in increases that to 20, includes lessons marked Plus, and saves your progress so you can return to topics you want to review.no card · Google sign-in · nothing to cancel
HOW DID IT GO?
0
READING SIGNED OUT

Signing in doubles your free answers, from 10 to 20 per topic, and the site starts remembering you: mastery per topic, bookmarks, and a next-focus recommendation. Free, no card.

Sign in free
UP NEXT ON YOUR JOURNEY
FEDITOR'S NOTE

Compare matched runs and identify the actual communication path. Derive the runtime and queue-wait tradeoff without turning nominal link bandwidth into a predicted speedup.

DISCUSSION · 0

No comments yet — be the first to share your approach.