科技报告详细信息
The Theory of Deadlock Avoidance via Discrete Control
Wang, Yin ; Lafortune, Stephane ; Kelly, Terence ; Kudlur, Manjunath ; Mahlke, Scott
HP Development Company
关键词: deadlock avoidance;    discrete control theory;    multithreaded software;    concurrent programming;   
RP-ID  :  HPL-2009-202
学科分类:计算机科学(综合)
美国|英语
来源: HP Labs
PDF
【 摘 要 】

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

【 预 览 】
附件列表
Files Size Format View
RO201804100002591LZ 433KB PDF download
  文献评价指标  
  下载次数:16次 浏览次数:21次