Principles of transaction-oriented database recovery
ACM Computing Surveys (CSUR)
Cache coherence protocols: evaluation using a multiprocessor simulation model
ACM Transactions on Computer Systems (TOCS)
Concurrency control and recovery in database systems
Concurrency control and recovery in database systems
ACM Transactions on Database Systems (TODS)
Access method concurrency with recovery
SIGMOD '92 Proceedings of the 1992 ACM SIGMOD international conference on Management of data
ARIES/IM: an efficient and high concurrency index management method using write-ahead logging
SIGMOD '92 Proceedings of the 1992 ACM SIGMOD international conference on Management of data
Cache coherence in large-scale shared-memory multiprocessors: issues and comparisons
ACM Computing Surveys (CSUR)
Transactional memory: architectural support for lock-free data structures
ISCA '93 Proceedings of the 20th annual international symposium on computer architecture
Algorithms for flexible space management in transaction systems supporting fine-granularity locking
EDBT '94 Proceedings of the 4th international conference on extending database technology: Advances in database technology
The Stanford FLASH multiprocessor
ISCA '94 Proceedings of the 21st annual international symposium on Computer architecture
VAXcluster: a closely-coupled distributed system
ACM Transactions on Computer Systems (TOCS)
Performance of an OLTP application on symmetry multiprocessor system
ISCA '90 Proceedings of the 17th annual international symposium on Computer Architecture
Transaction Processing: Concepts and Techniques
Transaction Processing: Concepts and Techniques
Guardians and actions: linguistic support for robust, distributed programs
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Performance Evaluation of Transaction Processing Coupling Architectures for Handling System Dynamics
IEEE Transactions on Parallel and Distributed Systems
A Performance Comparison of Two Architectures for Fast Transaction Processing
Proceedings of the Fourth International Conference on Data Engineering
An Analysis of Three Transaction Processing Architectures
VLDB '88 Proceedings of the 14th International Conference on Very Large Data Bases
VLDB '91 Proceedings of the 17th International Conference on Very Large Data Bases
Efficient Locking for Shared Memory Database Systems
Efficient Locking for Shared Memory Database Systems
Hi-index | 0.00 |
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 paper, 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.