Exploiting in-Hub Temporal Locality in SpMV-based Graph Processing
Exploiting in-Hub Temporal Locality in SpMV-based Graph Processing
复制标题
DOI:
10.1145/3472456.3472462
复制
发表时间:
2021-08
期刊:
影响因子:
--
通讯作者:
Mohsen Koohi Esfahani;Peter Kilpatrick;Hans Vandierendonck
中科院分区:
文献类型:
--
作者:
Mohsen Koohi Esfahani;Peter Kilpatrick;Hans Vandierendonck
The skewed degree distribution of real-world graphs is the main source of poor locality in traversing all edges of the graph, known as Sparse Matrix-Vector (SpMV) Multiplication. Conventional graph traversal methods, such as push and pull, traverse all vertices in the same manner, and we show applying a uniform traversal direction for all edges leads to sub-optimal memory locality, hence poor efficiency. This paper argues that different vertices in power-law graphs have different locality characteristics and the traversal method should be adapted to these characteristics. To solve this problem, we propose to inspect the number of destination and source vertices in selecting a cache-compatible traversal direction for each type of vertex. We introduce in-Hub Temporal Locality (iHTL), a structure-aware SpMV that combines push and pull in one graph traversal, but for different vertex types. iHTL exploits temporal locality by traversing incoming edges to in-hubs in push direction, while processing other edges in pull direction. The evaluation shows iHTL is 1.5 × - 2.4 × faster than pull and 4.8 × - 9.5 × faster than push in state-of-the-art graph processing frameworks such as GraphGrind, GraphIt and Galois. More importantly, iHTL is 1.3 × - 1.5 × faster than pull traversal of state-of-the-art locality optimizing reordering algorithms such as SlashBurn, GOrder, and Rabbit-Order.