100 likes | 221 Vues
Evaluating the disconnect between DBMS goals and OS services, focusing on buffer pool, file system, IPC, consistency control, and virtual memory. Discusses performance overhead and efficiency issues in UNIX. Provides insights for OS designers to enhance DBMS support.
E N D
Chapter 3Data Storage and Access Methods Title: Operating System Support for Database Management Author: Michael Stonebraker Pages: 217—223
Problem Definition • Apparent disconnect between DBMS performance goals and operating system design and implementation. • Services provided by OS are inadequate and sub-optimal. • Paper evaluates the following services: • Buffer pool management • File system • Interprocess communication • Consistency control • Paged virtual memory
Contributions • Demonstrates OS services are too slow or inappropriate for DBMS tasks. • Attempts to make OS designers aware of and more sensitive to DBMS needs.
Key Concepts • Buffer Pool Management • OS has a fixed buffer pool that handles all I/O • UNIX uses LRU replacement strategy, which may not be ideal for a DBMS • Large performance overhead to pull a block into the buffer. Approx. 5000 instructions for 512 bytes • No good prefetch strategy. • UNIX does not implement a selected force out buffer manager where the DBMS can dictate the order of the commits
Key Concepts • The File System • UNIX implements its file system as character arrays and forces the DBMS to implement its own higher level objects. • Tree Structured File Systems • UNIX implements 2 service using trees • Keeping track of blocks in a given file • Hierarchical directory structure • DBMS adds a third tree to support keyed access • One tree with all 3 kinds of information is more efficient.
Key Concepts • Scheduling Process Management and Interprocess Communication • Performance • Task switches are inevitable • Processes have a great deal of state information making task switches expensive • Critical Sections • Buffer pool is a shared data segment. • Problems arise if OS deschedules a DB process holding a lock on the buffer pool. • Server model • OS needs to provide a message facility for multiple processes to message a single process. • Server must do its own scheduling and multitasking.
Key Concepts • Consistency Control • Many Operating Systems can only place locks at the file level. • DBMS prefer finer granularity. • When DBMS implement its own buffer pool, crash recovery by the operating system would be impossible. • Paged Virtual Memory • Large files may not be able to be stored in memory • Binding chunks of the file into user space may incur a performance loss.
Validation • Content is mostly informational. • Based off previous papers and existing implementations of current systems. • Examples are cited primarily from the UNIX OS and the Ingres DBMS. • Issues could be biased and may not be common or applicable to all OS and DBMS combinations.
Assumptions • Presents the topic as one that is applicable to across a number of DBMS and OS • Author constrains his examples to UNIX and Ingres. • Paper was written in 1981. Operating Systems have advanced considerably since then. His points may no longer be applicable.
Changes if Rewritten Today • Increase the diversity of operating systems and DBMS • Add industry perspective. Are the problems Stonebraker presents really a problem for DBMS designers? • Quantify claims by providing statistical analysis of performance hits.