Minipage locking support for object-oriented page-server DBMS

  • Authors:
  • S. Iris Chu;Marianne Winslett

  • Affiliations:
  • Computer Science Department, University of Illinois, 1304 W. Springfield Ave., Urbana, IL;Computer Science Department, University of Illinois, 1304 W. Springfield Ave., Urbana, IL

  • Venue:
  • CIKM '94 Proceedings of the third international conference on Information and knowledge management
  • Year:
  • 1994

Quantified Score

Hi-index 0.00

Visualization

Abstract

Many object-oriented database systems are implemented using a page-server architecture for its performance advantages. Since the applications envisioned for object-oriented DBMSes typically spend a great deal of time processing data already in memory, fast in-memory access is very important. A page-server architecture will permit an implementation where most routine reference following (i.e., where the referenced data is in memory and appropriately locked) is handled by virtual memory hardware to eliminate expensive software overhead. One of the major drawbacks of this approach is that locking and authorization must be handled on a per-page basis, causing unacceptable low concurrency for high-contention data pages and difficulties in supporting fine-grained authorization. With hardware support on the client side for locks on minipages (subdivisions of a page), however, it is possible to have good improvements in concurrency for high-contention areas of the database, along with the ability to do fine-grained authorization. This paper presents a callback-read locking scheme that makes use of hardware-assisted locking of minipages and compares its performance with one that uses page protection under four different workloads. Minipages are already available in several commonly used platforms, but only at the internal levels of the operating system. We conclude that minipages improve performance significantly in high-contention workloads, with minimal performance impact under low-contention workloads, and that minipage facilities should be made visible to client DBMS code. We also discuss the application of our locking algorithms to page servers that supporting object-level locking.