现代服务器工作负载具有较大的代码占用空间,由于指令缓存容量未命中,这些代码很容易出现前端瓶颈。即使现代处理器中实现了积极的提取定向指令预取 (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 加速。
以前,处理器的行为非常确定。指令的延迟是一个常数,即它不依赖于执行该指令之前发生的事情。内部指令(add、mul 或等)以及访问内存或 IO 等外部设备的指令都是如此。为了提高其平均计算能力,现代处理器配备了加速机制,导致指令的执行时间各不相同。因此,指令的持续时间取决于在它之前执行的内容。这种“历史影响”可能非常深远,并且与它影响的指令没有逻辑相关性。这种机制的一个例子是缓存。事实上,根据通向加载指令的执行路径,包含要加载的数据的内存行可能已经在数据缓存中(命中),也可能不在,要么尚未加载(未命中),要么已经删除(由于替换而未命中)。还有许多其他加速机制,如乱序执行、分支预测、推测访问、“超标量”、处理单元复制(例如两个整数单元)、存储缓冲区、地址流水线等。
由于没有目标替代物,且海军对载人潜艇目标射击的安全规定不明确,因此在之前的测试中未进行评估。由于资源限制,海军尚未开发足够的定点命中替代目标。由于这些测试限制,海军无法充分评估 MK 54 Mod 1 杀伤链的所有组成部分。海军计划对载人潜艇进行定点未命中测试,并使用可用的静态目标替代物进行有限的定点命中测试,以评估 MK 54 Mod 1 是否提高了性能并纠正了 MK 54 (BU) 的不足。尽管存在测试限制,但海军可能能够估计 MK 54 性能的上限,但该测试不会解决之前测试中发现的许多实际作战场景的性能知识差距。
摘要 — 通过使用一组数学方程式捕捉一阶性能现象,分析模型使架构师能够比周期精确模拟快几个数量级地进行早期设计空间探索。但是,如果由于模型不准确而导致通过模型获得的结论具有误导性,则这种速度优势无效。因此,实用的分析模型需要足够准确,以捕捉广泛应用程序和架构配置中的关键性能趋势。在这项工作中,我们专注于分析建模新兴的内存发散 GPU 计算应用程序的性能,这些应用程序在机器学习和数据分析等领域很常见。这些应用程序的空间局部性较差,导致 L1 缓存频繁阻塞,因为应用程序发出的并发缓存未命中数量远远超过缓存可以支持的次数,从而削弱了 GPU 使用线程级并行 (TLP) 隐藏内存延迟的能力。我们提出了 GPU 内存发散模型 (MDM),该模型忠实地捕捉了内存发散应用程序的关键性能特征,包括内存请求批处理和过多的 NoC/DRAM 排队延迟。我们根据详细的模拟和真实硬件验证了 MDM,并报告了以下方面的重大改进:(1) 范围:除了非内存发散应用程序外,还能够对流行的内存发散应用程序进行建模;(2) 实用性:通过使用二进制插装而不是功能模拟来计算模型输入,速度提高了 6.1 倍;(3) 准确性:平均预测误差为 13.9%,而最先进的 GPUMech 模型为 162%。