Title
Boomerang: A Metadata-Free Architecture for Control Flow Delivery
Abstract
Contemporary server workloads feature massive instruction footprints stemming from deep, layered software stacks. The active instruction working set of the entire stack can easily reach into megabytes, resulting in frequent frontend stalls due to instruction cache misses and pipeline flushes due to branch target buffer (BTB) misses. While a number of techniques have been proposed to address these problems, every one of them requires dedicated metadata structures, translating into significant storage and complexity costs. In this paper, we ask the question whether it is possible to achieve high-performance control flow delivery without the metadata costs of prior techniques. We revisit a previously proposed approach of branch-predictor-directed prefetching, which leverages just the branch predictor and BTB to discover and prefetch the missing instruction cache blocks by exploring the program control flow ahead of the core front-end. Contrary to conventional wisdom, we find that this approach can be effective in covering instruction cache misses in modern CMPs with long LLC access latencies and multi-MB server binaries. Our first contribution lies in explaining the reasons for the efficacy of branch-predictor-directed prefetching. Our second contribution is in Boomerang, a metadata-free architecture for control flow delivery. Boomerang leverages a branch-predictor-directed prefetcher to discover and prefill not only the instruction cache blocks, but also the missing BTB entries. Crucially, we demonstrate that the additional hardware cost required to identify and fill BTB misses is negligible. Our experimental evaluation shows that Boomerang matches the performance of the state-of-the-art control flow delivery scheme without the latter's high metadata and complexity overheads.
Year
DOI
Venue
2017
10.1109/HPCA.2017.53
2017 IEEE International Symposium on High Performance Computer Architecture (HPCA)
Keywords
Field
DocType
Server Processors,Microarchitecture,Core Front-end,Instruction Prefetching,BTB Prefetching,Branch-predictor-directed Prefetching,Control Flow Delivery
Metadata,Working set,Computer science,Cache,Control flow,Parallel computing,Server,Branch target predictor,Computer network,Real-time computing,Instruction prefetch,Branch predictor
Conference
ISSN
ISBN
Citations 
1530-0897
978-1-5090-4986-8
6
PageRank 
References 
Authors
0.40
14
4
Name
Order
Citations
PageRank
Rakesh Kumar1223.62
Cheng-Chieh Huang2542.26
Boris Grot374835.18
Vijay Nagarajan434023.25