Deadlock detection and resolution in database management systems: A comprehensive approach
Salvato in:
| Pubblicato in: | ProQuest Dissertations and Theses (1989) |
|---|---|
| Autore principale: | |
| Pubblicazione: |
ProQuest Dissertations & Theses
|
| Soggetti: | |
| Accesso online: | Citation/Abstract Full Text - PDF |
| Tags: |
Nessun Tag, puoi essere il primo ad aggiungerne!!
|
| Abstract: | In this dissertation, several algorithms for deadlock detection and resolution in database management systems are presented, where two-phase locking is assumed for ensuring serializability, the lock requests obey the granularity locking protocol and each granule may be locked in one of the following lock modes: IS, IX, S, SIX and X. For each object, lock requests are honored according to a first-come-first-served basis except for lock upgradations. We present algorithms for deadlock detection and resolution in sequential transaction processing to achieve the goal of early deadlock detection with the appropriate victim selection. We also present a deadlock detection and resolution algorithm for parallel transaction processing which achieves the same objectives and an algorithm for distributed transaction processing which minimizes the amount of inter-site message communications. We propose a new efficient algorithm for deadlock detection in sequential transaction processing, where the basic idea is the construction of a directed graph called a Holder/Walter-Transaction Waited-By Graph. We establish guidelines for the identification of a victim in a deadlock cycle and show how deadlocks can be resolved with minimal victim cost. In addition, our algorithm allows us to resolve some deadlocks without aborting any transaction. In the case of parallel transaction processing, a transaction can have multiple outstanding lock requests. We introduce two types of deadlocks: explicit deadlocks and implicit deadlocks. To detect deadlocks in this environment, we introduce a new type of directed graph called a transaction waited-by graph. We present deadlock detection mechanisms, identify deadlock detection time, and show how victims can be selected with minimal cost. For deadlock detection and resolution in distributed database systems, the "traditional" transaction wait-for graph is augmented appropriately such that local deadlocks are detected locally by cycle detection and global deadlocks are detected globally by probe generation and propagation. A global deadlock is declared when a probe which was initiated by a global transaction returns to itself and that transaction becomes the victim for the resolution of the corresponding global deadlock. Antiprobes are generated appropriately to compensate the propagated probes. |
|---|---|
| ISBN: | 9798207549088 |
| Fonte: | ProQuest Dissertations & Theses Global |