EFFICIENT DEADLOCK DETECTION AND RESOLUTION FOR SHARED DISK MULTI-PROCESSOR
Original Publication Date: 2001-Apr-01
Included in the Prior Art Database: 2003-Jun-18
Disclosed is a technique for efficiently detecting and resolving deadlocks between transactions running on shared disk multi-processor database management system (DBMS). In a single processor DBMS transactions accessing a given database execute on one copy of the DBMS software (although, in the case of distributed database, the transaction may not have originated on that copy). Information regarding deadlocks involving those transaction's access to that database can be determined solely from that DBMS. If a transaction does not use distributed access methods then all deadlocks involving that transaction can be detected on that system. In contrast on a shared disk multi-processor DBMS transactions accessing a given database can execute on any copy of the DBMS. Even if that transaction does not use distributed access methods then one instance of the DBMS does not necessarily have enough information to detect deadlocks involving that transaction. The term local deadlock is used to refer to a deadlock involving transactions at one DBMS image. The term global de adlock is used to refer to a deadlock involving transactions at two or more DBMS images. Deadlock detection is centered around a structure known as the transaction wait-for graph (TWFG). The TWFG represents the transactions that may be involved in deadlocks and the wait-for relationships between those transactions.