20 likes | 180 Views
Networked Software Lab. Dreadlocks – Deadlock Detection in Linux. Problem definition: Deadlock is a specific condition when two or more processes (or threads) are each waiting for each other to release a resource, thus forming a circular chain. Project g oals:
E N D
Networked Software Lab Dreadlocks – Deadlock Detection in Linux • Problem definition: • Deadlock is a specific condition when two or more processes (or threads) are each waiting for each other to release a resource, thus forming a circular chain. • Project goals: • Supply support for successful debugging • Implement M.Herlihy and E.Koskinen“Dreadlocks” algorithmin Linux. • Evaluate the performance overhead implied by the solution What is Digest? Each thread has a list of processes/threads, it is waiting for in order to acquire a mutex lock . This list is called a digest Deadlock Detection – how it gets done: Thread trying to acquire mutex that is already locked checks the owner’s digest for its TID and if it is found there – DEADLOCK. New lock algorithm : Acquire it alert the user no Try to locka mutex Digest of A:{B} Digest of B:{A} Taken? yes yes try to detect a deadlock Deadlock? no By: Dan Slov & Gal Nave Supervisor: Dimitri Perelman