论文标题

在MPI分布的图上快速动态更新和动态SPGEMM

Fast Dynamic Updates and Dynamic SpGEMM on MPI-Distributed Graphs

论文作者

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

论文摘要

稀疏矩阵乘法(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.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源