Deadlock Immunity: Enabling Systems To Defend Against Deadlocks
Horatiu Jula, Daniel Tralamazza, Cristian Zamfir, George Candea
Proc. 8th USENIX Symp. on Operating Systems Design and Implementation (OSDI), San Diego, CA, December 2008
[ PDF |
HTML |
MP3 ]
Deadlock immunity is a property by which programs, once
afflicted by a given deadlock, develop resistance against future
occurrences of that and similar deadlocks. We describe a technique
that enables programs to automatically gain such immunity without
assistance from programmers or users. We implemented the technique
for both Java and POSIX threads and evaluated it with several real
systems, including MySQL, JBoss, SQLite, Apache ActiveMQ, Limewire,
and Java JDK. The results demonstrate effectiveness against real
deadlock bugs, while incurring modest performance overhead and
scaling to 1024 threads. We therefore conclude that deadlock
immunity offers programmers and users an attractive tool for coping
with elusive deadlocks.
|