The gradient-based cache partitioning algorithm
- 26 January 2012
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Architecture and Code Optimization
- Vol. 8 (4), 1-21
- https://doi.org/10.1145/2086696.2086723
Abstract
This paper addresses the problem of partitioning a cache between multiple concurrent threads and in the presence of hardware prefetching. Cache replacement designed to preserve temporal locality (e.g., LRU) will allocate cache resources proportional to the miss-rate of each competing thread irrespective of whether the cache space will be utilized [Qureshi and Patt 2006]. This is clearly suboptimal as applications vary dramatically in their use of recently accessed data. We address this problem by partitioning a shared cache such that a global goodness metric is optimized. This paper introduces the Gradient-based Cache Partitioning Algorithm (GPA), whose variants optimize either hitrate, total instructions per cycle (IPC) or a weighted IPC metric designed to enforce Quality of Service (QoS) [Iyer 2004]. In the context of QoS, GPA enables us to obtain the maximum throughput of low-priority threads, while ensuring high performance on high-priority threads. The GPA mechanism is robust, low-cost, integrates easily with existing cache designs and improves the throughput of an in-order 8-core system sharing an 8MB L3 cache by ∼14%.Keywords
This publication has 17 references indexed in Scilit:
- QoS policies and architecture for cache/memory in CMP platformsPublished by Association for Computing Machinery (ACM) ,2007
- Virtual private cachesPublished by Association for Computing Machinery (ACM) ,2007
- From chaos to QoSACM SIGARCH Computer Architecture News, 2007
- Architectural support for operating system-driven CMP cache managementPublished by Association for Computing Machinery (ACM) ,2006
- A Case for MLP-Aware Cache ReplacementPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2006
- An analytical model for cache replacement policy performancePublished by Association for Computing Machinery (ACM) ,2006
- A Cache-Partitioning Aware Replacement Policy for Chip MultiprocessorsLecture Notes in Computer Science, 2006
- Performance evaluation of cache replacement policies for the SPEC CPU2000 benchmark suitePublished by Association for Computing Machinery (ACM) ,2004
- Dynamic Partitioning of Shared Cache MemoryThe Journal of Supercomputing, 2004
- Optimal partitioning of cache memoryInternational Conference on Acoustics, Speech, and Signal Processing (ICASSP), 1992