Skip to main content
QUICK REVIEW

[论文解读] Semi-External Memory Sparse Matrix Multiplication on Billion-node Graphs in a Multicore Architecture.

Da Zheng, Disa Mhembere|arXiv (Cornell University)|Feb 9, 2016
Graph Theory and Algorithms参考文献 32被引用 4
一句话总结

本文提出了一种半外部内存(SEM)稀疏矩阵乘法(SpMM)框架,将稀疏矩阵存储在SSD上,同时将稠密矩阵保留在主内存中,从而实现高效的大规模图分析。通过结合I/O优化与内存内算法技术,当稠密矩阵列数超过四列时,该框架在十亿节点图上实现了高达100%的内存内性能,优于Trilinos和Intel MKL。

ABSTRACT

Owing to random memory access patterns, sparse matrix multiplication is traditionally performed in memory and scales to large matrices using the distributed memory of multiple nodes. In contrast, we scale sparse matrix multiplication by utilizing commodity SSDs. We implement sparse matrix dense matrix multiplication (SpMM) in a semi-external memory (SEM) fashion, i.e., we keep the sparse matrix on SSDs and dense matrices in memory. Our SEM SpMM can incorporate many in-memory optimizations for large power- law graphs with near-random vertex connection. Coupled with many I/O optimizations, our SEM SpMM achieves performance comparable to our in-memory implementation on a large parallel machine and outperforms the implementations in Trilinos and Intel MKL. Our experiments show that the SEM SpMM achieves almost 100% performance of the in-memory implementation on graphs when the dense matrix has more than four columns; it achieves at least 65% performance of the in-memory implementation for all of our graphs when the dense matrix has only one column. We apply our SpMM to three important data analysis applications and show that our SSD-based implementations can significantly outperform state of the art of these applications and scale to billion-node graphs.

研究动机与目标

  • 解决因内存容量限制导致的内存内稀疏矩阵乘法在十亿节点图上的可扩展性瓶颈。
  • 通过利用商品级SSD扩展主内存,克服传统I/O密集型SpMM的性能瓶颈。
  • 设计一种混合内存模型,将稀疏矩阵存储在SSD上,稠密矩阵保留在主内存中,以减轻内存压力。
  • 在可扩展至主内存无法容纳的图规模的同时,实现与内存内SpMM相当的性能。
  • 实现对十亿节点图上大规模图工作负载(如PageRank、SVD和谱聚类)的高效执行。

提出的方法

  • 在半外部内存(SEM)模型中实现SpMM,将稀疏矩阵存储在SSD上,稠密矩阵保留在主内存中。
  • 在稠密矩阵计算阶段应用内存内优化技术,如内核融合和缓存感知分块。
  • 集成I/O优化的数据布局与异步I/O模式,以减少从SSD读取稀疏矩阵数据的延迟。
  • 采用混合执行模型,将计算与I/O操作重叠,以隐藏数据传输延迟。
  • 利用现实图的幂律结构,最小化SpMM过程中的随机访问开销。
  • 通过压缩稀疏行(CSR)格式、预取和内存对齐策略优化数据访问模式。

实验结果

研究问题

  • RQ1使用商品级SSD,半外部内存SpMM能否在十亿节点图上实现接近内存内性能?
  • RQ2SEM SpMM的性能如何随稠密矩阵列数的变化而变化?
  • RQ3I/O优化与内存内算法技术在多大程度上能缩小内存内与半外部SpMM之间的性能差距?
  • RQ4在真实图工作负载中,所提出的SEM SpMM与最先进的库(如Trilinos和Intel MKL)相比表现如何?
  • RQ5SEM SpMM能否高效加速十亿节点图上的大规模图分析应用(如PageRank和SVD)?

主要发现

  • 当稠密矩阵列数超过四列时,SEM SpMM在大规模幂律图上实现了高达100%的内存内性能。
  • 对于仅有一列的稠密矩阵,SEM SpMM在所有测试图上均保持至少65%的内存内性能。
  • 在大规模图工作负载中,SEM SpMM实现的执行时间优于Trilinos和Intel MKL。
  • 该框架成功扩展至十亿节点图,支持高效执行数据分析流水线。
  • I/O优化与内存内算法技术的结合,有效缓解了将稀疏矩阵卸载至SSD所带来的性能损失。
  • 该方法使在商品硬件上实际部署内存密集型图算法成为可能,而无需依赖大容量主内存。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。