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 :
بازگشت