机器学习越来越多地遍布RDBMS的所有组件,因此可以通过查询工作负载和数据分布中的杠杆相关性来实例化。到目前为止,它在基数估计和查询优化方面取得了重大成功,从而导致查询执行更快。但是,在优化RDBMS缓冲区管理模块方面的努力有限。准确预测页面访问会带来许多挑战。我们克服了这些挑战,并提出了Pythia,这是一种神经预测模型,可以准确预测复杂SQL查询的非序列页面访问。然后可以使用毕曲(Pythia)的输出来预取页页面,从而提高性能。此外,我们还将毕缩影集成到Postgres的缓冲区管理模块中。在不适合时,它可以明智地执行预测和预取,并在没有时默认为现有的缓冲区管理算法。我们进行了广泛的实验和示例,即毕曲霉达到了明显的准确性,并且在DSB OLAP基准测试中查询的速度高达6倍。
现代服务器工作负载具有较大的代码占用空间,由于指令缓存容量未命中,这些代码很容易出现前端瓶颈。即使现代处理器中实现了积极的提取定向指令预取 (FDIP),由于 I-Cache 未命中,仍然会出现严重的前端停顿。FDIP 可以容忍 BPU 预测路径上发生的大部分未命中,而不会导致停顿。然而,先前的指令预取工作并非设计用于 FDIP 处理器。它们的唯一目标是减少 I-Cache 未命中,而 FDIP 处理器则旨在容忍它们。设计与 FDIP 协同工作的指令预取器需要确定影响前端性能的缓存未命中比例(未被 FDIP 完全隐藏),并仅针对它们。在本文中,我们提出了优先级定向指令预取 (PDIP),这是一种新颖的指令预取技术,它通过仅针对 FDIP 遇到困难的目标发出预取来补充 FDIP——沿着导致前端停顿事件的重新引导路径。PDIP 识别这些目标并将它们与未来预取的触发器相关联。在 43.5KB 的预算下,PDIP 在重要的工作负载(例如 Cassandra)上实现了高达 5.1% 的 IPC 加速,并在 16 个基准测试中实现了 3.2% 的几何平均 IPC 加速。
内存预取是一种性能优化技术,广泛应用于现代计算机系统的多个硬件和软件层。预取主动将数据从较慢的内存层带到较快的内存层,以预测其未来的用途。尽管对预取进行了充分研究,但仍在不断探索,尤其是随着新兴的内存层次结构包含异构性 [ 22 ]、分解 [ 27 ]、垂直 / 水平分层 [31] 和内存计算 [48]。早期的预取器针对易于捕获的模式(如步幅),并且足以满足易于理解的应用程序(如 SPEC 中的应用程序)的需求 [ 4 ]。然而,当今的系统和应用程序要复杂得多,动态性更强,简单的方法变得无效。人们对开发能够通过学习内存访问模式而不是检测预编程规则来适应动态执行的预取器的兴趣日益浓厚 [11, 18, 40]。最近的研究已经开始探索深度学习 (DL) 用于预取的可行性 [ 11 , 18 , 30 , 40 ]。理论上,DL 应该可以改善预取,因为它本质上是数据驱动的,并且应该自然地适应应用程序及其环境。事实上,这些研究表明,在理想的模拟中,DL 在准确性方面优于非学习预取方法。然而,所有这些方法都有三个主要缺点,阻碍了它们在现实世界中的应用。
2理论3 2.1测量预取效率。。。。。。。。。。。。。。。。。。。3 2.2预取技术。。。。。。。。。。。。。。。。。。。。。。。。。5 2.2.1软件预取。。。。。。。。。。。。。。。。。。。。。。6 2.2.2一个块lookahead预摘要。。。。。。。。。。。。。。6 2.2.3参考预测表预取。。。。。。。。。。。。7 2.2.4基于GHB的预取。。。。。。。。。。。。。。。。。。。。8 2.2.5目标线预取。。。。。。。。。。。。。。。。。。。。。9 2.2.6错误的路径预取。。。。。。。。。。。。。。。。。。。。9 2.2.7内容有向预取。。。。。。。。。。。。。。。。。9 2.2.8数据预取控制器预取。。。。。。。。。。。。。10 2.3预取问题。。。。。。。。。。。。。。。。。。。。。。。10 2.3.1缓存污染。。。。。。。。。。。。。。。。。。。。。。。。。10 2.3.2区域。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。11 2.3.3增加内存曲线和力量。。。。。。。。。。。。。11 2.4预取替代方案。。。。。。。。。。。。。。。。。。。。。。。11
摘要 — 硬件数据预取是一种延迟隐藏技术,通过在处理器需要之前将数据块提取到缓存中来缓解内存墙问题。对于高性能的先进数据预取器,由于请求数量的增加,这会增加内存层次结构中的动态和静态能量。提高硬件预取器能效的一种简单方法是预取执行关键路径上的指令。由于基于关键性的数据预取不会显著降低性能;这是解决能效问题的理想方法。我们讨论了现有关键指令检测技术的局限性,并提出了一种新技术,该技术使用重新排序缓冲区占用率作为检测关键指令的指标,并执行特定于预取器的阈值调整。使用我们的检测器,我们实现了最大内存层次结构节能 12.3%,PPF 性能提高 1.4%,平均值如下:(i) SPEC CPU 2017 基准:IPCP 在 L1D 时能耗降低 2.04%,性能降低 0.3%;(ii) 客户端/服务器基准:PPF 时能耗降低 4.7%,性能降低 0.15%;(iii) Cloudsuite 基准:IPCP 在 L1D 时能耗降低 2.99%,性能提高 0.36%。IPCP 和 PPF 是最先进的数据预取器。