Abstract

Database (DB) and transaction processing systems utilize their own locking of data items instead of using locking services provided by operating systems (OSs). There are two major reasons for this, one deals with the size of lockable items while the other one with efficiency: (i) OSs provide efficient locking of pages by utilizing the Memory Management Unit. The problem is that the system page size is much too large for locking in transaction or DB systems. (ii) Invocation of OS locking services by applications results in context switching, and in many systems in heavy weight context switching, thus greatly reducing efficiency. The focus of this paper is to investigate the use of the Multi-View Memory (MVM) model and its supporting architecture in providing efficient locking services for transaction processing or DB systems. The model provides for enforcement of access-control protocols through finite-state machine (FSM) specification on units of data that can vary in size from one region of memory to another. The locking protocol is specified by an FSM definition and thus facilitates locking of variable-sized data items by threads executing transactions. Threads executing transactions do not explicitly request locks on data items—they simply access the data items while locking is performed automatically and in many instances without software intervention. This is facilitated by hardware assistance in that the FSM definitions and lock unit state information are stored in caches. Only when a thread is suspended are the state changes communicated to the software lock manager. Delays for lock acquisitions through the MVM model architecture are determined and compared with delays due to lock acquisition by a conventional lock manager.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call