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
期刊:
影响因子:
--
通讯作者:
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
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
影响因子:
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