MPI Allgather+Merge on a Cluster

Bruck vs Circulant

HPC / Parallel Software Engineer · 2025

Implemented and benchmarked 3 Allgather+merge variants up to 640 ranks; parallel variants delivered ~1.5×–2× average speedup, with Circulant typically 10–30% faster than Bruck.

Built a sequential baseline (MPI_Allgather + p-way merge) and two allgather-merge algorithms (generalized Bruck and Circulant). Optimized merge and memory traffic (loser-tree merge, SoA layout, ping-pong buffers), implemented non-blocking and pipelined communication, and analyzed scaling limits (eager threshold/rendezvous handshakes, synchronization walls) on the Hydra cluster at TUW over multiple node/process configurations and message sizes.

Highlights

What I did

Stack

Links