DocumentCode
3674059
Title
Deadlock detection runtime service for Embedded Linux
Author
Bernd Glatz;Roman Beneder;Martin Horauer;Thomas Rauscher
Author_Institution
University of Applied Sciences Technikum Wien, Austria, Vienna
fYear
2015
Firstpage
1
Lastpage
7
Abstract
Deadlocks are a common problem that might arise when dealing with parallel processes or multiple threads, where locks are used to handle shared resources and implement process synchronization. Commonly used methods for handling deadlocks within systems are (i) deadlock detection, (ii) deadlock prevention, or (iii) deadlock avoidance. Most existing static and dynamic deadlock detection tools focus on specific lock class types (e.g., pthread locks) and require an instrumentation of the code. This paper proposes a library termed dpthread - a dynamic deadlock detection wrapper library that avoids code instrumentation. The library wraps the pthread library and provides the ability to register additional lock classes. In essence, it builds up a resource allocation graph and searches this graph using the Tarjan algorithm. An evaluation of the dpthread library using various well known deadlock scenarios revealed that deadlocks can be reliably detected without reporting false positives or negatives. The library by itself incurs only a small performance penalty and comes with a small memory footprint.
Keywords
"System recovery","Libraries","Instruction sets","Indexes","Resource management","Linux","Heuristic algorithms"
Publisher
ieee
Conference_Titel
Emerging Technologies & Factory Automation (ETFA), 2015 IEEE 20th Conference on
Type
conf
DOI
10.1109/ETFA.2015.7301437
Filename
7301437
Link To Document