• DocumentCode
    36
  • Title

    Eliminating Concurrency Bugs in Multithreaded Software: A New Approach Based on Discrete-Event Control

  • Author

    Hongwei Liao ; Yin Wang ; Stanley, Jon ; Lafortune, Stephane ; Reveliotis, Spyros ; Kelly, Tim ; Mahlke, Scott

  • Author_Institution
    Dept. of Electr. Eng. & Comput. Sci., Univ. of Michigan, Ann Arbor, MI, USA
  • Volume
    21
  • Issue
    6
  • fYear
    2013
  • fDate
    Nov. 2013
  • Firstpage
    2067
  • Lastpage
    2082
  • Abstract
    Computer hardware is moving from uniprocessor to multicore architectures. One problem arising in this evolution is that only parallel software can exploit the full performance potential of multicore architectures, and parallel software is far harder to write than conventional serial software. One important class of failures arising in parallel software is circular-wait deadlock in multithreaded programs. In our ongoing Gadara project, we use a special class of Petri nets, called Gadara nets, to systematically model multithreaded programs with lock allocation and release operations. In this paper, we propose an efficient optimal control synthesis methodology for ordinary Gadara nets that exploits the structural properties of Gadara nets via siphon analysis. Optimality in this context refers to the elimination of deadlocks in the program with minimally restrictive control logic. We formally establish a set of important properties of the proposed control synthesis methodology, and show that our algorithms never synthesize redundant control logic. We conduct experiments to evaluate the efficiency and scalability of the proposed methodology, and discuss the application of our results to real-world concurrent software.
  • Keywords
    Petri nets; concurrency control; control system synthesis; discrete event systems; multi-threading; optimal control; program debugging; Gadara nets; Gadara project; Petri nets; circular-wait deadlock; concurrency bugs elimination; conventional serial software; discrete-event control; lock allocation operation; multicore architecture; multithreaded software; optimal control synthesis methodology; parallel software; redundant control logic; release operation; siphon analysis; uniprocessor architecture; Concurrent computing; Multicore processing; Optimal control; Petri nets; Software; Software algorithms; System recovery; Concurrent software; Petri nets; deadlock avoidance; liveness enforcement; optimal control;
  • fLanguage
    English
  • Journal_Title
    Control Systems Technology, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    1063-6536
  • Type

    jour

  • DOI
    10.1109/TCST.2012.2226034
  • Filename
    6403531