The design of the UNIX operating system
The design of the UNIX operating system
Operating systems: design and implementation
Operating systems: design and implementation
Cache Operations by MRU Change
IEEE Transactions on Computers
Combining the concepts of compression and caching for a two-level filesystem
ASPLOS IV Proceedings of the fourth international conference on Architectural support for programming languages and operating systems
Improving Disk Cache Hit-Ratios Through Cache Partitioning
IEEE Transactions on Computers
High-performance file system design
High-performance file system design
The LRU-K page replacement algorithm for database disk buffering
SIGMOD '93 Proceedings of the 1993 ACM SIGMOD international conference on Management of data
Informed prefetching and caching
SOSP '95 Proceedings of the fifteenth ACM symposium on Operating systems principles
ACM Transactions on Computer Systems (TOCS)
Adaptive page replacement based on memory reference behavior
SIGMETRICS '97 Proceedings of the 1997 ACM SIGMETRICS international conference on Measurement and modeling of computer systems
EELRU: simple and effective adaptive page replacement
SIGMETRICS '99 Proceedings of the 1999 ACM SIGMETRICS international conference on Measurement and modeling of computer systems
SIGMETRICS '99 Proceedings of the 1999 ACM SIGMETRICS international conference on Measurement and modeling of computer systems
Compiler-based I/O prefetching for out-of-core applications
ACM Transactions on Computer Systems (TOCS)
SIGMETRICS '02 Proceedings of the 2002 ACM SIGMETRICS international conference on Measurement and modeling of computer systems
Program Behavior: Models and Measurements
Program Behavior: Models and Measurements
IEEE Transactions on Computers
IEEE Transactions on Computers
Learning to Classify Parallel Input/Output Access Patterns
IEEE Transactions on Parallel and Distributed Systems
2Q: A Low Overhead High Performance Buffer Management Replacement Algorithm
VLDB '94 Proceedings of the 20th International Conference on Very Large Data Bases
The Multi-Queue Replacement Algorithm for Second Level Buffer Caches
Proceedings of the General Track: 2002 USENIX Annual Technical Conference
WSCLOCK—a simple and effective algorithm for virtual memory management
SOSP '81 Proceedings of the eighth ACM symposium on Operating systems principles
An Efficient Data Location Protocol for Self.organizing Storage Clusters
Proceedings of the 2003 ACM/IEEE conference on Supercomputing
The performance impact of kernel prefetching on buffer cache replacement algorithms
SIGMETRICS '05 Proceedings of the 2005 ACM SIGMETRICS international conference on Measurement and modeling of computer systems
IEEE Transactions on Computers
ARC: A Self-Tuning, Low Overhead Replacement Cache
FAST '03 Proceedings of the 2nd USENIX Conference on File and Storage Technologies
Program Counter-Based Prediction Techniques for Dynamic Power Management
IEEE Transactions on Computers
AMP: program context specific buffer caching
ATEC '05 Proceedings of the annual conference on USENIX Annual Technical Conference
CLOCK-Pro: an effective improvement of the CLOCK replacement
ATEC '05 Proceedings of the annual conference on USENIX Annual Technical Conference
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
GLIMPSE: a tool to search through entire file systems
WTEC'94 Proceedings of the USENIX Winter 1994 Technical Conference on USENIX Winter 1994 Technical Conference
Application-controlled file caching policies
USTC'94 Proceedings of the USENIX Summer 1994 Technical Conference on USENIX Summer 1994 Technical Conference - Volume 1
An implementation study of a detection-based adaptive block replacement scheme
ATEC '99 Proceedings of the annual conference on USENIX Annual Technical Conference
Prefetching with adaptive cache culling for striped disk arrays
ATC'08 USENIX 2008 Annual Technical Conference on Annual Technical Conference
Hi-index | 14.98 |
While many block replacement algorithms for buffer caches have been proposed to address the well-known drawbacks of the LRU algorithm, they are not robust and cannot maintain an consistent performance improvement over all workloads. This paper proposes a novel and simple replacement scheme, called RACE (Robust Adaptive buffer Cache management schemE), which differentiates the locality of I/O streams by actively detecting access patterns inherently exhibited in two correlated spaces: the discrete block space of program contexts from which I/O requests are issued and the continuous block space within files to which I/O requests are addressed. This scheme combines global I/O regularities of an application and local I/O regularities of individual files accessed in that application to accurately estimate the locality strength, which is crucial in deciding which blocks are to be replaced upon a cache miss. Through comprehensive simulations on eight real-application traces, RACE is shown to significantly outperform LRU and all other state-of-the-art cache management schemes studied in this paper, in terms of absolute hit ratios. Specifically, it improves the absolute hit ratios of LRU, UBM, PCC and AMP by as much as 56.9%, 22.5%, 42.7% and 39.9%, with an average of 15.5%, 3.3%, 9.4% and 8.8%, respectively. Given the relatively high buffer cache miss penalties, which typically are six orders of magnitude higher than buffer cache hit times, these gains of hit ratios obtained by RACE are likely to imply significant performance gains in applications' response times as well.