Download:
|
by Feng Zhou, Feng Zhou, Rob Von Behren, Rob Von Behren, Eric Brewer, Eric Brewer
http://digitalassets.lib.berkeley.edu/techreports/ucb/text/CSD-05-1379.ps
Add To MetaCart
Abstract:
We present Adaptive Multi-Policy buffer caching (AMP), which uses multiple caching policies within one application, and adapts both which policies to use and their relative fraction of the cache. AMP differentiates disk requests based on the program contexts that issue them, and detects access pattern for each program context. This approach leads to detected patterns more stable than previous approaches that do detection based on processes and files. Compared to recent work, AMP is unique in that it employs a novel 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. For example, AMP reduces cache miss rate by up to 50 % on a large database workloads. Other applications show about 20%-30 % reduction in cache miss rate. Compared to other detection-based schemes, AMP detects access patterns more accurately in our experiment with a series of synthesized workloads, and incurs up to 15 % fewer misses for one of the application traces. Experience with a Linux implementation is reported. Our prototype shortens the run time of a large database workload by 9.6%. 1
Citations
|
519
|
Exokernel: An operating system architecture for application-level resource management
– Engler, Kaashoek, et al.
- 1995
|
|
375
|
Measurements of a Distributed File System
– Baker, Hartman, et al.
- 1991
|
|
301
|
Informed prefetching and caching
– Patterson, Gibson, et al.
- 1995
|
|
226
|
A trace-driven analysis of the UNIX 4.2 BSD file system
– Ousterhout, Costa, et al.
- 1985
|
|
212
|
The LRU-k Page Replacement Algorithm for Database Disk Buffering
– O’Neil, O’Neil, et al.
- 1993
|
|
205
|
Operating system support for database management
– Stonebraker
- 1981
|
|
160
|
Operating Systems Theory
– Coffman, Denning
- 1973
|
|
151
|
The Benchmark Handbook for Database and Transaction Processing Systems
– Gray
- 1991
|
|
135
|
An Evaluation of Buffer Management Strategies for Relational Database Systems
– Chou, DeWitt
- 1985
|
|
126
|
Application-Controlled Physical Memory using External Page-Cache Management
– Harty, Cheriton
- 1991
|
|
122
|
2Q: A Low Overhead High Performance Buffer Management Replacement Algorithm
– Johnson, Shasha
- 1994
|
|
76
|
Application-Controlled File Caching Policies
– Cao, Felten, et al.
- 1994
|
|
71
|
Capriccio: Scalable Threads for Internet Services
– Behren, Condit, et al.
- 2003
|
|
36
|
An Inter-Reference Gap Model for Temporal Locality in Program Behavior
– Phalke, Gopinath
- 1995
|
|
33
|
Improving disk cache hit-ratios through cache partitioning
– Thiébaut, Stone, et al.
- 1992
|
|
13
|
Sang Lyul Min, Yookun Cho, and Chong-Sang Kim. On the existence of a spectrum of policies that subsumes the least recently used (LRU) and least frequently used (LFU) policies
– Lee, Choi, et al.
- 1999
|
|
11
|
Outperforming LRU with an adaptive replacement cache algorithm
– Megiddo, Modha
|
|
7
|
Understanding the Linux Kernel. O’Reilly, 2nd edition
– Bovet, Cesati
- 2002
|
|
6
|
Program counter based pattern classification in buffer caching
– Gniady, Butt, et al.
- 2004
|
|
4
|
Sang Lyul Min, and Yookun Cho. An implementation study of a detection-based adaptive block replacement scheme
– Choi, Noh
- 1999
|
|
3
|
Clock with adaptive replacement
– CAR
- 2004
|
|
3
|
Christos Faloutsos, and Timos Sellis. Flexible and adaptable buffer management techniques for database management systems
– Ng
- 1995
|