Title
The gradient-based cache partitioning algorithm
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%.
Year
DOI
Venue
2012
10.1145/2086696.2086723
TACO
Keywords
Field
DocType
8-core system,global goodness metric,cache space,cache replacement,gpa mechanism,cache resource,cache design,gradient-based cache,l3 cache,gradient-based cache partitioning algorithm,maximum throughput,instructions per cycle,gradient descent,chernoff bound,quality of service,hill climbing
Cache invalidation,Cache,Computer science,Real-time computing,Page cache,Cache coloring,Distributed computing,Cache-oblivious algorithm,Cache pollution,Parallel computing,Algorithm,Cache algorithms,Smart Cache
Journal
Volume
Issue
ISSN
8
4
1544-3566
Citations 
PageRank 
References 
10
0.51
14
Authors
5
Name
Order
Citations
PageRank
William Hasenplaugh11928.87
Pritpal S. Ahuja214417.85
A. Jaleel3142670.43
Simon Steely, Jr.42029.52
Joel S. Emer53764308.76