Analyzing and Exploiting Memory Hierarchy Parallelism With MLP Stacks
Obtaining high instruction throughput on modern CPUs requires generating a high degree of memory-level parallelism (MLP). MLP is typically reported as a quantitative metric at the DRAM level. However, understanding the reasons that hinder memory parallelism requires more insightful metrics and visualizations. This paper proposes a new taxonomy of MLP metrics, splitting MLP into core and prefetch components and measuring both miss and hit cache level parallelism. Our key contribution is an MLP stack, a visualization that integrates these metrics, and connects then to performance by showing the CPI contribution of each memory level. The stack also shows speculative parallelism from dependency-bound and structural-hazard-bound loads. We implement the MLP stack in a processor simulator and conduct case studies that demonstrate the potential for targeting software optimizations (e.g., software prefetching), and hardware improvements (e.g., instruction window sizing).
Authors
- Wim Heirman (ORCID: https://orcid.org/0000-0003-2286-1525)
- Shoaib Akram (ORCID: https://orcid.org/0000-0003-2388-0517)
- Adnan Hasnat
Institutions
- Australian National University (AU)
Publication Details
- Journal
- IEEE Computer Architecture Letters
- Published
- 2025-01-01
- DOI
- https://doi.org/10.1109/lca.2025.3558808
- Primary Topic
- Parallel Computing and Optimization Techniques
- Type
- article
- Field-Weighted Citation Impact
- 0.00