Dimmunix: Deadlock Immunity
Dimmunix enables general-purpose applications to defend themselves against deadlock bugs, i.e., avoid deadlocks that they previously encountered. Dimmunix is implemented for Java, POSIX Threads, and Android OS. POSIX Threads and Android Dimmunix currently provide immunity against deadlocks involving mutex locks. Android Dimmunix is implemented within the Dalvik VM, which runs all the Android applications; therefore, Android Dimmunix provides platform- wide deadlock immunity, to all applications running on an Android phone. We also optimized the Java Dimmunix for synchronization-intensive applications. We extended Java Dimmunix with immunity against non-mutex deadlocks, i.e., deadlocks involving read-write locks, semaphores, condition variables, or external synchronization. We ran Dimmunix with real applications, like JBoss, Limewire, Vuze, Eclipse, Apache ActiveMQ, MySQL server, and SQLite.
We also implemented a collaborative version of Dimmunix, called Communix. Communix enables machines connected to the Internet to immunize each other against deadlocks. Once a node encounters a deadlock, the other nodes get protected against the deadlock, without having to encounter the deadlock.
Dimmunix is available for both Java and C/C++ from http://code.google.com/p/dimmunix/.
For more details, please see:
- Deadlock Immunity: Enabling Systems To Defend Against Deadlocks, Horatiu Jula, Daniel Tralamazza, Cristian Zamfir, George Candea. Proc. 8th Symposium on Operating Systems Design and Implementation (OSDI), San Diego, CA, December 2008
- Communix: A Framework for Collaborative Deadlock Immunity. Horatiu Jula, Pinar Tozun, George Candea. Intl. Conference on Dependable Systems and Networks (DSN), Hong Kong, China, June 2011
- Platform-wide Deadlock Immunity for Mobile Phones. Horatiu Jula, Thomas Rensch, George Candea. 7th Workshop on Hot Topics in System Dependability (HotDep), Hong Kong, China, June 2011 Answers to frequently asked questions can be found in the Dimmunix FAQ.
Dimmunix in the news (selected articles):
- EPFL Flash (in French) [PDF]
- IEEE Computer (USA) [PDF]
- Scientific Computing (USA)
- Science Daily (USA)
- Swiss IT Magazine (Switzerland)
- inside-it.ch (Switzerland) , this article is about DDT and Dimmunix
- Swisster (Switzerland)
- The Engineer (UK)
- The Register (UK)
- Continuity Central (UK)
- Ecademy (UK)
- L’Atelier (France)
- Techno Science (France)
- Innovations Report (Germany)
- PC Welt (Germany)
- Noorderlicht (The Netherlands)
- Webwereld (The Netherlands)
- Oggi Scienza (Italy)
- PC World (Brazil)
- Inovacao Tecnologica (Brazil)
- Diario Digital (Portugal)
- SG.hu (Hungary)
- Sinan Erdinc (Turkey)
- telereport.rs (Serbia)
- Deccan Chronicle (India)