Cocache: An Accurate and Low-Overhead Dynamic Caching Method for GNNs
摘要
Graph neural network (GNN) training often faces a critical bottleneck in feature extraction and CPU-to-GPU transfers. While caching frequently accessed nodes’ features in GPU memory offers a potential solution, existing caching strategies prove ineffective for uniform graphs where nodes exhibit similar edge connectivity. In such graphs, node sampling probabilities become nearly uniform due to comparable neighbor counts, leading to two access traits: (1) No persistent hotspot nodes, and (2) Node access is highly dynamic. These traits challenge existing caching approaches: (1) Static caching fails because its fixed cache contents cannot align with the absence of persistent hotspot nodes. (2) Existing dynamic caching relies solely on recent node access order, unable to capture true access patterns and adapt to rapid node hotness changes. As a result, existing strategies suffer from frequent cache misses and degraded performance in uniform graphs. To address this, we propose cocache, a novel dynamic caching method that enhances GNN training via two key innovations: (1) Accurate hot nodes identification by tracking global node access pattern during an entire training epoch, and (2) Low-overhead cache updates enabled by a lightweight decision strategy and efficient CPU-GPU co-design. Experiments show Cocache achieves 1.2 \(\times \) –1.48 \(\times \) speedup over state-of-the-art methods.