Since I started working with Giraph I decided to implement a deadlock detection algorithm. For this reason I am implementing the Bracha-Toueg Deadlock Detection algorithm
The algorithm is a distributed asynchronous deadlock detection algorithm which is applied on a wait-for graph which is generated by taking a snapshot of the graph to be analysed.
I am testing the first implementation which is available here:
The graphs I am using for testing are available here: https://github.com/armax00/giraph/tree/trunk/data/inputs
I will provide a patch as soon as I am done with it.
In the next version I will introduce the possibility to express N-out-of-M relationships among the edges.