APAC: An Accurate and Adaptive Prefetch Framework with Concurrent Memory Access Analysis

Published in The 2020 IEEE 39th International Conference on Computer Design (ICCD 2020), 2020

Background

The “Memory Wall” problem continues to challenge modern processors as memory access times lag behind processor speeds, causing significant stalls in data-intensive applications. Traditional prefetching techniques address this issue partially but are limited in exploring the impact of concurrent memory accesses on prefetching effectiveness.

Design

To address this gap, APAC introduces Pure Prefetch Coverage (PPC), a novel metric designed to evaluate prefetch effectiveness in high-concurrency environments. By assessing pure misses—cache misses that cannot overlap with hits—PPC enables APAC to capture prefetching effectiveness accurately. PPC guides the adaptive fine-tuning of prefetching strategies, resulting in more accurate and efficient data fetching under concurrent access conditions.

Adjuct prefetch aggressiveness with runtime metrics

Adjuct prefetch aggressiveness with runtime metrics

Key Features

  • Pure Prefetch Coverage (PPC): An advanced metric that captures the impact of concurrent memory accesses on prefetch effectiveness, allowing precise control over prefetch aggressiveness.
PPC
  • Adaptive Prefetch Tuning: APAC dynamically adjusts prefetching intensity based on real-time feedback from PPC, Pure Miss Rate (pMR), and Prefetch Accuracy (PA), optimizing cache performance across varying memory access patterns.

Results

In both single-core and multi-core environments, APAC demonstrates substantial performance improvements, with an average 17.3% IPC gain over state-of-the-art adaptive frameworks.

Performance comparison among NAP, FDP, NST, and APAC

Performance comparison among NAP, FDP, NST, and APAC

Conclusion

APAC’s concurrency-aware approach to prefetching highlights the performance benefits of measuring and leveraging memory access concurrency, making it a highly effective solution for optimizing data-intensive applications in multi-core systems.

paper