Litcius/Paper detail

Speeding Up SpMV for Power-Law Graph Analytics by Enhancing Locality & Vectorization

Şerif Yeşil, Azin Heidarshenas, Adam Morrison, Josep Torrellas

202026 citationsDOI

Abstract

Graph analytics applications often target large-scale web and social networks, which are typically power-law graphs. Graph algorithms can often be recast as generalized Sparse Matrix-Vector multiplication (SpMV) operations, making SpMV optimization important for graph analytics. However, executing SpMV on large-scale power-law graphs results in highly irregular memory access patterns with poor cache utilization. Worse, we find that existing SpMV locality and vectorization optimizations are largely ineffective on modern out-of-order (OOO) processors-they are not faster (or only marginally so) than the standard Compressed Sparse Row (CSR) SpMV implementation. To improve performance for power-law graphs on modern OOO processors, we propose Locality-Aware Vectorization (LAV). LAV is a new approach that leverages a graph's power-law nature to extract locality and enable effective vectorization for SpMV-like memory access patterns. LAV splits the input matrix into a dense and a sparse portion. The dense portion is stored in a new representation, which is vectorization-friendly and exploits data locality. The sparse portion is processed using the standard CSR algorithm. We evaluate LAV with several graphs on an Intel Skylake-SP processor, and find that it is faster than CSR (and prior approaches) by an average of 1.5x. LAV reduces the number of DRAM accesses by 35% on average, with only a 3.3% memory overhead.

Topics & Concepts

Computer scienceLocalityParallel computingSparse matrixGraphTheoretical computer scienceLinguisticsQuantum mechanicsGaussianPhilosophyPhysicsGraph Theory and AlgorithmsAdvanced Graph Neural NetworksInterconnection Networks and Systems