中文

利用卷积神经网络建模全局历史以改进分支预测

分布式、并行与集群计算 2019-06-25 v1 机器学习

摘要

CPU 分支预测已遇到瓶颈——现有技术对 99% 的静态分支达到了近乎完美的准确率,然而剩余的错误预测中隐藏着显著的性能提升空间。在 companion report 中,我们表明错误预测的一个主要来源是少数系统性难以预测的分支(H2P),例如在 SPECint 2017 中每个 SimPoint 阶段仅 10 条静态指令。这些错误预测给 CPU 带来的错失机会十分可观:在 Intel SkyLake 上指令每周期数(IPC)损失 14.0%,当流水线扩大四倍时 IPC 损失 37.4%,与工艺技术带来的增益相当。然而,即使赋予指数级更多的资源,最佳已知分支预测器也无法触及其中高达 80% 的提升空间。需要新方法,而机器学习(ML)提供了一系列强大的预测器。越来越多的工作表明,ML 模型可在微架构内部署以在运行时优化硬件,并且是通过训练以适应客户应用而在硅后定制 CPU 的一种方式。我们针对分支预测发展了这一场景,使用卷积神经网络(CNN)来提升 H2P 的准确率。我们逐步地:(1)将 CNN 映射到现有分支预测器使用的全局历史数据;(2)展示 CNN 如何改进 SPEC 2017 中的 H2P 预测;(3)使 2 位 CNN 推理适应当前分支预测单元的限制;(4)确定 CNN 辅助预测器在不同输入的应用执行间可复用,使我们能够分摊离线训练并将 ML 模式匹配部署以改进 IPC。

关键词

引用

@article{arxiv.1906.09889,
  title  = {Improving Branch Prediction By Modeling Global History with Convolutional Neural Networks},
  author = {Stephen J Tarsa and Chit-Kwan Lin and Gokce Keskin and Gautham Chinya and Hong Wang},
  journal= {arXiv preprint arXiv:1906.09889},
  year   = {2019}
}

备注

2nd ISCA International Workshop on AI Assisted Design for Architecture (AIDArc), June 2019, Phoenix, AZ, USA