Title :
Microarchitecture optimizations for exploiting memory-level parallelism
Author :
Chou, Yuan ; Fahs, Brian ; Abraham, Santosh
Author_Institution :
Processor & Network Products, Sun Microsystems, Sunnyvale, CA, USA
Abstract :
The performance of memory-bound commercial applications such as databases is limited by increasing memory latencies. In this paper, we show that exploiting memory-level parallelism (MLP) is an effective approach for improving the performance of these applications and that microarchitecture has a profound impact on achievable MLP. Using the epoch model of MLP, we reason how traditional microarchitecture features such as out-of-order issue and state-of-the-art microarchitecture techniques such as runahead execution affect MLP. Simulation results show that a moderately aggressive out-of-order issue processor improves MLP over an in-order issue processor by 12-30%, and that aggressive handling of loads, branches and serializing instructions is needed to attain the full benefits of large out-of-order instruction windows. The results also show that a processor´s issue window and reorder buffer should be decoupled to exploit MLP more efficiently. In addition, we demonstrate that runahead execution is highly effective in enhancing MLP, potentially improving the MLP of the database workload by 82% and its overall performance by 60%. Finally, our limit study shows that there is considerable headroom in improving MLP and overall performance by implementing effective instruction prefetching, more accurate branch prediction and better value prediction in addition to runahead execution.
Keywords :
cache storage; instruction sets; memory architecture; parallel architectures; storage management; branch handling; database workload; in-order issue processor; instruction prefetching; instruction serialization; load handling; memory latencies; memory-bound commercial applications; memory-level parallelism; microarchitecture optimizations; microarchitecture techniques; out-of-order instruction windows; out-of-order issue processor; reorder buffer; runahead execution; Application software; Databases; Delay; Frequency; Microarchitecture; Microprocessors; Out of order; Parallel processing; Pipeline processing; Prefetching;
Conference_Titel :
Computer Architecture, 2004. Proceedings. 31st Annual International Symposium on
Print_ISBN :
0-7695-2143-6
DOI :
10.1109/ISCA.2004.1310765