Support for Recovery in Shared Memory Database Systems


Description

Significant performance advantages can be gained by implementing a database system on a cache-coherent shared memory multiprocessor. However, problems arise when failures occur. A single node (where a node refers to a processor/memory pair) crash may require a reboot of the entire shared memory system. Fortunately, shared memory multiprocessors that isolate individual node failures are currently being developed. Even with these, because of the side effects of the cache coherency protocol, a transaction executing strictly on a single node may become dependent on the validity of the memory of many nodes thereby inducing unnecessary transaction aborts. This happens when database objects, such as records, and database support structures, such as index structures and shared lock tables, are stored in shared memory.

In this work, we propose crash recovery protocols for shared memory database systems which avoid the unnecessary transaction aborts induced by the effects of using shared physical memory. Our recovery protocols guarantee that if one or more nodes crash, all the effects of active transactions running on the crashed nodes will be undone, and no effects of transactions running on nodes which did not crash will be undone. In order to show the practicality of our protocols, we discuss how existing features of cache-coherent multiprocessors can be utilized to implement these recovery protocols. Specifically, we demonstrate that (1) for many types of database objects and support structures, volatile (in-memory) logging is sufficient to avoid unnecessary transaction aborts, and (2) a very low overhead implementation of this strategy can be achieved with existing multiprocessor features.


Publications

Lory D. Molesky, and Krithi Ramamritham, "Recovery Protocols for Shared Memory Database Systems", To appear at the 1995 ACM SIGMOD International Conference on the Management of Data (TR 95-25 (formerly TR 94-64)).

Lory D. Molesky, and Krithi Ramamritham, "Recoverable Data Structures for Supporting Parallel Database Applications", First International Workshop on Parallel Processing, December 1994.

Lory D. Molesky, and Krithi Ramamritham, "Recovery Protocols for Cache-Coherent Shared Memory Operating Systems", University of Massachusetts Computer Science Technical Report 94-88, October 1994.

Lory D. Molesky and Krithi Ramamritham, "Multi-Node Multi-Level Transactions", University of Massachusetts Computer Science Technical Report 94-30, March 1994.

Lory D. Molesky, and Krithi Ramamritham, "Efficient Locking for Shared Memory Database Systems", University of Massachusetts Computer Science Technical Report 94-10, March 1994.


Back to the Database Systems Home Page


If you have any comments on this page or need further information, please send your mail to molesky@cs.umass.edu or kamath@cs.umass.edu
Last Update: 23 June 95