Distributed Discrete Morse Sandwich: Efficient Computation of Persistence Diagrams for Massive Scalar Data
Eve Le Guillou, Pierre Fortin, Julien Tierny
TL;DR
The paper addresses the scalability challenge of computing persistence diagrams for massive 3D scalar fields by extending the fast Discrete Morse Sandwich (DMS) algorithm to distributed-memory systems, yielding the Distributed Discrete Morse Sandwich (DDMS). It introduces a hybrid MPI+OpenMP implementation with a self-correcting distributed pairing for $\mathcal{D}_0$ and $\mathcal{D}_2$, a distributed extension of PairCriticalSimplices for $\mathcal{D}_1$, computation tokens, and a dedicated communication thread to overlap communication and computation. The approach delivers strong and weak scaling up to 16 nodes (512 cores), achieving up to an 8× speedup over DIPHA and handling a 6 billion-vertex dataset in 174 seconds on 512 cores, with open-source availability for reproducibility. These results establish DDMS as a practical, scalable solution for topological data analysis on massive datasets and lay groundwork for future enhancements in memory efficiency and heterogeneous architectures.
Abstract
The persistence diagram, which describes the topological features of a dataset, is a key descriptor in Topological Data Analysis. The "Discrete Morse Sandwich" (DMS) method has been reported to be the most efficient algorithm for computing persistence diagrams of 3D scalar fields on a single node, using shared-memory parallelism. In this work, we extend DMS to distributed-memory parallelism for the efficient and scalable computation of persistence diagrams for massive datasets across multiple compute nodes. On the one hand, we can leverage the embarrassingly parallel procedure of the first and most time-consuming step of DMS (namely the discrete gradient computation). On the other hand, the efficient distributed computations of the subsequent DMS steps are much more challenging. To address this, we have extensively revised the DMS routines by contributing a new self-correcting distributed pairing algorithm, redesigning key data structures and introducing computation tokens to coordinate distributed computations. We have also introduced a dedicated communication thread to overlap communication and computation. Detailed performance analyses show the scalability of our hybrid MPI+thread approach for strong and weak scaling using up to 16 nodes of 32 cores (512 cores total). Our algorithm outperforms DIPHA, a reference method for the distributed computation of persistence diagrams, with an average speedup of x8 on 512 cores. We show the practical capabilities of our approach by computing the persistence diagram of a public 3D scalar field of 6 billion vertices in 174 seconds on 512 cores. Finally, we provide a usage example of our open-source implementation at https://github.com/eve-le-guillou/DDMS-example.
