Yin Wang, Hongwei Liao, Ahmed Nazeem, S. Reveliotis, T. Kelly, S. Mahlke, S. Lafortune
{"title":"Maximally permissive deadlock avoidance for multithreaded computer programs (Extended abstract)","authors":"Yin Wang, Hongwei Liao, Ahmed Nazeem, S. Reveliotis, T. Kelly, S. Mahlke, S. Lafortune","doi":"10.1109/COASE.2009.5234118","DOIUrl":null,"url":null,"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.","PeriodicalId":386046,"journal":{"name":"2009 IEEE International Conference on Automation Science and Engineering","volume":"24 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2009-08-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"6","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2009 IEEE International Conference on Automation Science and Engineering","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/COASE.2009.5234118","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 6
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.