[2018 SIGMOD] Speeding Up Set Intersections in Graph Algorithms using SIMD Instructions
韩硕关于使用SIMD指令加速图算法中的集合求交操作的论文(Speeding Up Set Intersections in Graph Algorithms using SIMD Instructions)被 SIGMOD 2018 录用。
这篇论文研究了通过加速集合求交这一基本操作,来加速相关的图算法。图的邻接表可以自然地理解为顶点的集合,因而集合的求交操作在许多图算法中都有所涉及,是非常基础和普遍的一种操作。我们提出了一种高效的求顶点集合交的 QFilter 算法,它利用了 SIMD 指令来快速地过滤掉大部分无效的比较操作。我们还提出了一种表示顶点集合的密集编码形式 BSR 。通过将 QFilter 算法和 BSR 编码相结合,我们从两个层面上实现了数据级并行,即 BSR 支持区块内部的并行,同时 SIMD 支持了区块之间的数据并行。进一步地,我们发现顶点的标号顺序影响了 BSR 的编码效率,从而也影响到图算法中的集合求交操作的效率。因此我们形式化将图顶点的重标号问题定义为 BSR 空间代价的最小化,并且证明了这一问题是强 NP 完全的。然后我们提出了一个近似算法来对图顶点进行重标号,来促进 BSR 对图顶点集合的编码效率,从而提高区块内部的并行度。在人造数据集和真实数据集上的实验结果表明,我们的方法能够显著提高图算法中集合求交操作的效率。