Blasting Through The Front-End Bottleneck With Shotgun

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

The front-end bottleneck is a well-established problem in server workloads owing to their deep software stacks and large instruction working sets. Despite years of research into effective L1-I and BTB prefetching, state-of-the-art techniques force a trade-off between performance and metadata storage costs. This work introduces Shotgun, a BTB-directed front-end prefetcher powered by a new BTB organization that maintains a logical map of an application’s instruction footprint, which enables high-efficacy prefetching at low storage cost. To map active code regions, Shotgun precisely tracks an application’s global control flow (e.g., function and trap routine entry points) and summarizes local control flow within each code region. Because the local control flow enjoys high spatial locality, with most functions comprised of a handful of instruction cache blocks, it lends itself to a compact region-based encoding. Meanwhile, the global control flow is naturally captured by the application’s unconditional branch working set (calls, returns, traps). Based on these insights, Shotgun devotes the bulk of its BTB capacity to branches responsible for the global control flow and a spatial encoding of their target regions. By effectively capturing a map of the application’s instruction footprint in the BTB, Shotgun enables highly effective BTB-directed prefetching. Using a storage budget equivalent to a conventional BTB, Shotgun outperforms the
state-of-the-art BTB-directed front-end prefetcher by up to 14% on a set of varied commercial workloads.
Original languageEnglish
Title of host publication23rd ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS ’18)
Place of PublicationWilliamsburg, VA, USA
PublisherACM
Pages30-42
Number of pages13
ISBN (Print)978-1-4503-4911-6
DOIs
Publication statusPublished - 19 Mar 2018
EventThe 23rd ACM International Conference on Architectural Support for Programming Languages and Operating Systems - Williamsburg, United States
Duration: 24 Mar 201828 Mar 2018
https://www.asplos2018.org/

Conference

ConferenceThe 23rd ACM International Conference on Architectural Support for Programming Languages and Operating Systems
Abbreviated titleASPLOS2018
Country/TerritoryUnited States
CityWilliamsburg
Period24/03/1828/03/18
Internet address

Fingerprint

Dive into the research topics of 'Blasting Through The Front-End Bottleneck With Shotgun'. Together they form a unique fingerprint.

Cite this