For major enterprises to fully utilize their digitally encoded information resources, computing technology must rapidly service the transactions which implement database query facilities. Since commercial computing environments normally have databases which exceed the related host processor's memory (real or virtual) by several orders of magnitude, one is encouraged to investigate methods of improving transaction throughput with more efficient buffer management algorithms. The work reported in this area suggests that buffer management software can be improved by exploiting knowledge of the underlying database reference behavior. Although a number of database reference studies have been performed over the last decade, the findings generally do not agree and appear conflicting in some cases. To address this issue, we have conducted an extensive empirical study of the database reference behavior generated by transactions operating in large commercial online DBMS environments. Our results indicate that database reference patterns span a spectrum which includes widely varying degrees of locality and sequentiality. Furthermore, transactions in such environments tend to exhibit nearly identical database reference behavior over extended periods of time. Recognizing this, we introduce a buffer management strategy, termed the resident set approach, which exploits the highly predictable database reference behavior that we observed.To evaluate the resident set strategy, we have formulated one specific algorithm where database blocks may be selectively prefetched while buffer faults are serviced. Fetch and replacement decisions for this algorithm are guided by locality and sequentiality measures pre-computed from historical database reference traces. The algorithm strives to improve transaction throughput by reducing either space-time costs associated with the database buffer allocation, or transaction execution times. Although intuition may suggest the contrary, prefetching database blocks for sequential reference patterns was found generally not beneficial with respect to decreasing space-time costs. During sequential reference epochs, we demonstrate that space-time costs are minimized by using demand fetching with single frame buffer allocations. For computing environments rich in memory, our buffer management simulations also show that prefetching blocks related to highly sequential reference patterns can dramatically decrease transaction execution time and thereby improve throughput.
Cited By
- Kearns J and DeFazio S Diversity in database reference behavior Proceedings of the 1989 ACM SIGMETRICS international conference on Measurement and modeling of computer systems, (11-19)
- Kearns J and DeFazio S (1989). Diversity in database reference behavior, ACM SIGMETRICS Performance Evaluation Review, 17:1, (11-19), Online publication date: 1-Apr-1989.
Index Terms
- Predictive database buffer management strategies: an empirical approach
Recommendations
Second-Level Buffer Cache Management
Abstract--Buffer caches are commonly used in servers to reduce the number of slow disk accesses or network messages. These buffer caches form a multilevel buffer cache hierarchy. In such a hierarchy, second-level buffer caches have different access ...
Empirical evaluation of multi-level buffer cache collaboration for storage systems
Performance evaluation reviewTo bridge the increasing processor-disk performance gap, buffer caches are used in both storage clients (e.g. database systems) and storage servers to reduce the number of slow disk accesses. These buffer caches need to be managed effectively to deliver ...
SRM-buffer: an OS buffer management technique to prevent last level cache from thrashing in multicores
EuroSys '11: Proceedings of the sixth conference on Computer systemsBuffer caches in operating systems keep active file blocks in memory to reduce disk accesses. Related studies have been focused on how to minimize buffer misses and the caused performance degradation. However, the side effects and performance ...