The design of the UNIX operating system
The design of the UNIX operating system
Data cache management using frequency-based replacement
SIGMETRICS '90 Proceedings of the 1990 ACM SIGMETRICS conference on Measurement and modeling of computer systems
Second bibliography on Cache memories
ACM SIGARCH Computer Architecture News
Analysis of the generalized clock buffer replacement scheme for database transaction processing
SIGMETRICS '92/PERFORMANCE '92 Proceedings of the 1992 ACM SIGMETRICS joint international conference on Measurement and modeling of computer systems
The LRU-K page replacement algorithm for database disk buffering
SIGMOD '93 Proceedings of the 1993 ACM SIGMOD international conference on Management of data
UNIX internals: the new frontiers
UNIX internals: the new frontiers
The design and implementation of the 4.4BSD operating system
The design and implementation of the 4.4BSD operating system
Operating systems (2nd ed.): design and implementation
Operating systems (2nd ed.): design and implementation
SIGMETRICS '99 Proceedings of the 1999 ACM SIGMETRICS international conference on Measurement and modeling of computer systems
Sequentiality and prefetching in database systems
ACM Transactions on Database Systems (TODS)
Principles of Optimal Page Replacement
Journal of the ACM (JACM)
SIGMETRICS '02 Proceedings of the 2002 ACM SIGMETRICS international conference on Measurement and modeling of computer systems
Operating Systems Theory
Operating System Concepts
IEEE Transactions on Computers
Starburst Mid-Flight: As the Dust Clears
IEEE Transactions on Knowledge and Data Engineering
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
Bibliography on paging and related topics
ACM SIGOPS Operating Systems Review
WSCLOCK—a simple and effective algorithm for virtual memory management
SOSP '81 Proceedings of the eighth ACM symposium on Operating systems principles
ARC: A Self-Tuning, Low Overhead Replacement Cache
FAST '03 Proceedings of the 2nd USENIX Conference on File and Storage Technologies
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
CLOCK-Pro: an effective improvement of the CLOCK replacement
ATEC '05 Proceedings of the annual conference on USENIX Annual Technical Conference
Second-tier cache management using write hints
FAST'05 Proceedings of the 4th conference on USENIX Conference on File and Storage Technologies - 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
The Performance Impact of Kernel Prefetching on Buffer Cache Replacement Algorithms
IEEE Transactions on Computers
Matrix-Stripe-Cache-Based Contiguity Transform for Fragmented Writes in RAID-5
IEEE Transactions on Computers
Out-of-core and compressed level set methods
ACM Transactions on Graphics (TOG)
Path: page access tracking to improve memory management
Proceedings of the 6th international symposium on Memory management
A new approach to dynamic self-tuning of database buffers
ACM Transactions on Storage (TOS)
Prefetch throttling and data pinning for improving performance of shared caches
Proceedings of the 2008 ACM/IEEE conference on Supercomputing
On adaptive replacement based on LRU with working area restriction algorithm
ACM SIGOPS Operating Systems Review
Profiler and compiler assisted adaptive I/O prefetching for shared storage caches
Proceedings of the 17th international conference on Parallel architectures and compilation techniques
Quasistatic shared libraries and XIP for memory footprint reduction in MMU-less embedded systems
ACM Transactions on Embedded Computing Systems (TECS)
CLIC: client-informed caching for storage servers
FAST '09 Proccedings of the 7th conference on File and storage technologies
A cost-aware page replacement algorithm for NAND flash based mobile embedded systems
EMSOFT '09 Proceedings of the seventh ACM international conference on Embedded software
SOPA: Selecting the optimal caching policy adaptively
ACM Transactions on Storage (TOS)
High performance cache replacement using re-reference interval prediction (RRIP)
Proceedings of the 37th annual international symposium on Computer architecture
A Capabilities-Aware Programming Model for Asymmetric High-End Systems
CCGRID '10 Proceedings of the 2010 10th IEEE/ACM International Conference on Cluster, Cloud and Grid Computing
STOW: a spatially and temporally optimized write caching algorithm
USENIX'09 Proceedings of the 2009 conference on USENIX Annual technical conference
Data caching as a cloud service
Proceedings of the 4th International Workshop on Large Scale Distributed Systems and Middleware
Dueling CLOCK: adaptive cache replacement policy based on the CLOCK algorithm
Proceedings of the Conference on Design, Automation and Test in Europe
ACAR: an adaptive cost aware cache replacement approach for flash memory
WAIM'10 Proceedings of the 11th international conference on Web-age information management
Fast restore of checkpointed memory using working set estimation
Proceedings of the 7th ACM SIGPLAN/SIGOPS international conference on Virtual execution environments
Management of Multilevel, Multiclient Cache Hierarchies with Application Hints
ACM Transactions on Computer Systems (TOCS)
Cost-aware caching schemes in heterogeneous storage systems
The Journal of Supercomputing
An adaptive write buffer management scheme for flash-based SSDs
ACM Transactions on Storage (TOS)
Low-overhead decision support for dynamic buffer reallocation
Computer Science - Research and Development
Pre-Copy and post-copy VM live migration for memory intensive applications
Euro-Par'12 Proceedings of the 18th international conference on Parallel processing workshops
Lifetime and QoS-aware energy-saving buffering schemes
Journal of Systems and Software
Design and implementation of caching services in the cloud
IBM Journal of Research and Development
An effectiveness-based adaptive cache replacement policy
Microprocessors & Microsystems
Hi-index | 0.01 |
CLOCK is a classical cache replacement policy dating back to 1968 that was proposed as a low-complexity approximation to LRU. On every cache hit, the policy LRU needs to move the accessed item to the most recently used position, at which point, to ensure consistency and correctness, it serializes cache hits behind a single global lock. CLOCK eliminates this lock contention, and, hence, can support high concurrency and high throughput environments such as virtual memory (for example, Multics, UNIX, BSD, AIX) and databases (for example, DB2). Unfortunately, CLOCK is still plagued by disadvantages of LRU such as disregard for "frequency", susceptibility to scans, and low performance.As our main contribution, we propose a simple and elegant new algorithm, namely, CLOCK with Adaptive Replacement (CAR), that has several advantages over CLOCK: (i) it is scan-resistant; (ii) it is self-tuning and it adaptively and dynamically captures the "recency" and "frequency" features of a workload; (iii) it uses essentially the same primitives as CLOCK, and, hence, is low-complexity and amenable to a high-concurrency implementation; and (iv) it outperforms CLOCK across a wide-range of cache sizes and workloads. The algorithm CAR is inspired by the Adaptive Replacement Cache (ARC) algorithm, and inherits virtually all advantages of ARC including its high performance, but does not serialize cache hits behind a single global lock. As our second contribution, we introduce another novel algorithm, namely, CAR with Temporal filtering (CART), that has all the advantages of CAR, but, in addition, uses a certain temporal filter to distill pages with long-term utility from those with only short-term utility.