GEM: Execution-Aware Cache Management for Graph AnalyticsOpen Website

Published: 01 Jan 2022, Last Modified: 13 May 2023ICA3PP 2022Readers: Everyone
Abstract: Graph analytics plays a significant role in various application domains. However, the performance of graph analytics is limited by the inefficiencies of the cache hierarchy. In recent years, plenty of works focus on eliminating the irregular data accesses to accelerate graph analytics. However, we find that even regular data accesses cannot fully utilize cache hierarchy because current cache management is independent of execution characteristics. To this end, we propose GEM, a Graph-specialized Execution-aware cache Management at the L1D cache. GEM perceives from execution patterns in graph analytics and exploits customized cache management for regular data accesses without any pre-processing phase. More specifically, GEM identifies when the regular data accesses will occur and employs a length-aware fetch and reuse-aware replacement accordingly. We implement GEM on a popular multi-core simulator and evaluate the performance on various algorithms using several large real-world graphs. The result shows that GEM outperforms the state-of-the-art graph-specialized cache management by $$21.1\%$$ on average and up to $$44.5\%$$ in the best case, with up to $$66\%$$ reduction of expensive off-chip memory accesses.
0 Replies

Loading