Back to Search Start Over

Twig: Profile-Guided BTB Prefetching for Data Center Applications

Authors :
Niranjan Soundararajan
Joseph Devietti
Sreenivas Subramoney
Akshitha Sriraman
Tanvir Ahmed Khan
Heiner Litz
Gilles Pokam
Nathan Brown
Baris Kasikci
Rakesh Kumar
Source :
MICRO
Publication Year :
2021
Publisher :
Association for Computing Machinery (ACM), 2021.

Abstract

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).

Details

Language :
English
Database :
OpenAIRE
Journal :
MICRO
Accession number :
edsair.doi.dedup.....4c927198ef7afb36357434dd3b18d494