|
Abstract
Documents
People
|
Multilevel caching is common in many storage configurations,
introducing new challenges to cache management. Some of the existing cache
replacement policies are designed to improve cache hit rates in the absence
of temporal locality, while others avoid replication of data in multiple
caches. Additional policies use application hints, an approach that has been
shown to significantly improve cache utilization, but only in the highest
level of the hierarchy.
Our main contribution is a global, non-centralized, dynamic
and informed management policy for multiple levels of cache.
Karma is
aimed at applications, such as databases, which can easily provide hints.
These hints are leveraged for making informed allocation and replacement
decisions in all cache levels, while preserving exclusive caching, and
adjusting to changes in access patterns. This integrated solution is
significantly better than other approaches in utilizing the aggregate cache
resources.
To show the value of Karma, we compare it to LRU, 2Q, ARC,
MultiQ, LRU-SP and Demote on database and Zipf traces. For complete
evaluation we additionally define extensions of each of these policies to
work in a hierarchical cache. On all but very small caches, Karma shows
significant improvements over other policies. For example, on a permutation
of TPC-H queries, Karma improves over pure LRU by an average of 85%. It adds
an average of 50% to the improvement of Demote over LRU and an average of
25% to that of LRU-SP. |