Combining software cache partitioning and loop tiling for effective shared cache management

KELEFOURAS, Vasileios, KERAMIDAS, Georgios and VOROS, Nikolaos (2018). Combining software cache partitioning and loop tiling for effective shared cache management. ACM Transactions on Embedded Computing Systems, 17 (3).

[img]
Preview
PDF
kelefouras.pdf - Accepted Version
All rights reserved.

Download (2MB) | Preview
Official URL: https://dl.acm.org/doi/abs/10.1145/3202663
Link to published version:: https://doi.org/10.1145/3202663

Abstract

One of the biggest challenges in multicore platforms is shared cache management, especially for data dominant applications. Two commonly used approaches for increasing shared cache utilization are cache partitioning and loop tiling. However, state-of-the-art compilers lack of efficient cache partitioning and loop tiling methods for two reasons. First, cache partitioning and loop tiling are strongly coupled together, thus addressing them separately is simply not effective. Second, cache partitioning and loop tiling must be tailored to the target shared cache architecture details and the memory characteristics of the co-running workloads. To the best of our knowledge, this is the first time that a methodology provides i) a theoretical foundation in the above mentioned cache management mechanisms and ii) a unified framework to orchestrate these two mechanisms in tandem (not separately). Our approach manages to lower the number of main memory accesses by an order of magnitude keeping at the same time the number of arithmetic/addressing instructions in a minimal level. We motivate this work by showcasing that cache partitioning, loop tiling, data array layouts, shared cache architecture details (i.e., cache size and associativity) and the memory reuse patterns of the executing tasks must be addressed together as one problem, when a (near)- optimal solution is requested. To this end, we present a search space exploration analysis where our proposal is able to offer a vast deduction in the required search space.

Item Type: Article
Uncontrolled Keywords: Cache partitioning, loop tiling, page coloring, data array layouts, memory management ; Theory of computation, Shared memory algorithms, Software and its engineering, Compilers, Retargetable compilers.
Departments - Does NOT include content added after October 2018: Faculty of Science, Technology and Arts > Department of Computing
Identification Number: https://doi.org/10.1145/3202663
Depositing User: Vasileios Kelefouras
Date Deposited: 05 Apr 2018 08:47
Last Modified: 18 Mar 2021 02:51
URI: https://shura.shu.ac.uk/id/eprint/19064

Actions (login required)

View Item View Item

Downloads

Downloads per month over past year

View more statistics