Scalar Vector Runahead: Removing the Shackles of Indirect Memory Chains on In-Order Cores
Accepted version
Peer-reviewed
Repository URI
Repository DOI
Change log
Abstract
Modern processors often face the memory wall as a bottleneck, an exacerbated problem for stall-on-use in-order cores. Despite this limitation, there is growing demand for energy-efficient in-order cores due to privacy and sustainability concerns. Scalar vector runahead (SVR) provides an elegant solution by extracting high memory-level parallelism through piggybacking on existing instructions executed on the processor that lead to future irregular memory accesses. SVR speculatively executes multiple transient, independent, parallel instances of memory accesses and their instruction chains, by initiating memory accesses from many different values of a predicted induction variable. This approach moves mutually independent memory accesses next to each other to hide dependent stalls. With a hardware overhead of only 2 KiB and without the need for hardware vector extensions, SVR delivers 3.2 higher performance than a baseline three-wide in-order core inspired by an Arm Cortex A510, and 1.3 higher performance than an out-of-order core, while halving energy consumption.
Description
Journal Title
Conference Name
Journal ISSN
1937-4143

