Affiliation:
1. Boston University, Boston, MA
2. Universidad Católica de Murcia, Guadalupe, Murcia, Spain
Abstract
Over the years, processor throughput has steadily increased. However, the memory throughput has not increased at the same rate, which has led to the memory wall problem in turn increasing the gap between effective and theoretical peak processor performance. To cope with this, there has been an abundance of work in the area of data/instruction prefetcher designs. Broadly, prefetchers predict future data/instruction address accesses and proactively fetch data/instructions in the memory hierarchy with the goal of lowering data/instruction access latency. To this end, one or more prefetchers are deployed at each level of the memory hierarchy, but typically, each prefetcher gets designed in isolation without comprehensively accounting for other prefetchers in the system. As a result, individual prefetchers do not always complement each other, and that leads to lower average performance gains and/or many negative outliers. In this work, we propose Puppeteer, which is a hardware prefetcher manager that uses a suite of random forest regressors to determine at runtime which prefetcher should be ON at each level in the memory hierarchy, such that the prefetchers complement each other and we reduce the data/instruction access latency. Compared to a design with no prefetchers, using Puppeteer we improve IPC by 46.0% in 1 one-core, 25.8% in four-core, and 11.9% in eight-core processors on average across traces generated from SPEC2017, SPEC2006, and Cloud suites with ~11-KB overhead. Moreover, we also reduce the number of negative outliers by more than 89%, and the performance loss of the worst-case negative outlier from 25% to only 5% compared to the state of the art.
Publisher
Association for Computing Machinery (ACM)
Subject
Hardware and Architecture,Information Systems,Software
Reference73 articles.
1. AMD Ryzen Processor;https://www.amd.com/en/ryzen,2017
2. AMD. 2020. Software Optimization Guide for AMD EPYC TM 7001 Processors. Retrieved November 9 2022 from https:// developer.amd.com/wordpress/media/2013/12/55723_SOG_Fam_17h_Processors_3.00.pdf.
3. GDC 2022 - AMD RyzenTM Processor Software Optimization;https:// youtu.be/helEx02HN_I,2022
4. Bingo Spatial Data Prefetcher
5. Pythia: A Customizable Hardware Prefetching Framework Using Online Reinforcement Learning
Cited by
3 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. A Fairness-Aware Prefetching Mechanism based on Reinforcement Learning for Multi-Core Systems;2023 IEEE International Conference on High Performance Computing & Communications, Data Science & Systems, Smart City & Dependability in Sensor, Cloud & Big Data Systems & Application (HPCC/DSS/SmartCity/DependSys);2023-12-17
2. Reinforcement Learning Based Prefetch-Control Mechanism;2023 IEEE Asia Pacific Conference on Circuits and Systems (APCCAS);2023-11-19
3. Micro-Armed Bandit: Lightweight & Reusable Reinforcement Learning for Microarchitecture Decision-Making;56th Annual IEEE/ACM International Symposium on Microarchitecture;2023-10-28