• 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