skip to main content
10.1145/1176887.1176891acmconferencesArticle/Chapter ViewAbstractPublication PagesesweekConference Proceedingsconference-collections
Article

Efficient distributed deadlock avoidance with liveness guarantees

Published: 22 October 2006 Publication History

Abstract

We present a deadlock avoidance algorithm for distributed systems that guarantees liveness. Deadlock avoidance in distributed systems is a hard problem and general solutions are considered impractical due to the high communication overhead. In previous work, however, we showed that practical solutions exist when all possible sequences of resource requests are known a priori in the form of call graphs; in this case protocols can be constructed that perform safe resource allocation based on local data only, that is, no communication between components is required. While avoiding deadlock, those protocols, however, did not avoid starvation: they guaranteed that some process could always make progress, but did not guarantee that every individual process would always eventually terminate.In this paper we present a resource allocation mechanism that avoids deadlock and guarantees absence of starvation, without undue loss of concurrency. The only assumption we make is that the local scheduler is fair. We prove the correctness of the algorithm and show how it can be implemented efficiently.

References

[1]
Andrew D. Birrell. An introduction to programming with threads. Research Report 35, Digital Equipment Corporation Systems Research Center, 1989.]]
[2]
Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. Introduction to Algorithms MIT Press, second edition, 2001.]]
[3]
Luca de Alfaro, Vishwanath Raman, Marco Faella, and Rupak Majumdar. Code aware resource management. In Proceedings of the 5th ACM international conference on Embedded software (EMSOFT'05) pages 191--202.ACM Press, 2005.]]
[4]
Edsger W. Dijkstra. Cooperating sequential processes. Technical Report EWD-123, Technological University, Eindhoven, the Netherlands, 1965.]]
[5]
Arie N. Habermann. Prevention of system deadlocks. Communications of the ACM 12:373--377, 1969.]]
[6]
James W.Havender. Avoiding deadlock in multi-tasking systems. IBM Systems Journal 2:74--84, 1968.]]
[7]
César Sánchez, Henny B. Sipam, and Zohar Manna. On efficient deadlock avoidance for distributive recursive processes. Submitted for publication.]]
[8]
César Sánchez, Henny B. Sipma, Zohar Manna, Venkita Subramonian, and Christopher Gill. On efficient distributed deadlock avoidance for distributed real-time and embedded systems. In Proc. of the 20th IEEEInt'l Parallel and Distributed Processing Symposium (IPDP'06)IEEE Computer Society Press,2006.]]
[9]
César Sánchez, Henny B. Sipma, Venkita Subramonian, Christopher Gill, and Zohar Manna. Thread allocation protocols for distributed real-time and embedded systems. In Farn Wang, editor, 25th IFIP WG 2.6 International Conference on Formal Techniques for Networked and Distributed Systems (FORTE'05) volume 3731 of LNCS pages 159--173. Springer-Verlag, October 2005.]]
[10]
Douglas C. Schmidt. Evaluating Architectures for Multi-threaded CORBA Object Request Brokers. Communications of the ACM Special Issue on CORBA 41(10), October 1998.]]
[11]
Douglas C. Schmidt, Sumedh Mungee, Sergio Flores-Gaitan, and Aniruddha S. Gokhale. Alleviating priority inversion and non-determinism in real-time CORBA ORB core architectures. In Proc.of the Fourth IEEE Real Time Technology and Applications Symposium (RTAS'98) pages 92--101, June 1998.]]
[12]
Douglas C. Schmidt, Michael Stal, Hans Rohnert, and Frank Buschmann. Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects, Volume 2 Wiley & Sons, NewYork, 2000.]]
[13]
Abraham Silberschatz, Peter B. Galvin,and Greg Gagne. Operating System Concepts John Wiley & Sons, Inc., Sixth edition, 2003.]]
[14]
Mukesh Singhal and Niranjan G. Shivaratri. Advanced Concepts in Operating Systems: Distributed, Database, and Multiprocessor Operating Systems McGraw-Hill, Inc., 1994.]]
[15]
William Stallings. Operating Systems: Internals and Design Principles Prentice Hall, Third edition, 1998.]]
[16]
Venkita Subramonian, Guoliang Xing, Christopher D. Gill, Chenyang Lu, and Ron Cytron. Middleware specialization for memory-constrained networked embedded systems. In Proc. of 10th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS'04)IEEE Computer Society Press, May 2004.]]

Cited By

View all
  • (2017)Adaptive Deadlock Detection and Resolution in Real-Time Distributed Environments2017 IEEE 19th International Conference on High Performance Computing and Communications; IEEE 15th International Conference on Smart City; IEEE 3rd International Conference on Data Science and Systems (HPCC/SmartCity/DSS)10.1109/HPCC-SmartCity-DSS.2017.74(571-577)Online publication date: Dec-2017
  • (2014)Sherlock: scalable deadlock detection for concurrent programsProceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering10.1145/2635868.2635918(353-365)Online publication date: 11-Nov-2014
  • (2010)On deadlocks and fairness in self-organizing resource-flow systemsProceedings of the 23rd international conference on Architecture of Computing Systems10.1007/978-3-642-11950-7_9(87-100)Online publication date: 22-Feb-2010
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
EMSOFT '06: Proceedings of the 6th ACM & IEEE International conference on Embedded software
October 2006
346 pages
ISBN:1595935428
DOI:10.1145/1176887
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: 22 October 2006

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. deadlock avoidance
  2. distributed algorithms
  3. scheduling

Qualifiers

  • Article

Conference

ESWEEK06
ESWEEK06: Second Embedded Systems Week 2006
October 22 - 25, 2006
Seoul, Korea

Acceptance Rates

Overall Acceptance Rate 60 of 203 submissions, 30%

Upcoming Conference

ESWEEK '24
Twentieth Embedded Systems Week
September 29 - October 4, 2024
Raleigh , NC , USA

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)11
  • Downloads (Last 6 weeks)0
Reflects downloads up to 15 Sep 2024

Other Metrics

Citations

Cited By

View all

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media