Affiliation:
1. Dept. of Computer Science and Engineering, University of California, San Diego
2. Microcomputer Research Labs, Intel Corporation
Abstract
As the gap between memory and processor speeds continues to widen, cache eficiency is an increasingly important component of processor performance. Compiler techniques have been used to improve instruction cache pet$ormance by mapping code with temporal locality to different cache blocks in the virtual address space eliminating cache conflicts. These code placement techniques can be applied directly to the problem of placing data for improved data cache pedormance.In this paper we present a general framework for Cache Conscious Data Placement. This is a compiler directed approach that creates an address placement for the stack (local variables), global variables, heap objects, and constants in order to reduce data cache misses. The placement of data objects is guided by a temporal relationship graph between objects generated via profiling. Our results show that profile driven data placement significantly reduces the data miss rate by 24% on average.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
41 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. VCMalloc: A Virtually Contiguous Memory Allocator;IEEE Transactions on Computers;2023-12
2. The Bounded Pathwidth of Control-Flow Graphs;Proceedings of the ACM on Programming Languages;2023-10-16
3. Online Application Guidance for Heterogeneous Memory Systems;ACM Transactions on Architecture and Code Optimization;2022-07-06
4. Efficient approximations for cache-conscious data placement;Proceedings of the 43rd ACM SIGPLAN International Conference on Programming Language Design and Implementation;2022-06-09
5. Software-defined address mapping: a case on 3D memory;Proceedings of the 27th ACM International Conference on Architectural Support for Programming Languages and Operating Systems;2022-02-22