Focusing processor policies via critical-path prediction

Focusing processor policies via critical-path prediction
复制标题

通过关键路径预测集中处理器策略

DOI:
10.1109/isca.2001.937434
复制
发表时间:
2001
期刊:
Proceedings 28th Annual International Symposium on Computer Architecture
影响因子:
--
通讯作者:
Rastislav Bodík
Rastislav Bodík
中科院分区:
--
文献类型:
--
作者:
Brian A. Fields;Shai Rubin;Rastislav Bodík

文献摘要

被引文献

相似文献

尽管某些指令比其他指令对性能的影响更大,但当前的处理器通常应用调度和推测,就好像每条指令的成本相同。指令成本可以通过关键路径自然地表达:如果我们能够在运行时预测它,则平等政策可以被成本敏感策略所取代,随着处理器变得更加并行,这些策略将变得越来越有效。本文介绍了指令关键性的硬件预测器并使用它来提高性能。该预测器的硬件实现既有效又简单。提高性能的有效性源于使用微架构关键路径的依赖图模型,该模型通过合并数据和特定于机器的依赖关系来识别执行瓶颈。简单性源于令牌传递算法,该算法计算关键路径而无需实际构建依赖图。通过将处理器策略集中在关键指令上,我们的预测器可以实现一大类优化。它可以 (i) 优先考虑稀缺资源(功能单元、端口、预测器条目)的关键指令; (ii) 抑制对非关键指令的猜测,从而减少“无用”的错误猜测。我们提出了两个案例研究来说明这两种优化的潜力,我们表明:(i) 集群架构中基于关键路径的动态指令调度和引导将性能提高了 21%(平均 10%); (ii) 由于消除了近一半的错误推测,仅将价值预测集中在关键指令上可将性能提高多达 5%。
Although some instructions hurt performance more than others, current processors typically apply scheduling and speculation as if each instruction was equally costly. Instruction cost can be naturally expressed through the critical path: if we could predict it at run-time, egalitarian policies could be replaced with cost-sensitive strategies that will grow increasingly effective as processors become more parallel. This paper introduces a hardware predictor of instruction criticality and uses it to improve performance. The predictor is both effective and simple in its hardware implementation. The effectiveness at improving performance stems from using a dependence-graph model of the microarchitectural critical path that identifies execution bottlenecks by incorporating both data and machine-specific dependences. The simplicity stems from a token-passing algorithm that computes the critical path without actually building the dependence graph. By focusing processor policies on critical instructions, our predictor enables a large class of optimizations. It can (i) give priority to critical instructions for scarce resources (functional units, ports, predictor entries); and (ii) suppress speculation on non-critical instructions, thus reducing "useless" misspeculations. We present two case studies that illustrate the potential of the two types of optimization, we show that (i) critical-path-based dynamic instruction scheduling and steering in a clustered architecture improves performance by as much as 21% (10% on average); and (ii) focusing value prediction only on critical instructions improves performance by as much as 5%, due to removing nearly half of the misspeculations.