English

An SSD-based eigensolver for spectral analysis on billion-node graphs

Distributed, Parallel, and Cluster Computing 2016-02-29 v3 Mathematical Software

Abstract

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.

Cite

@article{arxiv.1602.01421,
  title  = {An SSD-based eigensolver for spectral analysis on billion-node graphs},
  author = {Da Zheng and Randal Burns and Joshua Vogelstein and Carey E. Priebe and Alexander S. Szalay},
  journal= {arXiv preprint arXiv:1602.01421},
  year   = {2016}
}
R2 v1 2026-06-22T12:43:02.681Z