ARGUS: Production-Scale Tracing and Performance Diagnosis for over 10,000-GPU Clusters
Abstract: Large-scale LLM training requires always-on, fine-grained observability for effective performance diagnosis at scale. Coarse resource monitors alone cannot localize root causes, and fine-grained profilers incur prohibitive (5%-30%) overheads and massive trace volumes, making always-on deployment impractical in large production clusters. We propose ARGUS, a low-overhead, fine-grained, always-on tracing and real-time analysis system for training workloads in 10,000+ GPU-scale production clusters. ARGUS decomposes observation along the training call hierarchy into CPU call stacks, framework semantics, and GPU kernel execution, with always-on collection under a combined overhead of less than 2%. It builds a unified data pipeline and compresses raw kernel events by approximately 3,700x from 10 MB to 2.7 KB per rank per step. Its progressive diagnosis framework automatically isolates anomalous windows, straggler ranks, and degraded kernels through iteration-time, phase-level, and kernel-level analysis. Deployed for over six months on a 10,000+ GPU production cluster, ARGUS has supported continuous fail-slow detection and performance optimization. Our case studies further demonstrate its effectiveness across representative anomalies, including compute stragglers, link degradation, pipeline-bubble amplification, FlashAttention JIT stalls, and compute stragglers masked by communication symptoms.
Paper Prompts
Sign up for free to create and run prompts on this paper using GPT-5.
Top Community Prompts
Explain it Like I'm 14
What is this paper about?
This paper introduces ARGUS, a tool that watches over huge computer clusters (with more than 10,000 GPUs) while they train large AI models. Its job is to spot slowdowns quickly, figure out exactly what’s going wrong, and do all of this continuously without noticeably slowing training down.
Think of a giant factory with thousands of workers (GPUs) building a product together in lockstep. If even one worker slows down, the whole line waits. ARGUS is like a smart, always-on supervisor that notices slowdowns, finds which worker is lagging, and pinpoints which task is causing the delay—without getting in the way.
What questions did the researchers ask?
- Can we continuously monitor very large AI training jobs at a fine level of detail without adding much extra time or cost?
- When training gets slower (without crashing), can we quickly find which machines are slow and which exact operations cause the slowdown?
- Can we analyze mountains of performance data in real time across thousands of GPUs?
- Can one system do all of this at once: be always-on, very detailed, fast to analyze, and practical at huge scale?
How did they do it?
They designed ARGUS to watch training at three levels, like looking at a factory from above, then zooming in on assembly lines, and finally on individual actions:
- CPU call stacks (the “boss’s desk”): Shows what the computer’s main program (Python) is doing—useful for spotting things like data loading delays or pauses in the program.
- Framework “semantics” (the “assembly stages”): Marks big phases of training on the GPU, such as forward pass, backward pass, optimizer step, and communication between machines. This tells you which stage is taking longer.
- GPU kernel activity (the “tiny tasks”): Records every small GPU operation (a “kernel”), when it starts, how long it runs, and on which lane (“stream”) it runs.
To handle the huge amount of data, ARGUS uses a two-path data pipeline:
- A real-time path that sends small, structured summaries to a time-series database for dashboards and alerts.
- A storage path that saves detailed timelines (Perfetto traces) for deep-dive investigations later when needed.
The key trick: smart compression of GPU events. Instead of sending every tiny event, ARGUS groups similar events and summarizes them using a few simple stats (like typical time and tail-end slow time). It uses a method like looking at a mountain range and finding valleys between peaks to split different “kinds” of the same operation by how long they take. This reduces raw data by about 3,700 times (for example, from about 10 MB down to about 2.7 KB per GPU per training step), making it possible to compare thousands of GPUs in real time.
Finally, ARGUS diagnoses problems in stages (progressively narrowing down where to look):
- Level 1: Spot unusual time spikes in training steps (when did things get slow?).
- Level 2: Find which training phase (like forward or communication) and which group of GPUs (“ranks,” think “workers”) are the stragglers.
- Level 3: Identify the exact GPU operation (“kernel”) that’s slower on the slow ranks, using a distance score that shows how different one worker’s timing is from the others.
- Level 4/5: If needed, engineers inspect the saved detailed timelines and CPU stacks to confirm the root cause.
All of this runs continuously with very low overhead (less than 2% slowdown).
What did they find?
- Always-on, fine-grained monitoring with less than 2% overhead: ARGUS can run the whole time during training and barely slows it down.
- Huge data reduction: It compresses detailed GPU event data by about 3,700x, enabling live, cross-machine comparisons across more than 10,000 GPUs.
- Real-time diagnosis at scale: ARGUS can quickly detect odd time windows, identify which ranks are slow, and pinpoint which kernels are misbehaving—often within minutes.
- Deployed in the real world: It ran for over six months on a production cluster with more than 10,000 GPUs.
- Caught real problems, including:
- Compute stragglers (some GPUs doing math much slower than others)
- Communication link degradation (network issues between GPUs)
- Pipeline “bubble” amplification (idle gaps growing in pipeline-parallel training)
- JIT compilation stalls (waiting for on-the-fly code building, like FlashAttention)
- Slow compute hidden behind communication symptoms (misleading signals that ARGUS could untangle)
They also showed that popular profilers (like PyTorch Profiler or Nsight Systems) are too heavy to run all the time at this scale—they slow things down a lot or even break training—while ARGUS stays light and reliable.
Why does it matter?
Training today’s biggest AI models uses huge amounts of compute time and money. A few hidden slowdowns can waste thousands of GPU-hours. By finding and explaining slowdowns quickly and precisely, ARGUS helps:
- Save time and cost by keeping training efficient
- Make troubleshooting faster and less guessy
- Guide engineers to the exact place to fix (or optimize) code, hardware, or network
- Keep large training runs stable and predictable
Beyond AI training, the ideas in ARGUS—lightweight, layered monitoring; smart data compression; and progressive, real-time diagnosis—could inspire tools for other massive, complex computer systems where you need to watch everything without getting in the way.
Knowledge Gaps
Knowledge gaps, limitations, and open questions
Below is a single, concrete list of what remains missing, uncertain, or unexplored in the paper, framed to guide future research and engineering work:
- Hardware/vendor portability: ARGUS relies on CUDA/CUPTI, CUDA Events, and NCCL; support for AMD/ROCm (RCCL), Intel GPUs, or heterogeneous clusters is not addressed.
- Framework coverage and maintenance: The framework semantics layer requires explicit instrumentation at “clear” phase boundaries; scalability to diverse frameworks (e.g., JAX/TF, custom PyTorch forks), evolving operator stacks, and fused/JITed ops is not evaluated.
- Communication stream identification robustness: The approach depends on NCCL internal stream selection and custom logic; resilience to NCCL version changes, custom collectives, or non-NCCL comm paths is unclear.
- Asynchronous/elastic training: The methods target synchronous LLM training; applicability to elastic or asynchronous paradigms (e.g., ZeRO-Async, parameter-server, speculative/async pipeline schedules) is untested.
- Pipeline parallelism comparability: L2 cross-rank comparisons use parallelism-group routing, but the paper does not detail stage-aware normalization for pipeline parallelism where stage durations inherently differ; risk of false positives remains.
- MoE/load-imbalance expectations: MoE routing can legitimately induce per-rank variation; how thresholds (CV/z-scores) are adapted to expected dynamic load imbalance is not described.
- Time-window alignment and sampling: Detection relies on per-window statistics; the impact of window length, alignment across ranks, and low-event-count windows on KDE stability and false positives is not quantified.
- KDE clustering sensitivity: The bandwidth choice (Scott’s rule), valley detection, and filtering thresholds are not stress-tested for noisy, heavy-tailed, or scarce data; behavior under mode drift or when clusters are weakly separated is unvalidated.
- Distribution reconstruction assumptions: Kernel duration CDFs are reconstructed assuming log-normal components using only p50 and p99; the fidelity of this approximation and its impact on W1-based detection across diverse kernels is not evaluated.
- Detection accuracy metrics: There is no systematic evaluation (e.g., ROC/precision–recall) of L1–L3 false positive/negative rates under controlled fault injection or diverse workloads.
- Comparative baselines: While overhead is compared to nsys and PyTorch Profiler, detection capability is not compared quantitatively to systems like FLARE, EROICA, C4, or Greyhound.
- Stream assignment instability: Cross-rank comparisons are keyed by (kernel, stream); how ARGUS handles legitimate cross-rank differences in stream assignment or fused kernel renaming is not specified.
- Loss of sequencing semantics: KDE-based compression collapses per-kernel distributions and discards ordering/causal relations; methods to retain lightweight sequence motifs for overlap/critical-path inference are not explored.
- Critical path automation at scale: L4 mentions offline critical path analysis; automated, scalable, rank- and window-wide critical-path extraction and attribution are not integrated into the online pipeline.
- Root-cause enrichment: Duration-only kernel stats lack microarchitectural context (SM occupancy, memory bandwidth, warp stalls); integrating HW counters (e.g., DCGM/NVML, CUPTI metrics) for automated cause classification is left unexplored.
- CPU-side visibility gaps: py-spy samples Python stacks only; stalls in native C++/CUDA runtime, I/O, or kernel-space (scheduler, page faults) are not visible; eBPF/perf integration is not discussed.
- Cross-job interference: Distinguishing job-local issues from cluster-level congestion (e.g., fabric hotspots due to other jobs) is not addressed; no cross-job correlation layer is described.
- Scalability of the Processor: A single Processor per host handles parsing, compression, and storage; CPU and memory overheads, and backpressure behavior under worst-case kernel rates or many ranks per host, are not benchmarked.
- End-to-end data-plane resilience: Failure handling for Processor crashes, Metric Storage overload, or Object Storage backpressure (data loss, throttling policies, priority between online metrics and traces) is not described or evaluated.
- Storage and retention economics: Persisting “complete Perfetto traces” for all ranks/steps can reach multi-terabyte/hour scales at 10k+ GPUs; retention policies, sampling strategies, or summarization for long runs are not defined.
- Network/TSDB scaling: The claimed ~2.7 GB/min aggregate metric upload is not stress-tested against production TSDB limits, multi-tenant contention, WAN segments, or failure modes.
- Overhead variability: Overhead is measured on 8- and 32-GPU setups and one model; worst-case overhead for micro-kernel-heavy workloads, different GPU generations (A100/H100), PCIe-only nodes, or extreme NCCL rates remains uncharacterized.
- Impact on training stability: Apart from nsys/Profiler baselines, there is no analysis of ARGUS effects on determinism, numerical stability, or interaction with other injected libraries in complex production stacks.
- Automated mitigation: The system localizes anomalies but does not close the loop (e.g., automatically isolating/remediating bad ranks, rerouting collectives, triggering reboots, or notifying schedulers); policies and safety for auto-actions are open.
- Parameterization transparency: Key parameters (window sizes, jitter thresholds, IQR coefficient α, valley spacing) and their tuning/auto-tuning for different jobs are not detailed.
- Heterogeneous clusters: Behavior when jobs span mixed GPU models, clock domains, or DVFS/thermal throttling states is not discussed; normalization strategies are absent.
- Security and isolation: Risks of always-on process memory reading (py-spy) and library injection (CUDA_INJECTION64_PATH) in multi-tenant environments, and guardrails to prevent data leakage across tenants, are not addressed.
- Applicability beyond training: Generalization of ARGUS to inference, data preprocessing pipelines, or non-LLM GPU workloads (e.g., CV, RL) is not examined.
- User experience and MTTR: The paper does not quantify improvements to mean time to detection/repair, usability of Grafana/Perfetto workflows, or the learning curve for operators.
- Integration with schedulers: Hooks to cluster orchestrators (e.g., Kubernetes/SLURM) for anomaly-aware scheduling, job resubmission, or capacity planning are not covered.
- Handling evolving operator graphs: Dynamic shapes, JIT/fusion variability, or frequent kernel name changes may erode cross-rank comparability; strategies for robust canonicalization or operator-to-kernel mapping are not provided.
- Communication attribution details: L2 claims to decide whether comm delays are local vs. waiting on peers, but the precise algorithm, assumptions, and limitations (e.g., mixed-topology collectives) are not described.
- Privacy/compliance: Policies for redacting sensitive operator names, model structures, or paths in traces/metrics for regulated environments are not discussed.
Practical Applications
Immediate Applications
The paper’s methods enable several deployable, concrete workflows and products across sectors that train or operate GPU-accelerated systems. Below are actionable uses you can adopt now.
- Always‑on GPU training observability to cut fail‑slow waste
- Sectors: software/AI, cloud, enterprise ML, HPC (healthcare imaging, finance risk, energy simulation), gaming/graphics R&D
- What to deploy: a sidecar observability agent (CUPTI-based kernel tracing + CUDA event instrumentation + py-spy sampling), Vector-based ingestion, Prometheus + Grafana dashboards, Perfetto storage for deep dives; alerting on iteration spikes, phase CV/z-scores, kernel-level W1 distance anomalies
- Where it fits: MLOps pipelines; Slurm/Kubernetes jobs; Megatron/DeepSpeed/FSDP/FairScale training
- Dependencies/assumptions: NVIDIA CUDA/CUPTI availability; stable training semantics (DP/TP/PP/EP known); time-series DB capacity; synchronous or semi-synchronous training to enable cross-rank comparison; access to object storage for traces
- Real-time fail‑slow triage and rapid root‑cause localization
- Sectors: software/AI, cloud, datacenter operations
- What to deploy: progressive diagnosis workflow (L1 iteration anomalies, L2 phase-level stragglers with parallel-group routing, L3 kernel-level anomaly detection using KDE summaries + W1), on-call playbooks to isolate suspect ranks/windows, Perfetto trace inspections for confirmation
- Expected impact: minutes-to-resolution triage for compute stragglers, link degradation, pipeline-bubble amplification, JIT stalls
- Dependencies/assumptions: group-aware mapping of events (DP/TP/PP/EP) maintained; Grafana/Perfetto integrated access for engineers
- ML training SLOs and alerting integrated with orchestration
- Sectors: cloud providers, enterprise IT, MLOps platforms
- What to deploy: SLO budgets for iteration time variance/regressions; automated alerts when CV/z-score thresholds or W1-based deviations exceed fences; integration with Kubernetes/Slurm for job annotations and escalation
- Dependencies/assumptions: organizational policy for SLOs; webhook/ticketing integration (PagerDuty/Jira); consistent tagging of jobs
- Node/link quarantine and maintenance workflows
- Sectors: datacenter operations, cloud
- What to deploy: automatic cordon/quarantine of nodes with recurrent kernel-level anomalies; ticketing for network links with sustained communication kernel deviations; runbooks for NCCL route checks and hardware diagnostics
- Dependencies/assumptions: authority to remove/cordon resources from schedulers; coordination with network/hardware teams
- Cost and carbon efficiency dashboards for training jobs
- Sectors: policy/ESG reporting, enterprise IT, cloud FinOps
- What to deploy: dashboards combining iteration inefficiency (wasted GPU-hours from spikes/regressions) with energy/CO₂ estimates; weekly reports per team/job; cost attribution to fail-slow events
- Dependencies/assumptions: energy telemetry or power models; billing integration; governance acceptance of measurement methodology
- HPC application performance monitoring (beyond LLMs)
- Sectors: energy (CFD, grid sim), healthcare (molecular dynamics), finance (Monte Carlo), manufacturing (CAE)
- What to deploy: adapt kernel-trace compression + cross-rank distribution comparison to CUDA-based MPI jobs; compare within communicator groups (map parallelism routing to MPI communicators)
- Dependencies/assumptions: CUDA kernels present; synchronous collectives or well-defined groups; adaptation of semantics instrumentation to domain phases; potential ROCm/Intel GPU gaps
- Debugging Python/host-side stalls in data pipelines
- Sectors: software/AI, data engineering
- What to deploy: continuous py-spy sampling streamed per window; correlate long semantic phases with normal GPU execution; fix GIL/contention, I/O stalls, data augmentation bottlenecks
- Dependencies/assumptions: permission to sample processes; adherence to security policies; minimal overhead validated (<2%)
- Training regression gating in CI for model code changes
- Sectors: software/AI, MLOps
- What to deploy: add short “canary” runs with ARGUS metrics; gate merges on iteration/phase/kernel drift beyond baselines (W1/IQR thresholds); store reference kernels’ summaries
- Dependencies/assumptions: reproducible microbenchmarks; budget for canary runs; baseline management
- Vendor-agnostic dashboards for engineers
- Sectors: software/AI, education (university clusters)
- What to deploy: Grafana panels for per-rank iteration, phase durations, kernel heatmaps; Perfetto timelines for deep-dive labs; use in performance engineering courses
- Dependencies/assumptions: cluster ops willing to expose read-only dashboards; anonymized traces for teaching/research
- Lightweight telemetry compression service
- Sectors: software tooling, observability vendors
- What to deploy: standalone “online KDE compressor” library/service for high-volume latency telemetry (converts events to p50/p99/count clusters in log-space); plug into existing pipelines
- Dependencies/assumptions: log-normal-ish latency distributions; window sizes tuned to workload; validation in target systems
- Managed training observability offering
- Sectors: cloud providers, AI platforms
- What to deploy: a hosted “ARGUS-as-a-service” with agents, metric stores, and dashboards; per-job anomaly summaries; customer-facing SLAs for training efficiency
- Dependencies/assumptions: multi-tenant isolation for traces; customer consent; GPU vendor compatibility
- Small-lab and startup cluster hygiene
- Sectors: startups, research labs (daily life for practitioners)
- What to deploy: install the sidecar on 1–32 GPU rigs; use kernel summaries to spot misconfigurations (e.g., pinned memory, dataloader, NCCL envs); fix slowdowns before long runs
- Dependencies/assumptions: basic DevOps capacity; NVIDIA GPUs; simple Prometheus/Grafana setup
Long‑Term Applications
The paper’s innovations suggest larger-scale or more automated capabilities that need additional research, engineering, or standardization.
- Closed-loop remediation for training jobs
- Sectors: cloud, enterprise ML, orchestration platforms
- What could emerge: automated actions triggered by L2/L3 detections—node eviction, NCCL route reshaping, DP/TP/PP rebalancing, microbatch tweaks, disabling problematic kernels/fusions, dynamic JIT warmups
- Dependencies/assumptions: safe rollback strategies; framework hooks for dynamic reconfiguration; robust causality checks to avoid oscillations
- Predictive maintenance for GPUs and networks
- Sectors: datacenter ops, OEMs
- What could emerge: models trained on kernel-level deviation histories to anticipate failing GPUs, HBM, NVLink/NVSwitch/InfiniBand issues; maintenance scheduling before fail-slow cascades
- Dependencies/assumptions: labeled incident data; integration with hardware telemetry; privacy constraints
- Cross-vendor and accelerator support
- Sectors: semiconductor, cloud
- What could emerge: ROCm/roctracer/rocprofiler and Intel/oneAPI backends; TPU/ASIC abstractions; standard “GPU kernel telemetry” schema
- Dependencies/assumptions: equivalent APIs for kernel events and streams; stream/queue semantics; collaboration with vendors
- Open standard for GPU observability (OpenTelemetry for accelerators)
- Sectors: software tooling, standards bodies
- What could emerge: a spec for kernel/phase semantics, stream IDs, percentile summaries, and W1-compatible exports; shared collectors and dashboards
- Dependencies/assumptions: community alignment; backward compatibility; licensing
- Generalization to other distributed systems
- Sectors: web/cloud microservices, databases, stream processing
- What could emerge: apply KDE clustering + W1 comparison across replicas/shards to detect tail-latency regressions; per-service “straggler” detectors in SRE stacks
- Dependencies/assumptions: per-replica latency samples; stationarity within windows; mapping of “parallel groups” to service rings or shards
- Compiler/runtime co-optimization loops
- Sectors: AI compilers (TorchInductor, Triton, XLA), software/AI
- What could emerge: feed anomaly signals back to compilers to choose alternative kernels/fusions, adjust autotuning, or pre-JIT compile hotspots; runtime toggles based on observed distributions
- Dependencies/assumptions: interfaces between observability and compilers; reproducibility; overhead control
- Energy- and carbon-aware training controllers
- Sectors: policy/ESG, cloud, energy
- What could emerge: controllers that defer or move jobs when fail-slow waste spikes in high-carbon periods; integrate per-iteration efficiency into carbon accounting and reporting mandates
- Dependencies/assumptions: grid carbon intensity feeds; policy acceptance; cross-team governance
- Streamed, sublinear-time anomaly detection research
- Sectors: academia, observability vendors
- What could emerge: improved streaming approximations for W1 on mixtures, adaptive bandwidth KDE, heavy-tail modeling, sequential change detection; confidence-bound alerts
- Dependencies/assumptions: theoretical advances; open datasets; replication studies
- Robust support for dynamic and asynchronous training
- Sectors: software/AI
- What could emerge: extensions to handle curriculum learning, dynamic shapes, elastic/async SGD where cross-rank comparability is weaker; per-role clustering strategies
- Dependencies/assumptions: new grouping heuristics; more contextual metadata from frameworks
- Fair billing and SLA models incorporating fail‑slow credits
- Sectors: cloud, finance/FinOps
- What could emerge: customer credits when provider-side fail-slow degrades iteration time beyond SLOs; transparent efficiency metrics on invoices
- Dependencies/assumptions: trusted measurement standards; legal/commercial adoption
Notes on Key Assumptions and Dependencies
- Hardware and vendor APIs: The implementation assumes NVIDIA GPUs with CUDA/CUPTI and CUDA events. Porting to AMD/Intel/TPU requires alternative tracing backends and stream semantics.
- Workload characteristics: Cross-rank comparison assumes ranks share roles and synchronous behavior; methods need adaptation for highly asynchronous or elastic jobs.
- Statistical modeling: KDE-based clustering and log-normal mixture reconstruction assume right-skewed, log-normal-like duration distributions; window sizing and bandwidth selection affect fidelity.
- Data infrastructure: Real-time storage (Prometheus-compatible) and object storage (for Perfetto traces) must scale with cluster size; network overhead and multi-tenant isolation must be managed.
- Security/compliance: py-spy sampling and trace collection must comply with org security policies; PII or sensitive code paths should be filtered or redacted where necessary.
These applications translate the paper’s contributions—low-overhead hierarchical tracing, online KDE compression, and progressive diagnosis—into deployable observability, SRE, and optimization workflows that reduce wasted compute, improve reliability, and enable data-driven performance governance.
Glossary
- All-Reduce: A collective communication primitive that aggregates values across all ranks and distributes the result back to all ranks. Example: "dp-allreduce"
- AllGather: A collective operation that gathers data from all ranks and concatenates it on every rank. Example: "AllGather"
- AllToAll: A collective exchange where each rank sends distinct data to every other rank. Example: "AllToAll communi- cation"
- Backpressure: A flow-control mechanism that limits producers when consumers or buffers are saturated. Example: "backpressure"
- CDF (Cumulative Distribution Function): A function giving the probability that a random variable is less than or equal to a value. Example: "the CDF of the standard normal distribution."
- Change-point detection: Statistical methods for finding times when the properties of a time series change. Example: "change-point detec- tion"
- Coefficient of variation (CV): A normalized measure of dispersion (standard deviation divided by mean). Example: "coefficient of variation (CV)"
- Collective communication: Communication patterns that involve groups of ranks (e.g., all-reduce, all-gather). Example: "collective communication selects the stream"
- Critical path analysis: Identifying the longest dependency chain that determines overall execution time. Example: "critical path analysis"
- CUDA Events: GPU-side timestamps used to measure device execution intervals precisely. Example: "ARGUS inserts CUDA Events at the entry and exit of key framework phases"
- CUDA stream: An ordered sequence of operations on the GPU that execute in issue order. Example: "the CUDA stream on which the target phase actually executes."
- CUDA_INJECTION64_PATH: An environment variable used to inject shared libraries into CUDA processes at startup. Example: "CUDA_INJECTION64_PATH"
- CUPTI Activity API: NVIDIA’s profiling API for recording GPU activities such as kernel launches and durations. Example: "via the CUPTI Activity API [29]"
- Data parallelism (DP): Replicating model parameters across devices and splitting input data among replicas. Example: "data parallelism (DP)"
- Earth Mover's Distance: A metric for quantifying differences between distributions by the minimal “work” to transform one into another. Example: "also known as Earth Mover's Distance"
- Expert parallelism (EP): Parallelizing models with Mixture-of-Experts by distributing experts across devices. Example: "expert parallelism (EP)"
- Fail-slow: Performance degradation that slows progress without causing explicit failures. Example: "fail-slow refers to performance degradation in any component"
- Fail-stop: A failure mode where execution halts abruptly and visibly. Example: "fail-stop failures"
- FlashAttention: An optimized attention algorithm designed for memory and speed efficiency on GPUs. Example: "FlashAttention JIT stalls"
- FSDP: Fully Sharded Data Parallel, a technique that shards model parameters, gradients, and optimizer states. Example: "FSDP [44]"
- Gaussian kernel: A smoothing kernel used in KDE that applies a Gaussian (normal) weighting function. Example: "Gaussian kernel function"
- GIL (Global Interpreter Lock): A Python mechanism allowing only one thread to execute Python bytecode at a time. Example: "GIL contention"
- Holistic Trace Analysis: A methodology for analyzing end-to-end traces to determine performance bottlenecks. Example: "Holistic Trace Analysis [25]"
- Hybrid parallelism: Combining multiple parallelism strategies (e.g., DP, TP, PP, EP) in one training setup. Example: "hybrid parallelism"
- Interquartile range (IQR): The difference between the 75th and 25th percentiles, used for robust outlier detection. Example: "interquartile range (IQR)"
- JIT compilation: Just-in-time compilation that compiles code during execution to optimize performance. Example: "JIT compilation block- ing"
- Kernel density estimation (KDE): A non-parametric technique to estimate a probability density function from samples. Example: "kernel density estimation (KDE) cluster- ing [36]"
- KL divergence: A measure of how one probability distribution diverges from another reference distribution. Example: "KL divergence"
- KS statistic: The Kolmogorov–Smirnov statistic for quantifying the maximum difference between two empirical CDFs. Example: "the KS statistic"
- Log-normal assumption: Modeling durations as log-normally distributed, often suitable for right-skewed timing data. Example: "log-normal assumption"
- Megatron: A framework for large-scale LLM training with advanced parallelism strategies. Example: "Megatron [27, 37]"
- NCCL: NVIDIA Collective Communications Library for multi-GPU/multi-node communication. Example: "NCCL [30]"
- NVLink: NVIDIA’s high-bandwidth interconnect for GPU-to-GPU communication. Example: "NVLink."
- Observer effect: Measurement overhead altering the behavior being measured. Example: "induces an observer effect"
- Parallelism-group-aware routing: Comparing only ranks that share the same parallel role to avoid false anomalies. Example: "parallelism-group-aware routing"
- Perfetto: A performance tracing and visualization tool for timelines across CPU and GPU. Example: "Perfetto loads execution traces from object storage"
- Pipeline bubble: Idle time in pipeline parallelism due to imbalance or pipeline fill/drain effects. Example: "pipeline-bubble amplification"
- Pipeline parallelism (PP): Splitting model layers into stages across devices to form a processing pipeline. Example: "pipeline parallelism (PP)"
- Prometheus Remote Write: A protocol to push time-series metrics into a Prometheus-compatible backend. Example: "Prometheus Remote Write protocol [4]"
- py-spy: A sampling profiler for Python that can capture call stacks without modifying code. Example: "ARGUS employs py-spy [14]"
- Reduce-Scatter: A collective that reduces inputs across ranks and scatters partitions of the result to different ranks. Example: "dp-reduce-scatter"
- Ring buffer: A fixed-size circular buffer used to pre-allocate and reuse memory for streaming traces. Example: "CUPTI ring buffer"
- Scott's rule: A rule-of-thumb for selecting KDE bandwidth based on sample variance and size. Example: "Scott's rule [36]"
- SendRecv: A point-to-point communication primitive that sends and receives data between specific ranks. Example: "SendRecv"
- Tensor parallelism (TP): Splitting individual tensor operations across devices to parallelize computation within layers. Example: "tensor parallelism (TP)"
- Time-series database: A storage system optimized for time-indexed metrics and queries. Example: "time-series database"
- Trapezoidal numerical integration: A numerical method integrating functions by approximating areas with trapezoids. Example: "trapezoidal numerical inte- gration"
- Unix domain socket: An IPC mechanism for efficient communication between processes on the same host. Example: "Unix domain socket"
- Wasserstein-1 distance (W1): A true metric (Earth Mover’s Distance) measuring how much “work” is needed to transform one distribution into another. Example: "Wasserstein- 1 distance (W1, also known as Earth Mover's Distance)"
- ZeRO: Zero Redundancy Optimizer that partitions optimizer states to reduce memory footprint during training. Example: "ZeRO [34]"
- z-score: A standardized score indicating how many standard deviations a value is from the mean. Example: "z-scores"
Collections
Sign up for free to add this paper to one or more collections.