[论文解读] An SSD-based eigensolver for spectral analysis on billion-node graphs
FlashEigen 是一种基于 SSD 的特征值求解器,通过将密集向量子空间存储在 SSD 上,并在半外部内存中执行稀疏矩阵-向量乘法,使单台机器能够对十亿节点图进行谱分析。它实现了内存内性能的 40%–60%,并使用 120 GB 内存将可扩展性扩展至 34 亿节点、1290 亿条边的图。
Many eigensolvers such as ARPACK and Anasazi have been developed to compute eigenvalues of a large sparse matrix. These eigensolvers are limited by the capacity of RAM. They run in memory of a single machine for smaller eigenvalue problems and require the distributed memory for larger problems. In contrast, we develop an SSD-based eigensolver framework called FlashEigen, which extends Anasazi eigensolvers to SSDs, to compute eigenvalues of a graph with hundreds of millions or even billions of vertices in a single machine. FlashEigen performs sparse matrix multiplication in a semi-external memory fashion, i.e., we keep the sparse matrix on SSDs and the dense matrix in memory. We store the entire vector subspace on SSDs and reduce I/O to improve performance through caching the most recent dense matrix. Our result shows that FlashEigen is able to achieve 40%-60% performance of its in-memory implementation and has performance comparable to the Anasazi eigensolvers on a machine with 48 CPU cores. Furthermore, it is capable of scaling to a graph with 3.4 billion vertices and 129 billion edges. It takes about four hours to compute eight eigenvalues of the billion-node graph using 120 GB memory.
研究动机与目标
- 在有限内存的单台机器上实现对十亿节点图的谱分析。
- 克服传统内存内特征值求解器(如 ARPACK 和 Anasazi)的内存容量瓶颈。
- 设计一种外部内存特征值求解器,高效利用 SSD 进行大规模稀疏矩阵运算。
- 针对幂律分布且顶点度数分布不均的图,优化 I/O 和内存访问模式。
- 尽管 SSD 的速度比 DRAM 慢一个数量级,仍实现与内存内求解器相当的高性能。
提出的方法
- 采用半外部内存(SEM)方法:将稀疏矩阵存储在 SSD 上,密集矩阵保留在主内存中。
- 部署用户空间文件系统(SAFS)以管理 I/O 操作,减少操作系统开销。
- 对密集矩阵运算应用内存内优化技术,如动态负载均衡、缓存分块和 NUMA 友好的内存分配。
- 对存储在 SSD 上的稀疏矩阵进行压缩,以减少 I/O 数据量并提升检索速度。
- 通过缓存最近使用的密集矩阵并最小化冗余 I/O,优化密集矩阵乘法。
- 利用 Anasazi 中的 Block Krylov-Schur 求解器,其支持块更新,可减少 I/O 开销。
实验结果
研究问题
- RQ1基于商品级 SSD 的外部内存特征值求解器是否能在十亿节点图上实现高性能?
- RQ2在 SSD 上如何缓解大规模特征值求解器中稀疏和密集矩阵运算的 I/O 瓶颈?
- RQ3基于 SSD 的向量子空间存储在多大程度上能减轻内存压力,并实现超越主内存限制的可扩展性?
- RQ4基于 SSD 的特征值求解器在运行时间和 I/O 效率方面与内存内实现相比表现如何?
- RQ5所提出的优化是否能饱和 SSD 的 I/O 带宽,并在商品硬件上实现接近最大吞吐量?
主要发现
- 在 48 核机器上,FlashEigen 实现了其内存内对应实现 40%–60% 的性能。
- 该系统可扩展至 34 亿节点、1290 亿条边的图,在使用 120 GB 内存的情况下,约四小时计算出八个特征值。
- 平均 I/O 吞吐量达到 10 GB/s,接近 SSD 阵列的理论最大值。
- 与内存内实现相比,外部内存密集矩阵乘法速度慢三到四倍,但 I/O 优化有助于饱和 SSD 带宽。
- 该特征值求解器保持了低内存占用,使用户能够选择更大的子空间大小以实现更快收敛。
- 由于针对性的 I/O 和内存优化,FlashEigen 在基于 SSD 的工作负载上优于 MKL 和 Trilinos 实现。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。