A Study of the Interactions Between Operating System Memory Management and Database Buffer Management Strategies
Kim, Kyongsok
This item is only available for download by members of the University of Illinois community. Students, faculty, and staff at the U of I may log in with your NetID and password to view the item. If you are trying to access an Illinois-restricted dissertation or thesis, you can request a copy through your library's Inter-Library Loan office or purchase a copy directly from ProQuest.
Permalink
https://hdl.handle.net/2142/69602
Description
Title
A Study of the Interactions Between Operating System Memory Management and Database Buffer Management Strategies
Author(s)
Kim, Kyongsok
Issue Date
1988
Doctoral Committee Chair(s)
Belford, Geneva G.
Department of Study
Computer Science
Discipline
Computer Science
Degree Granting Institution
University of Illinois at Urbana-Champaign
Degree Name
Ph.D.
Degree Level
Dissertation
Keyword(s)
Computer Science
Abstract
Database management systems (DBMS) are usually built "on top of" operating systems (OS), using the memory management facilities that those systems provide. But in addition, for efficiency of data retrieval and manipulation, the DBMS generally provides its own data buffering. The DBMS designer will often choose to put the DBMS-managed buffer pool in user space to save on overhead.
The implication of these facts is that in a virtual memory system the DBMS buffer pool is likely to be paged like any other part of user space. The buffer replacement strategy implemented by the DBMS will in that case be affected by the page replacement strategy implemented by the OS. Unfortunately, there is insufficient guidance in the literature as to how buffering and paging strategies might affect each other; or indeed as to whether there exists an effect large enough for DBMS and OS designers to worry about. Accordingly, a thorough simulation study was undertaken to answer these questions.
Our study showed that performance of a DBMS is affected by both paging and buffering algorithms; the performance of a specific combination results from a kind of "addition" of effects of the two algorithms. Outside of providing a warning against LFU, our simulations did not yield any definitive choice for buffering/paging combination nor did it turn up any combinations that worked poorly together. Because most DBMSs run on top of a given operating system, it is also important to study efficient buffer management under the paging algorithm of the given operating system. It is recommended that, instead of prefetching pages at the time of a buffer hit, pages should only be tag-along fetched at the time of a demand fetch.
For more investigation, we recommend that experiments be done with working DBMSs to verify/implement the results. There are neither experimental run length distributions nor empirical data as to whether or not there is locality in relational-type reference strings and it is strongly suggested that such an investigation be made. The results shown in this thesis will be helpful in designing/implementing an "intelligent" buffer manager.
Use this login method if you
don't
have an
@illinois.edu
email address.
(Oops, I do have one)
IDEALS migrated to a new platform on June 23, 2022. If you created
your account prior to this date, you will have to reset your password
using the forgot-password link below.