Skip to main navigation Skip to search Skip to main content

Slider: An online and active deadlock avoider by serial execution of critical sections

  • Zhen Yu*
  • , Xiaohong Su
  • , Peijun Ma
  • *Corresponding author for this work
  • School of Computer Science and Technology, Harbin Institute of Technology

Research output: Contribution to journalArticlepeer-review

Abstract

Existing dynamic deadlock avoidance techniques have four main drawbacks: limited capability, offline avoidance algorithm, passive avoidance strategy and poor usability. To solve these problems, we propose a user-friendly, online and active avoidance technique, called Slider, to avoid multiple types of deadlocks. The key idea of Slider is that deadlocks will not happen if critical sections are executed serially. Slider interferes in thread scheduling to ensure that at any time only one thread is in the critical state. We design Slider to avoid all deadlocks except self-deadlocks caused by mutexes or rwlocks in pthread interface. We implement Slider as a pre-loadable library so that it can be applied directly to existing applications. We do four experiments to evaluate avoidance capability, performance overhead and scalability of Slider, comparing with three state-of-the-art avoidance techniques. Experimental results show Slider can correctly avoid multiple types of deadlocks in an online, active, efficient and scalable way.

Original languageEnglish
Pages (from-to)36-50
Number of pages15
JournalInternational Journal of High Performance Systems Architecture
Volume6
Issue number1
DOIs
StatePublished - 2016
Externally publishedYes

Keywords

  • Concurrency bugs
  • Concurrent programming
  • Concurrent testing
  • Critical sections
  • Deadlock avoidance
  • Deadlock bugs
  • Deadlock detection
  • Serial execution

Fingerprint

Dive into the research topics of 'Slider: An online and active deadlock avoider by serial execution of critical sections'. Together they form a unique fingerprint.

Cite this