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

被引:22
作者
Liao, Hongwei [1 ]
Wang, Yin [2 ]
Stanley, Jason [1 ]
Lafortune, Stephane [1 ]
Reveliotis, Spyros [3 ]
Kelly, Terence [2 ]
Mahlke, Scott [1 ]
机构
[1] Univ Michigan, Dept Elect Engn & Comp Sci, Ann Arbor, MI 48109 USA
[2] Hewlett Packard Labs, Palo Alto, CA 94304 USA
[3] Georgia Inst Technol, Sch Ind & Syst Engn, Atlanta, GA 30332 USA
关键词
Concurrent software; deadlock avoidance; liveness enforcement; optimal control; Petri nets; PETRI NETS;
D O I
10.1109/TCST.2012.2226034
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
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.
引用
收藏
页码:2067 / 2082
页数:16
相关论文
共 32 条
[1]  
[Anonymous], 2011, GUROBI OPTIMIZER
[2]  
[Anonymous], 2004, Feedback Control of Computing Systems
[3]   Concurrency Control Generation for Dynamic Threads Using Discrete-Event Systems [J].
Auer, Anthony ;
Dingel, Juergen ;
Rudie, Karen .
2009 47TH ANNUAL ALLERTON CONFERENCE ON COMMUNICATION, CONTROL, AND COMPUTING, VOLS 1 AND 2, 2009, :927-+
[4]   Deadlock analysis of Petri nets using siphons and mathematical programming [J].
Chu, F ;
Xie, XL .
IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, 1997, 13 (06) :793-804
[5]   Contracts for Modular Discrete Controller Synthesis [J].
Delaval, Gwenael ;
Marchand, Herve ;
Rutten, Eric .
ACM SIGPLAN NOTICES, 2010, 45 (04) :57-66
[6]  
Dijstra E.W., 1982, SELECTED WRITINGS CO, P308
[7]  
Dragert C., 2008, SIGSOFT '08/FSE-16, P146
[8]  
Engler D., 2003, Operating Systems Review, V37, P237, DOI 10.1145/1165389.945468
[9]   A Case Study on Controller Synthesis for Data-Intensive Embedded Systems [J].
Gamatie, Abdoulaye ;
Yu, Huafeng ;
Delaval, Gwenael ;
Rutten, Eric .
2009 INTERNATIONAL CONFERENCE ON EMBEDDED SOFTWARE AND SYSTEMS, PROCEEDINGS, 2009, :75-+
[10]  
GIUA A, 1992, 1992 IEEE INTERNATIONAL CONFERENCE ON SYSTEMS, MAN, AND CYBERNETICS, VOLS 1 AND 2, P974, DOI 10.1109/ICSMC.1992.271666