AMC: Access to Miss Correlation Prefetcher for Evolving Graph Analytics
Abhishek Singh, Christian Schulte, Xiaochen Guo
TL;DR
AMC introduces a software-assisted hardware prefetcher that learns access-to-miss correlations in evolving graphs by designating a target data structure and a frontier, then updating correlations every iteration to adapt to graph changes. By recording L1 target accesses and surrounding L2 misses, compressed off-chip metadata, and an on-chip FIFO-based correlation store, AMC achieves timely, many-to-many predictions that outpace prior prefetchers. Experimental results show ~1.5x geomean speedup over VLDP across dynamic-graph kernels, with average miss-coverage around 60% and accuracy in the 55–66% range, alongside modest energy and hardware overhead. The approach delivers practical improvements for dynamic graph analytics with scalable metadata management and minimal disruption to the memory hierarchy, offering a viable path for hardware-software cooperative prefetching in irregular workloads.
Abstract
Modern memory hierarchies work well with applications that have good spatial locality. Evolving (dynamic) graphs are important applications widely used to model graphs and networks with edge and vertex changes. They exhibit irregular memory access patterns and suffer from a high miss ratio and long miss penalty. Prefetching can be employed to predict and fetch future demand misses. However, current hardware prefetchers can not efficiently predict for applications with irregular memory accesses. In evolving graph applications, vertices that do not change during graph changes exhibit the same access correlation patterns. Current temporal prefetchers use one-to-one or one-to-many correlation to exploit these patterns. Similar patterns are recorded in the same entry, which causes aliasing and can lead to poor prefetch accuracy and coverage. This work proposes a software-assisted hardware prefetcher for evolving graphs. The key idea is to record the correlations between a sequence of vertex accesses and the following misses and then prefetch when the same vertex access sequence occurs in the future. The proposed Access-to-Miss Correlation (AMC) prefetcher provides a lightweight programming interface to identify the data structures of interest and sets the iteration boundary to update the correlation table. For the evaluated applications, AMC achieves a geomean speedup of 1.5x as compared to the best-performing prefetcher in prior work (VLDP). AMC can achieve an average of 62% accuracy and coverage, whereas VLDP has an accuracy of 31% and coverage of 23%.
