The theory of deadlock avoidance via discrete control

作者: Yin Wang , Stéphane Lafortune , Terence Kelly , Manjunath Kudlur , Scott Mahlke

DOI: 10.1145/1480881.1480913

关键词:

摘要: Deadlock in multithreaded programs is an increasingly important problem as ubiquitous multicore architectures force parallelization upon ever wider range of software. This paper presents a theoretical foundation for dynamic deadlock avoidance concurrent that employ conventional mutual exclusion and synchronization primitives (e.g., C/Pthreads programs). Beginning with control flow graphs extracted from program source code, we construct formal model the then apply Discrete Control Theory to automatically synthesize deadlock-avoidance logic implemented by instrumentation. At run time, avoids deadlocks postponing lock acquisitions. guarantees instrumented our synthesized cannot deadlock. Our method furthermore maximally permissive: it postpones acquisitions only when necessary prevent deadlocks, therefore permits maximal runtime concurrency. prototype scales real software including Apache, OpenLDAP, two kinds benchmarks, avoiding both injected naturally occurring while imposing modest overheads.

参考文章(22)
Michael Isard, Andrew Birrell, Automatic mutual exclusion HOTOS'07 Proceedings of the 11th USENIX workshop on Hot topics in operating systems. pp. 3- ,(2007)
Marian Valentin Iordache, Panos J. Antsaklis, Supervisory Control of Concurrent Systems: A Petri Net Structural Approach ,(2006)
Krishna M. Kavi, Alireza Moshtaghi, Deng-jyi Chen, Modeling Multithreaded Applications Using Petri Nets International Journal of Parallel Programming. ,vol. 30, pp. 353- 371 ,(2002) , 10.1023/A:1019917329895
Carl Adam Petri, Kommunikation mit Automaten ,(1962)
Stefan Savage, Michael Burrows, Greg Nelson, Patrick Sobalvarro, Thomas Anderson, Eraser: a dynamic data race detector for multithreaded programs ACM Transactions on Computer Systems. ,vol. 15, pp. 391- 411 ,(1997) , 10.1145/265924.265927
P. J. Ramadge, W. M. Wonham, Supervisory Control of a Class of Discrete Event Processes SIAM Journal on Control and Optimization. ,vol. 25, pp. 206- 230 ,(1987) , 10.1137/0325013
E.R. Boer, T. Murata, Generating basis siphons and traps of Petri nets using the sign incidence matrix IEEE Transactions on Circuits and Systems I-regular Papers. ,vol. 41, pp. 266- 271 ,(1994) , 10.1109/81.285680
T. Murata, Petri nets: Properties, analysis and applications Proceedings of the IEEE. ,vol. 77, pp. 541- 580 ,(1989) , 10.1109/5.24143
Yixin Diao, Sujay Parekh, Joseph L. Hellerstein, Dawn M. Tilbury, Feedback Control of Computing Systems ,(2004)