[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/509383.509392acmconferencesArticle/Chapter ViewAbstractPublication PagesmodConference Proceedingsconference-collections
Article
Free access

Deadlock detection and resolution in a CODASYL based data management system

Published: 02 June 1976 Publication History

Abstract

In a multi-task computer system many different types of situations may occur in which productive computation may be brought to a standstill. One of these is deadlock or "deadly embrace". Some of the earliest investigation into this problem was undertaken by Dijkstra [1], Habermann [2] and Havender [3]. A detailed presentation of the deadlock problem and its ramifications may be found in [1, 2, 3, 4, 5].Because deadlock is so costly, modern computer system software is designed so that deadlock is either impossible [6, 7] or the probability of its occurrence is minimized at the system level. For example, the INGRES data base management system [7] accomplishes deadlock prevention without compromising data base integrity. Unfortunately, the CODASYL design [8] does not preclude the possibility of deadlock. It leaves the burden of minimizing the probability of its occurrence to the design of the application. There are two parts to the application design: the database design and the software design. Judicious design of both parts can sometimes minimize deadlock. However, deadlock cannot be prevented in all cases. Therefore, deadlock detection and resolution mechanisms are essential for operation in a multi-thread environment. Initially, the CODASYL based data management system employed (DMS 1100 [11]) had very simple deadlock detection and resolution mechanisms. The deadlock detection mechanism was based on the sufficient condition that deadlock exists when the number of transactions registered with the data management system equals the number of transactions locked out of resources. A least number of page alterations criterion was used by the deadlock resolution mechanism to resolve deadlock. That is, the transaction with the least number of altered pages was rolled back in an attempt to resolve deadlock. If this failed to resolve deadlock, the roll back selection process was repeated until deadlock was resolved. It was discovered that these mechanisms seriously degraded throughput on our system and a new approach was needed. This paper contains a description of the deadlock detection algorithm and the deadlock resolution algorithm which was implemented to overcome this defficiency. The former detects deadlock and the latter resolves deadlock in a manner consistent with maximum system throughput.In order to establish a common framework for discussion, the concepts of lock out and deadlock will be defined before proceeding.

References

[1]
Dijkstra, E. W., "Cooperating sequential processes," in Programming Languages (F. Genuys, ed.) Academic Press, N. Y. 1968, (43-112).
[2]
Habermann, N., "Prevention of system deadlock" Comm ACM 12, 7 (July 1969), 373-377.
[3]
Havender, J. W., "Avoiding deadlock in multi tasking systems", IBM Sys. J. 7,1 (1968), 74-87.
[4]
Shoshiani, A. and E. G. Coffman, Jr., "Sequencing tasks in multi-process, multiple resource systems to avoid deadlocks". Proc. 11th Symp. Annual Switching and Automatic Theory (Oct 1970), 225-233.
[5]
Coffman, E. G., Jr. and P. J. Denning, Operating Systems Prentice-Hall, Inc., Englewood Cliffs, New Jersey.
[6]
Chamberlain, D. et al, "A Deadlock-Free Scheme for Resource Locking in a Data-Base Environment", IBM Research Laboratory, San Jose, Cal. March 1974.
[7]
Stonebraker, M. "High Level Integrity Assurance in Relational Data Base Management Systems" Memorandum No. ERL-M473 August 16, 1974, Electronics Research Laboratories, College of Engineering, University of California, Berkely.
[8]
"CODASYL Data Description Language", Journal of Development, June 1973, U. S. Department of Commerce, National Printing Office, Washington, D. C. 1974.
[9]
Holt, R. C. "On Deadlock in Computer Systems", Technical Report CSRG-6; Computer Systems Research Group; University of Toronto; January, 1971.
[10]
King, P. F. and A. J. Collmeyer "Database sharing - An efficient mechanism for supporting concurrent processes" pgs 271, 275, Proceedings of the National Computer Conference, 1973, Chicago.
[11]
UNIVAC 1100 Series, Data Management System (DMS 1100) Data Manipulation Language Programmer Reference, UP-7908.

Cited By

View all
  • (2019)A High-Performance Distributed Relational Database System for Scalable OLAP Processing2019 IEEE International Parallel and Distributed Processing Symposium (IPDPS)10.1109/IPDPS.2019.00083(738-748)Online publication date: May-2019
  • (2018)Contention-aware lock scheduling for transactional databasesProceedings of the VLDB Endowment10.1145/3187009.317774011:5(648-662)Online publication date: 1-Jan-2018
  • (2018)Contention-aware lock scheduling for transactional databasesProceedings of the VLDB Endowment10.1145/3177732.317774011:5(648-662)Online publication date: 5-Oct-2018
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
SIGMOD '76: Proceedings of the 1976 ACM SIGMOD international conference on Management of data
June 1976
145 pages
ISBN:9781450347297
DOI:10.1145/509383
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 02 June 1976

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Acceptance Rates

Overall Acceptance Rate 785 of 4,003 submissions, 20%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)63
  • Downloads (Last 6 weeks)3
Reflects downloads up to 05 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2019)A High-Performance Distributed Relational Database System for Scalable OLAP Processing2019 IEEE International Parallel and Distributed Processing Symposium (IPDPS)10.1109/IPDPS.2019.00083(738-748)Online publication date: May-2019
  • (2018)Contention-aware lock scheduling for transactional databasesProceedings of the VLDB Endowment10.1145/3187009.317774011:5(648-662)Online publication date: 1-Jan-2018
  • (2018)Contention-aware lock scheduling for transactional databasesProceedings of the VLDB Endowment10.1145/3177732.317774011:5(648-662)Online publication date: 5-Oct-2018
  • (2011)THE ROLE, STRUCTURE AND DESIGN OF A DATABASE FOR DISSEMINATION OF PROCESS DATA DURING PLANT DESIGNChemical Engineering Communications10.1080/0098644820891108316:1-6(1-37)Online publication date: 20-Jan-2011
  • (2009)System Level Concurrency Control for Distributed Database SystemsFundamental Problems in Computing10.1007/978-1-4020-9688-4_4(71-98)Online publication date: 2009
  • (2006)On Optimal Deadlock Detection SchedulingIEEE Transactions on Computers10.1109/TC.2006.15155:9(1178-1187)Online publication date: 1-Sep-2006
  • (2005)Stochastic analysis of distributed deadlock schedulingProceedings of the twenty-fourth annual ACM symposium on Principles of distributed computing10.1145/1073814.1073864(265-273)Online publication date: 17-Jul-2005
  • (1981)Maintaining Data Base IntegrityData Base Administration10.1007/978-1-4684-3869-7_11(133-144)Online publication date: 1981
  • (1979)PipeliningACM Transactions on Database Systems10.1145/320107.3201184:4(470-492)Online publication date: 1-Dec-1979
  • (1979)Locking granularity revisitedACM Transactions on Database Systems10.1145/320071.3200784:2(210-227)Online publication date: 1-Jun-1979
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media