Exploring the Search Space of Hybrid E/P Cores Prefetch Configurations using Machine Learning
In modern computer architecture, prefetching is a technique used to improve performance by bridging the memory latency gap between the processor and the memory. Prefetchers predict which data or instructions will be needed soon and fetch them from higher levels of the memory hierarchy to lower levels. However, overly aggressive prefetching can lead to [pollution] in the last-level cache, disrupt efficient workload distribution across cores by altering the per-thread cache hit rate, and can significantly increase memory bandwidth usage. This issue is particularly pronounced in heterogeneous CPU architectures, such as Intel's Arrow Lake, which combines Performance cores (P-cores) and Efficiency cores (E-cores). E-cores offer fine-grained control over prefetching, making it crucial to co-optimize E-core prefetching alongside the overall system configurations to achieve the best performance. A pilot study has explored the energy and performance behavior of E-cores and P-cores with a subset of different thread counts on an Intel Meteor Lake processor. The study also examined the search space and estimated the potential performance gains a dynamic optimizer could achieve. The main goal of this thesis is to design a system that attempts to search for an optimal prefetcher configuration along with other system settings to maximize performance while minimizing energy consumption. We also aim to determine whether the best-performing configurations for a given benchmark suite remain effective across different benchmarks. The Intel Arrow Lake architecture provides 35 tunable parameters for its hardware E-core prefetchers, accessible through various Model-Specific Registers (MSRs). In this thesis, we selected 15 prefetcher parameters from the available set and combined them with other system-level parameters, such as E-core and P-core frequencies, number of threads, OpenMP scheduling strategies, and compiler flags, resulting in a configuration space of over 6 billion unique combinations. Given the vast configuration search space, we use machine learning techniques, specifically Bayesian Optimization, to search the vast space. Then we analyze data and effectively select the top-performing and/or energy-efficient configurations. Through the combination of dynamic search techniques and data analytics methods such as Random Forest classification and K-means clustering, this thesis successfully identified configuration parameters that strongly influence performance, energy consumption, and EDP. To further assess the role of prefetcher tuning, we conducted three focused case studies where only prefetcher settings were optimized under fixed core frequency regimes (low, mid, and high range). Despite the vast search space, these techniques allowed us to efficiently explore meaningful regions and uncover high-impact configurations, demonstrating that intelligent tuning can lead to significant system-level improvements.
Publication Details
- Journal
- KTH Publication Database DiVA (KTH Royal Institute of Technology)
- Published
- 2025-01-01
- Primary Topic
- Astrophysical Phenomena and Observations
- Type
- article
- Field-Weighted Citation Impact
- 0.00