@inproceedings{9fc7941055de4538905d2e4ef3517d75,
title = "Stream Floating: Enabling Proactive and Decentralized Cache Optimizations",
abstract = "As multicore systems continue to grow in scale and on-chip memory capacity, the on-chip network bandwidth and latency become problematic bottlenecks. Because of this, overheads in data transfer, the coherence protocol and replacement policies become increasingly important. Unfortunately, even in well-structured programs, many natural optimizations are difficult to implement because of the reactive and centralized nature of traditional cache hierarchies, where all requests are initiated by the core for short, cache line granularity accesses. For example, long-lasting access patterns could be streamed from shared caches without requests from the core. Indirect memory access can be performed by chaining requests made from within the cache, rather than constantly returning to the core. Our primary insight is that if programs can embed information about long-Term memory stream behavior in their ISAs, then these streams can be floated to the appropriate level of the memory hierarchy. This decentralized approach to address generation and cache requests can lead to better cache policies and lower request and data traffic by proactively sending data before the cores even request it. To evaluate the opportunities of stream floating, we enhance a tiled multicore cache hierarchy with stream engines to process stream requests in last-level cache banks. We develop several novel optimizations that are facilitated by stream exposure in the ISA, and subsequent exposure to caches. We evaluate using a cycle-level execution-driven gem5-based simulator, using 10 data-processing workloads from Rodinia and 2 streaming kernels written in OpenMP. We find that stream floating enables 52% and 39% speedup over an inorder and OOO core with state of art prefetcher design respectively, with 64% and 49% energy efficiency advantage.",
keywords = "Decoupled Access Execute, ISA, Memory Specialization, Microarchitecture, Network on Chip, Prefetching, Proactive Cache, Specialization, Stream",
author = "Zhengrong Wang and Jian Weng and Jason Lowe-Power and Jayesh Gaur and Tony Nowatzki",
note = "Publisher Copyright: {\textcopyright} 2021 IEEE.; 27th Annual IEEE International Symposium on High Performance Computer Architecture, HPCA 2021 ; Conference date: 27-02-2021 Through 01-03-2021",
year = "2021",
month = feb,
doi = "10.1109/HPCA51647.2021.00060",
language = "English (US)",
series = "Proceedings - International Symposium on High-Performance Computer Architecture",
publisher = "IEEE Computer Society",
pages = "640--653",
booktitle = "Proceeding - 27th IEEE International Symposium on High Performance Computer Architecture, HPCA 2021",
address = "United States",
}