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

Authors: Zhen Yu; Xiaohong Su; Peijun Ma

Addresses: School of Computer Science and Technology, Harbin Institute of Technology, Harbin, Heilongjiang, 150001, China ' School of Computer Science and Technology, Harbin Institute of Technology, Harbin, Heilongjiang, 150001, China ' School of Computer Science and Technology, Harbin Institute of Technology, Harbin, Heilongjiang, 150001, China

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.

Keywords: concurrent programming; concurrent testing; concurrency bugs; deadlock bugs; deadlock detection; deadlock avoidance; serial execution; critical sections; thread scheduling; software bugs; software development.

DOI: 10.1504/IJHPSA.2016.076193

International Journal of High Performance Systems Architecture, 2016 Vol.6 No.1, pp.36 - 50

Received: 11 Nov 2014
Accepted: 24 Aug 2015

Published online: 29 Apr 2016 *

Full-text access for editors Access for subscribers Purchase this article Comment on this article