ACM Transactions on Computer Systems (TOCS)
Proceedings of the 2000 ACM SIGMETRICS international conference on Measurement and modeling of computer systems
SIGMETRICS '02 Proceedings of the 2002 ACM SIGMETRICS international conference on Measurement and modeling of computer systems
2Q: A Low Overhead High Performance Buffer Management Replacement Algorithm
VLDB '94 Proceedings of the 20th International Conference on Very Large Data Bases
Scalable Service Differentiation in a Shared Storage Cache
ICDCS '03 Proceedings of the 23rd International Conference on Distributed Computing Systems
Differentiated Caching Services; A Control-Theoretical Approach
ICDCS '01 Proceedings of the The 21st International Conference on Distributed Computing Systems
DULO: an effective buffer cache management scheme to exploit both temporal and spatial locality
FAST'05 Proceedings of the 4th conference on USENIX Conference on File and Storage Technologies - Volume 4
OSDI'00 Proceedings of the 4th conference on Symposium on Operating System Design & Implementation - Volume 4
Program-counter-based pattern classification in buffer caching
OSDI'04 Proceedings of the 6th conference on Symposium on Opearting Systems Design & Implementation - Volume 6
Argon: performance insulation for shared storage servers
FAST '07 Proceedings of the 5th USENIX conference on File and Storage Technologies
Karma: know-it-all replacement for a multilevel cache
FAST '07 Proceedings of the 5th USENIX conference on File and Storage Technologies
Dynamic partitioning of the cache hierarchy in shared data centers
Proceedings of the VLDB Endowment
Memory resource allocation for file system prefetching: from a supply chain management perspective
Proceedings of the 4th ACM European conference on Computer systems
Application-aware prioritization mechanisms for on-chip networks
Proceedings of the 42nd Annual IEEE/ACM International Symposium on Microarchitecture
Hi-index | 0.00 |
In this paper, we investigate the problem of fair storage cache allocation among multiply competing applications with diversified access rates. Commonly used cache replacement policies like LRU and most LRU variants are inherently unfair in cache allocation for heterogenous applications. They implicitly give more cache to the applications that has high access rate and less cache to the applications of slow access rate. However, applications of fast access rate do not always gain higher performance from the additional cache blocks. In contrast, the slow application suffer poor performance with a reduced cache size. It is beneficial in terms of both performance and fairness to allocate cache blocks by their utility. In this paper, we propose a partition-based cache management algorithm for a shared cache. The goal of our algorithm is to find an allocation such that all heterogenous applications can achieve a specified fairness degree, while maximizing the overall performance. To achieve this goal, we present an adaptive partition framework, which partitions the shared cache among competing applications and dynamic adjusts the partition size based on predicted utility on both fairness and performance. We implemented our algorithm in a storage simulator and evaluated the fairness and performance with various workloads. Experimental results show that, compared with LRU, our algorithm achieves large improvement in fairness and slightly in performance.