Abstract
In the design of highly complex, heterogeneous and concurrent systems, deadlock detection remains an important issue. In this paper, we systematically analyze the synchronization dependencies in system-level designs. We propose a data structure called the dynamic synchronization dependency graph, which captures the runtime blocking dependencies among concurrent processes. A loop-detection algorithm is then used to detect deadlocks and help designers quickly isolate and identify modeling errors that cause the deadlock problems. We demonstrate our approach through two publicly available system-level modeling languages, SystemC and Metropolis, and two real world design examples, which are complex system-level functional models for video processing.
Article PDF
Similar content being viewed by others
References
Coffman EG, Elphick M, Shoshani A (1971) System deadlocks. ACM Comput Surveys 3(2):67–78
Sfinghal M (1989) Deadlock detection in distributed systems. IEEE Comput 22(11):37–48
Knapp E (1987) Deadlock detection in distributed databases. ACM Comput Surv 19(4):303–328
Peterson JL, Silbershatz A (1983) Operating system concepts. Addison-Wesley, Reading
Coffman MEEG, Shoshani A (1971) System deadlocks. ACM Comput Surv 3(2):67–78
Sfinghal M (1989) Deadlock detection in distributed systems. IEEE Comput 22(11):37–48
Knapp E (1987) Deadlock detection in distributed databases. ACM Comput Surv 19(4):303–328
Mitchell DP, Merritt MJ (1984) A distributed algorithm for deadlock detection and resolution. In: ACM symposium on principles of distributed computing, 1984, pp 282–284
Krishnamurthi M, Basavatia A, Thallikar S (1994) Deadlock detection and resolution in simulation models. In: 26th Conference on winter simulation, 1994
Habermann AN (1969) Prevention of system deadlocks. Commun ACM 12(7):373–377
Godefroid P, Pirottin D (1993) Refining dependencies improves partial-order verification methods. In: Proceedings of the 5th conference on computer aided verification. Lecture notes in computer science, vol 697. Springer, Berlin, pp 438–449
McMillan K (1993) Symbolic model checking. Kluwer Academic, Dordrecht
Holzmann GJ (1997) The model checker SPIN. IEEE Trans Softw Eng 23(5):279–258
Jain K, Hajiaghayi MT, Talwar K (2005) The generalized deadlock resolution problem. In: International Colloquium, ICALP, July 2005
Krishnamurthi M, Basavatia A, Thallikar S (1994) Deadlock detection and resolution in simulation models. In: Proceedings of the 26th conference on winter simulation. Society for Computer Simulation International, San Diego, pp 708–715.
Functional specification for systemC2.0, update for systemC2.0.1 version 2.0-q. April 2002
Black DC, Donovan J (2004) SystemC: From the ground up. Kluwer Academic, Dordrecht
Bhasker J (2002) A SystemC primer. Star Galaxy Publishing, Allentown
Grotker T, Liao S, Martin G, Swan S (2002) System design with systemC. Kluwer Academic, Dordrecht
van der Wolf P, Lieverse P, Goel M, Hei DL, Vissers K (1999) An MPEG-2 decoder case study as a driver for a system level design methodology. In: Proceedings of international workshop on hardware/software codesign, May 1999
Kahn G (1974) The semantics of a simple language for parallel programming. In: IFIP Congress, 1974
Balarin F, Watanabe Y, Hsieh H, Lavagno L, Passerone C, Sangiovanni-Vincentelli A (2003) Metropolis: an integrated electronic system design environment. IEEE Comput 36(4):45–52
Manna Z, Pnueli A (1992) The temporal logic of reactive and concurrent systems: specification. Springer, Berlin
Balarin F, Watanabe Y, Burch J, Lavagno L, Passerone R, Sangiovanni-Vincentelli A (2001) Constraints specification at higher levels of abstraction. In: Proceedings of international workshop on high level design validation and test, Nov. 2001
Hoare CAR (1978) Communicating sequential processes. Commun ACM 21(8):666–677
Charlesworth A (1987) The multiway rendezvous. ACM Trans Program Lang Syst 9(3):350–366
Gangwal O, Nieuwland A, Lippens P (2001) A scalable and flexible data synchronization scheme for embedded hw-sw shared-memory systems. In: Proceedings of international symposium on system synthesis, Oct. 2001
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
Open Access This is an open access article distributed under the terms of the Creative Commons Attribution Noncommercial License (https://creativecommons.org/licenses/by-nc/2.0), which permits any noncommercial use, distribution, and reproduction in any medium, provided the original author(s) and source are credited.
About this article
Cite this article
Cheung, E., Chen, X., Hsieh, H. et al. Runtime deadlock analysis for system level design. Des Autom Embed Syst 13, 287–310 (2009). https://doi.org/10.1007/s10617-009-9046-2
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10617-009-9046-2