arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2202.08808cs.DC
收藏

MPI分布图的快速动态更新和动态SpGEMM

Fast Dynamic Updates and Dynamic SpGEMM on MPI-Distributed Graphs

Alexander van der Grinten, Geert Custers, Duy Le Thanh, Henning Meyerhenke

摘要:

稀疏矩阵乘法(SpGEMM)是在许多不同的应用领域中使用的基本内核,包括数值和离散。例如,许多代数图算法依赖于热带半环中的SpGEMM来计算图中的最短路径。最近,SpGEMM已经收到了越来越多的关注,具体的(并行)架构的实现。然而,这只涉及静态问题,其中两个输入矩阵都不改变。然而,在许多应用中,矩阵(或其对应的图形)会随时间而变化。虽然从头开始重新计算是非常昂贵的,我们不知道在文献中的任何动态SpGEMM算法。因此,在本文中,我们提出了一个基于MPI的并行计算的批动态算法。我们的动态SpGEMM建立在允许快速更新的分布式图/矩阵数据结构之上,显著减少了通信量。它通过利用更新改变的矩阵条目比输入操作数中的非零少得多来实现。我们对流行基准图的实验表明,我们的方法是值得的。对于批量插入或删除矩阵条目,我们的动态SpGEMM比最先进的竞争对手CombBLAS,CTF和PETSc中的静态算法快得多。

英文摘要:

Sparse matrix multiplication (SpGEMM) is a fundamental kernel used in many diverse application areas, both numerical and discrete. For example, many algebraic graph algorithms rely on SpGEMM in the tropical semiring to compute shortest paths in graphs. Recently, SpGEMM has received growing attention regarding implementations for specific (parallel) architectures. Yet, this concerns only the static problem, where both input matrices do not change. In many applications, however, matrices (or their corresponding graphs) change over time. Although recomputing from scratch is very expensive, we are not aware of any dynamic SpGEMM algorithms in the literature. In this paper, we thus propose a batch-dynamic algorithm for MPI-based parallel computing. Building on top of a distributed graph/matrix data structure that allows for fast updates, our dynamic SpGEMM reduces the communication volume significantly. It does so by exploiting that updates change far fewer matrix entries than there are non-zeros in the input operands. Our experiments with popular benchmark graphs show that our approach pays off. For batches of insertions or removals of matrix entries, our dynamic SpGEMM is substantially faster than the static algorithms in the state-of-the-art competitors CombBLAS, CTF and PETSc.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑