Past research has proposed numerous hardware prefetching techniques, most of which rely on exploiting one specific type of program context information (e.g., program counter, cacheline address) to predict future memory accesses. These techniques either completely neglect a prefetcher's undesirable effects (e.g., memory bandwidth usage) on the overall system, or incorporate system-level feedback as an afterthought to a system-unaware prefetch algorithm. We show that prior prefetchers often lose their performance benefit over a wide range of workloads and system configurations due to their inherent inability to take multiple different types of program context and system-level feedback information into account while prefetching. In this paper, we make a case for designing a holistic prefetch algorithm that learns to prefetch using multiple different types of program context and system-level feedback information inherent to its design. To this end, we propose Pythia, which formulates the prefetcher as a reinforcement learning agent. For every demand request, Pythia observes multiple different types of program context information to make a prefetch decision. For every prefetch decision, Pythia receives a numerical reward that evaluates prefetch quality under the current memory bandwidth usage. Pythia uses this reward to reinforce the correlation between program context information and prefetch decision to generate highly accurate, timely, and system-aware prefetch requests in the future. Our extensive evaluations using simulation and hardware synthesis show that Pythia outperforms multiple state-of-the-art prefetchers over a wide range of workloads and system configurations, while incurring only 1.03% area overhead over a desktop-class processor and no software changes in workloads. The source code of Pythia can be freely downloaded from https://github.com/CMU-SAFARI/Pythia.


翻译:过去的研究提出了许多硬件预取技术,其中大部分依赖于利用一种特定类型的程序上下文信息(例如程序计数器,缓存行地址)来预测未来的内存访问。这些技术要么完全忽略预取器对整个系统的不良影响(例如内存带宽使用),要么将系统级反馈作为系统无感知预取算法的事后补救。我们发现,由于它们固有的不能同时考虑多种程序上下文和系统级反馈信息进行预取的能力,以前的预取器在很大范围的工作负载和系统配置下都失去了性能优势。在本文中,我们提出了一个设计全面兼容多种程序上下文和系统级反馈信息且能够从中学习预取方法的综合性预取算法。为此,我们提出了 Pythia,将预取器定位为一个强化学习代理。每次传输请求,Pythia会观察多种类型的程序上下文信息,以做出预取决策。对于每个预取决策,Pythia都会获得一个数值奖励,该奖励评估当前内存带宽使用情况下的预取质量。Pythia利用此奖励加强程序上下文信息与预取决策之间的联系,以生成高度准确、及时且系统感知的预取请求。我们广泛的仿真和硬件综合评估表明,Pythia在广泛的工作负载和系统配置下优于多个最先进的预取器,只在桌面级处理器上产生了1.03%的面积开销,无需在工作负载中进行任何软件更改。Pythia的源代码可从 https://github.com/CMU-SAFARI/Pythia 免费下载。

0
下载
关闭预览

相关内容

【2021新书】ApachePulsar 实战,402页pdf
专知会员服务
69+阅读 · 2021年12月29日
【干货书】真实机器学习,264页pdf,Real-World Machine Learning
【强化学习资源集合】Awesome Reinforcement Learning
专知会员服务
93+阅读 · 2019年12月23日
强化学习最新教程,17页pdf
专知会员服务
174+阅读 · 2019年10月11日
VCIP 2022 Call for Demos
CCF多媒体专委会
1+阅读 · 2022年6月6日
深度自进化聚类:Deep Self-Evolution Clustering
我爱读PAMI
15+阅读 · 2019年4月13日
逆强化学习-学习人先验的动机
CreateAMind
15+阅读 · 2019年1月18日
强化学习的Unsupervised Meta-Learning
CreateAMind
17+阅读 · 2019年1月7日
【泡泡一分钟】用于评估视觉惯性里程计的TUM VI数据集
泡泡机器人SLAM
11+阅读 · 2019年1月4日
Unsupervised Learning via Meta-Learning
CreateAMind
42+阅读 · 2019年1月3日
LibRec 精选:基于LSTM的序列推荐实现(PyTorch)
LibRec智能推荐
50+阅读 · 2018年8月27日
【论文】变分推断(Variational inference)的总结
机器学习研究会
39+阅读 · 2017年11月16日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
1+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
2+阅读 · 2009年12月31日
Arxiv
0+阅读 · 2023年5月19日
Neural Architecture Search without Training
Arxiv
10+阅读 · 2021年6月11日
Arxiv
16+阅读 · 2021年1月27日
Arxiv
11+阅读 · 2018年1月11日
VIP会员
相关资讯
VCIP 2022 Call for Demos
CCF多媒体专委会
1+阅读 · 2022年6月6日
深度自进化聚类:Deep Self-Evolution Clustering
我爱读PAMI
15+阅读 · 2019年4月13日
逆强化学习-学习人先验的动机
CreateAMind
15+阅读 · 2019年1月18日
强化学习的Unsupervised Meta-Learning
CreateAMind
17+阅读 · 2019年1月7日
【泡泡一分钟】用于评估视觉惯性里程计的TUM VI数据集
泡泡机器人SLAM
11+阅读 · 2019年1月4日
Unsupervised Learning via Meta-Learning
CreateAMind
42+阅读 · 2019年1月3日
LibRec 精选:基于LSTM的序列推荐实现(PyTorch)
LibRec智能推荐
50+阅读 · 2018年8月27日
【论文】变分推断(Variational inference)的总结
机器学习研究会
39+阅读 · 2017年11月16日
相关基金
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
1+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
2+阅读 · 2009年12月31日
Top
微信扫码咨询专知VIP会员