The goal of this project is to exploit
consistent patterns of file accesses from
the same contexts of applications to improve file system caching performance.
We developed ways to detect these patterns and a buffer cache structure to
use the detection results.
Adaptive Multi-Policy disk caching (AMP) is a technique that
uses multiple caching policies within one application, and adapts
both which policies to use and their relative fraction of the cache,
based on program-context specific information. AMP differentiate
disk requests based on the program contexts, or code locations, that
issue them. Compared to recent work, AMP is unique in that it
employs a new robust scheme for detecting looping patterns in access
streams, as well as a low-overhead randomized way of managing many
cache partitions. We show that AMP outperforms non-detection-based
caching algorithms on a variety of workloads by up to 50% in miss
rate reduction. Compared to other detection-based schemes, we show
that AMP detects access patterns more accurately for a series of
synthesized workloads, and incurs up to 15% fewer misses for one
Publication and Reports
AMP: Program Context Specific Buffer Caching, Feng Zhou, Rob von
Behren, and Eric Brewer, Proceedings of the Usenix Technical
Conference 2005, Anaheim, CA, April 2005.
Program Context Specific Buffer Caching with AMP, Feng Zhou, Rob von
Behren, and Eric Brewer, UCB Technical Report UCB//CSD-05-1379,
Download AMP software release, version 0.1.0 (3/31/2005). This includes the
prototype Linux 2.6 kernel patch, a file system trace collector and a caching algorithm simulator.