PICO: Performance Insights for Collective Operations — Detailed Summary

Saverio Pasqualoni, Tommaso Bonato, Lorenzo Piarulli, Torsten Hoefler, Marco Canini, Daniele De Sensi | Sapienza University of Rome / KAUST / ETH Zurich | IEEE-conference-style preprint, 2025 | Open-source: https://github.com/HLC-Lab/pico

Per-section summary organized by the paper's heading structure. Each section includes paragraph-level bullet points and exact quantitative results where the paper provides them. Index terms: High performance computing, Performance analysis, Computer networks, Message passing, Software Tools.


Abstract


I. Introduction


II. Motivation and Requirements

C1 — Hardware heterogeneity:

C2 — Software-stack complexity:

C3 — Measurement methodology:

II.A State-of-the-Art Analysis

TABLE I — Qualitative coverage of requirements (checkmark = built-in; partial = external scripting/manual; X = not targeted):

Requirement OMB IMB NCCL-Tests CommBench NetGauge ReproMPI PICO
R1 Fine-grained profiling partial X yes X X partial yes
R2 Backend-neutral references X X X X X yes yes
R3 Portable spec & control partial partial partial yes yes yes yes
R4 Automation & usability partial partial partial yes yes yes yes
R5 Metadata-rich reproducibility X X X X X partial yes
R6 Extensibility across stacks partial X X yes partial X yes

II.B Design Requirements

II.C Workflows and Usability


III. Architecture

III.A Experiment Specification and Control Plane

III.B Execution Engine and Backend Adapters

III.C Backend-Neutral Baselines

III.D Tag-Based Instrumentation for Fine-Grained Attribution

III.E Standardized Results and Metadata Capture

TABLE II — Result data granularity modes:

Mode Description
Full Stores all measurements for each rank and each iteration.
Statistics For each iteration, stores aggregated statistics across ranks.
Minimal Records only the maximum value per iteration.
Summary Stores a single set of statistical aggregates over the iterations for each test point.
None Only stdout output with no values stored.

III.F Analysis and Diagnosis Toolkit


IV. Evaluation

IV.A Collective Tuning

IV.B Algorithmic Differences

IV.C Fine-Grained Instrumentation

Fig. 11b — approximate relative breakdown of instrumented Rabenseifner Allreduce (best-effort reads from the stacked chart):

Msg size Communication Reduction Data Movement
32 B ~92% - -
256 B ~93% - -
2 KiB ~94% - -
16 KiB ~93% - ~7% (Other)
128 KiB ~86% ~8% small
1 MiB ~60% ~19% ~21%
8 MiB ~35% ~29% ~36%
64 MiB ~56% ~23% ~21%
512 MiB ~56% ~24% ~20%

IV.D Simulation Results with ATLAHS


V. Conclusions


VI. Acknowledgments


Consolidated Quantitative Record

Result Value
Default vs best collective algorithm (typical shortfall) 30-40% slower
Worst-case default (LUMI, 64 MiB, large scale) r = 0.20 (5x slower / 20% of optimal)
Broadcast: distance-doubling vs distance-halving @ 512 MiB 757 ms vs 304 ms (2.5x)
Open MPI internal Binomial broadcast @ 512 MiB 1.9 s (~1 order of magnitude slower)
Network volume, 128-node Leonardo (buffer n): doubling ext 122n / int 5n (96% external)
Network volume, 128-node Leonardo (buffer n): halving int 90n / ext 37n (29% external)
UCX_MAX_RNDV_RAILS 2 -> 4 (large messages, Ring, 32 nodes) up to 10% faster
Rabenseifner Allreduce small-message latency 10 us @ 32 B, 11 us @ 256 B, 10 us @ 2 KiB
Rabenseifner comm share swing ~95% -> 35% (8 MiB) -> 56% (64/512 MiB)
Tag instrumentation overhead < 100 ns per tagged region
ATLAHS end-to-end: LLaMA 7B, 16 GPU 21% faster
ATLAHS end-to-end: LLaMA 7B, 128 GPU 44% faster
ATLAHS end-to-end: Mistral MoE, 64 GPU no measurable improvement

Limitations and Future Work (as stated)


Note on NCCL Tuning

PICO's ATLAHS study is a direct demonstration that per-collective algorithm and protocol selection drives end-to-end training time. Replacing NCCL 2.22's default choices — Ring/Simple for AllGather and ReduceScatter — with a profile of Binomial Butterfly + Simple for those two collectives and Tree + LL for the small (<1 KiB) Allreduce cut simulated LLaMA 7B iteration time by 21% at 16 GPUs and 44% at 128 GPUs. The paper also isolates the algorithm-vs-protocol distinction that maps onto NCCL's own knobs: Simple favors large-message bandwidth while LL (flag-based synchronization) favors small-message latency, and the winning protocol tracks the collective's message-size distribution. The MoE null result (where large collectives already favored Ring) is the cautionary counterpart: the best configuration is workload- and size-dependent, not a fixed default, which is exactly the regime a per-collective tuner targets.