Abstract

Multicore architectures in computer hardware bring an unprecedented need for parallel programming. In the work considered in this presentation, we are especially interested in multithreaded programs with shared data. In this widelyused programming paradigm, “lock” primitives are employed to control access to the shared data within the program threads. For example, mutual exclusion locks (mutexes) are used to protect shared data from concurrent inconsistent updates. However, improper use of mutexes can lead to the familiar “deadly embrace” problem, where a set of threads are waiting for one another and no further progress can be made. These situations are called Circular-Mutex-Wait (CMW) deadlocks and the tale of the dining philosophers [4], [3] is an amusing way to illustrate CMW-deadlocks. As parallel programs are becoming more and more complex, reasoning about deadlock is becoming more and more difficult for programmers. Significant effort has to be spent to detect and fix intricate deadlock bugs. Therefore, there is an emerging need for more systematic methodologies that will enable the programmers of these environments to effectively characterize, analyze, and resolve these deadlock problems.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call