Papers
Topics
Authors
Recent
Search
2000 character limit reached

ARGUS: Production-Scale Tracing and Performance Diagnosis for over 10,000-GPU Clusters

Published 18 Jun 2026 in cs.DC | (2606.20374v1)

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.

Summary

  • The paper introduces ARGUS, a low-overhead (under 2%) system that enables continuous, fine-grained tracing and performance diagnosis for multi-thousand GPU training clusters.
  • It employs a hierarchical approach combining CPU sampling, framework instrumentation, and kernel-level GPU tracing with statistical compression to reduce data volume by 3,700x.
  • Its progressive multi-level diagnosis effectively isolates fail-slow modes and root causes, setting a new standard for scalable observability in large-scale deep learning.

ARGUS: Production-Scale Fine-Grained Tracing and Diagnosis for Multi-Thousand-GPU Training

Motivation and Context

The acceleration in large-scale LLM pretraining has driven a shift from tens or hundreds to tens of thousands of GPUs per job, dramatically amplifying the operational complexity and cost of fail-slow scenarios in synchronous model training. Fail-slows—non-crashing, often intermittent performance degradations—cause massive waste of compute, yet remain invisible to coarse resource monitors and are not actionable with their diagnostic granularity. Approaches limited to iteration time monitoring or communication operator profiling are insufficient, while existing fine-grained profilers, such as PyTorch Profiler and NVIDIA Nsight Systems, are impractical for always-on deployment due to prohibitive overhead (5–44%), data volume (hundreds of GB/min at scale), and induced observer effects that distort training behavior.

Architectural Contributions

ARGUS introduces a comprehensive design which addresses the fundamental trade-off between observability granularity, system overhead, and scalability:

  • Hierarchical Decomposition of Observability: Rather than a monolithic profiler architecture, ARGUS implements three orthogonal data collection channels. (1) CPU call stack sampling (via py-spy) enables the disambiguation of host-side bottlenecks and issues such as Python GIL contention, data loading stalls, or GC pauses. (2) Framework semantics instrumentation leverages lightweight CUDA event placement at semantic boundaries (forward, backward, optimizer, communication), capturing real device-side timing unperturbed by host scheduling. (3) Kernel-level GPU tracing is performed using the CUPTI Activity API, decoupled from the critical training path and enabled via selective process injection and buffer reuse to keep system overhead below 2%.
  • Unified Data Pipeline and Statistical Compression: ARGUS separates high-volume trace data from lightweight structured metrics via a multi-stage pipeline. CUPTI activity records are compressed online using kernel density estimation (KDE)-based clustering and mixture-based CDF reconstruction, enabling reduction of raw kernel traces by approximately 3,700x (10 MB to 2.7 KB per rank per step) without sacrificing anomaly detection sensitivity. This allows real-time, cluster-wide, cross-rank analysis even at 10,000-GPU scale. Fine-grained traces are persisted asynchronously (in Perfetto format) for on-demand, high-fidelity deep-dive analysis.
  • Progressive Multi-Level Diagnosis Framework: ARGUS integrates a multi-level anomaly diagnosis pipeline: (L1) iteration-level and (L2) semantics-level anomaly detectors, (L3) kernel-level distribution outlier detection using Wasserstein-1 distances on reconstructed CDFs, and (L4/L5) manual deep-trace and CPU stack root-cause confirmation. Each stage narrows the search space from thousands of ranks to a handful of suspects with single-digit time windows.

Empirical Evaluation and Numerical Claims

ARGUS has been continuously deployed in production at over 10,000-GPU scale for more than six months, supporting synchronous distributed training jobs exceeding a month in duration.

Key empirical results:

  • System Overhead: ARGUS maintains a total runtime overhead below 2% (across all three data sources) for both 8-GPU and 32-GPU jobs, with constant memory overhead due to streaming and backpressure controls. In contrast, PyTorch Profiler and Nsight Systems add 20–44% overhead (or fail due to OOM/hangs), rendering them unusable for always-on observability.
  • Scalability: Online compression allows sustainable ingestion and processing at production data rates: cluster-wide, structured metric uploads (18.7 KB per rank per step) amount to 2.7 GB/min cluster-wide—tractable for modern time-series databases and enabling cluster-scale cross-rank anomaly detection in real time.
  • Compression Ratios: CUPTI traces achieve 3,700x reduction compared to raw (from 10 MB to 2.7 KB per rank per step) while preserving sufficient fidelity for outlier detection via CDF reconstruction and Wasserstein analysis.
  • Diagnostic Precision: Case studies demonstrate successful root-cause isolation for a spectrum of fail-slow modes, including hardware degradation, network issues, pipeline bubble amplification, JIT compilation stalls, and multi-group propagation artifacts that are not detectable by previous iteration/communication-only systems.

Discussion and Implications

ARGUS decisively closes the gap between continuous, system-wide operation and actionable, kernel-level diagnostic precision for production clusters at exascale throughput. The progressive, data-driven diagnosis workflow allows for rapid isolation of straggler ranks, distinguishing between compute, communication, and host-side stalls, and supports offline critical path and call stack analysis when warranted. It is demonstrated to adapt to masking effects (“bubble transfer”) in sophisticated pipeline parallelism, and can distinguish compute-degradation-induced secondary communication delays from true network faults—a task out-of-band infrastructure monitors consistently misdiagnose.

Technically significant implications:

  • Shift in Observability Paradigm: ARGUS demonstrates that fine-grained trace collection, once considered too expensive for massive clusters, is achievable at scale by decoupling data representation from online analysis and utilizing statistical summaries instead of retaining raw sample fidelity cluster-wide.
  • Generality and Low Invasiveness: The use of external sampling, environment injection, and API-level instrumentation enables ARGUS deployment without code modification, supporting a diversity of training frameworks, including RL training and inference workloads.
  • Foundations for Autonomous Diagnosis: While root cause analysis remains partially manual, the integration of LLM-based agents is under development, suggesting that in the near future, most fail-slow resolution—including anomaly identification, scope narrowing, and root cause reporting—can be automated, minimizing human-in-the-loop operational cost.

Prospects and Future Work

ARGUS sets a practical standard for observability infrastructure in large-scale AI training, effectively bridging the gap left by previous methods that were either too coarse, too expensive, or too slow for practical use. Open avenues for further research and engineering include:

  • Full integration of automated reasoning agents for closed-loop remediation, leveraging the structured diagnostic data now available at every granularity.
  • Extension of the diagnosis workflow to cover asynchronous, pipeline interleaved, and hierarchical multi-job training settings.
  • Generalization of statistical compression and anomaly detection methods for heterogeneous architectures (beyond CUDA GPUs) and other high-throughput, low-latency distributed computing domains.

Conclusion

ARGUS introduces a production-proven, always-on, low-overhead, and fine-grained tracing and analysis system for diagnosing and optimizing training workloads across clusters comprising more than 10,000 GPUs (2606.20374). By architecting hierarchical observation, real-time scalable statistical compression, and multi-level progressive diagnosis, ARGUS enables actionable detection and localization of fail-slow modes previously opaque to system operators. The system demonstrates that operational efficiency and diagnostic accuracy at exascale are not mutually exclusive goals, and positions itself as a critical component for sustained scientific and industrial progress in large-scale deep learning.

Paper to Video (Beta)

No one has generated a video about this paper yet.

Whiteboard

No one has generated a whiteboard explanation for this paper yet.

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"

Open Problems

We haven't generated a list of open problems mentioned in this paper yet.

Collections

Sign up for free to add this paper to one or more collections.

Tweets

Sign up for free to view the 2 tweets with 39 likes about this paper.