Edge chasing

In computer science, edge-chasing is an algorithm for deadlock detection in distributed systems.

Whenever a process A is blocked for some resource, a probe message is sent to all processes A may depend on. The probe message contains the process id of A along with the path that the message has followed through the distributed system. If a blocked process receives the probe it will update the path information and forward the probe to all the processes it depends on. Non-blocked processes may discard the probe.

If eventually the probe returns to process A, there is a circular waiting loop of blocked processes, and a deadlock is detected. Efficiently detecting such cycles in the “wait-for graph” of blocked processes is an important implementation problem.

This article is issued from Wikipedia - version of the Thursday, November 01, 2012. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.