Twig: Profile-Guided BTB Prefetching for Data Center Applications

Twig: Profile-Guided BTB Prefetching for Data Center Applications
复制标题

Twig:数据中心应用程序的配置文件引导 BTB 预取

DOI:
10.1145/3466752.3480124
复制
发表时间:
2021
期刊:
54th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO ’21
影响因子:
--
通讯作者:
Kasikci, Baris
Kasikci, Baris
中科院分区:
--
文献类型:
--
作者:
Khan, Tanvir Ahmed;Brown, Nathan;Sriraman, Akshitha;Soundararajan, Niranjan K;Kumar, Rakesh;Devietti, Joseph;Subramoney, Sreenivas;Pokam, Gilles A;Litz, Heiner;Kasikci, Baris

文献摘要

参考文献

被引文献

相似文献

现代数据中心应用程序具有深度软件堆栈,其指令占用空间比典型指令缓存 (I-cache) 大小大几个数量级。为了在应用程序占用空间很大的情况下有效地将指令预取到指令缓存中,现代服务器级处理器通过获取定向指令预取 (FDIP) 实现了解耦前端。在这项工作中,我们首先描述了带有 FDIP 的解耦前端处理器的局限性,并发现 FDIP 存在严重的分支目标缓冲区 (BTB) 缺失。我们还发现现有技术(例如流预取器和预解码器)无法减少这些失误,因为它们依赖于对程序分支行为的不完整理解。为了解决现有 BTB 预取技术的缺点,我们提出了 Twig,一种新颖的配置文件引导的 BTB 预取机制。 Twig 分析生产二进制文件的执行配置文件,以识别关键的 BTB 缺失并将 BTB 预取指令注入代码中。此外,Twig 合并多个不连续的 BTB 预取以改善 BTB 的局部性。 Twig 通过新的 BTB 预取指令公开了这些技术。由于 Twig 预取 BTB 条目而不修改底层 BTB 组织,因此很容易在现代处理器中采用。我们研究了 Twig 在 9 个广泛使用的数据中心应用程序中的行为,并证明它比基准 8K 条目 BTB 平均实现了 20.86%(高达 145%)的性能加速,比最先进的 BTB 预取机制高出 19.82%(平均)。
Modern data center applications have deep software stacks, with instruction footprints that are orders of magnitude larger than typical instruction cache (I-cache) sizes. To efficiently prefetch instructions into the I-cache despite large application footprints, modern server-class processors implement a decoupled frontend with Fetch Directed Instruction Prefetching (FDIP). In this work, we first characterize the limitations of a decoupled frontend processor with FDIP and find that FDIP suffers from significant Branch Target Buffer (BTB) misses. We also find that existing techniques (e.g., stream prefetchers and predecoders) are unable to mitigate these misses, as they rely on an incomplete understanding of a program’s branching behavior.To address the shortcomings of existing BTB prefetching techniques, we propose Twig, a novel profile-guided BTB prefetching mechanism. Twig analyzes a production binary’s execution profile to identify critical BTB misses and inject BTB prefetch instructions into code. Additionally, Twig coalesces multiple non-contiguous BTB prefetches to improve the BTB’s locality. Twig exposes these techniques via new BTB prefetch instructions. Since Twig prefetches BTB entries without modifying the underlying BTB organization, it is easy to adopt in modern processors. We study Twig’s behavior across nine widely-used data center applications, and demonstrate that it achieves an average 20.86% (up to 145%) performance speedup over a baseline 8K-entry BTB, outperforming the state-of-the-art BTB prefetch mechanism by 19.82% (on average).
分支目标缓冲区设计与优化
DOI: 10.1109/12.214687
发表时间: 1993
期刊: IEEE Trans. Computers
影响因子: --
作者:
Chris H. Perleberg;A. Smith
通讯作者: A. Smith
DOI: 10.1109/isca52012.2021.00063
发表时间: 2021-06
期刊: 2021 ACM/IEEE 48th Annual International Symposium on Computer Architecture (ISCA)
影响因子: --
作者:
Tanvir Ahmed Khan;Dexin Zhang;Akshitha Sriraman;Joseph Devietti;Gilles A. Pokam;Heiner Litz;Baris Kasikci
通讯作者: Tanvir Ahmed Khan;Dexin Zhang;Akshitha Sriraman;Joseph Devietti;Gilles A. Pokam;Heiner Litz;Baris Kasikci
DOI: 10.1109/isca45697.2020.00015
发表时间: 2020-05
期刊: 2020 ACM/IEEE 47th Annual International Symposium on Computer Architecture (ISCA)
影响因子: --
作者:
B. Grayson;J. Rupley;Gerald D. Zuraski;Eric Quinnell;Daniel A. Jiménez;T. Nakra;P. Kitchin;Ryan Hensley;Edward Brekelbaum;Vikas Sinha;A. Ghiya
通讯作者: B. Grayson;J. Rupley;Gerald D. Zuraski;Eric Quinnell;Daniel A. Jiménez;T. Nakra;P. Kitchin;Ryan Hensley;Edward Brekelbaum;Vikas Sinha;A. Ghiya
DOI: --
发表时间: 2020
影响因子: 2.3
作者:
Alberto Ros;A. Jimborean
通讯作者: A. Jimborean
DOI: 10.1145/3373376.3378498
发表时间: 2020-03
期刊: Proceedings of the Twenty-Fifth International Conference on Architectural Support for Programming Languages and Operating Systems
影响因子: --
作者:
Grant Ayers;Heiner Litz;Christos Kozyrakis;Parthasarathy Ranganathan
通讯作者: Grant Ayers;Heiner Litz;Christos Kozyrakis;Parthasarathy Ranganathan