[Cst-1b] Deadlock Avoidance Routing

Leo Dearden ld225@cam.ac.uk
Wed, 17 May 2000 15:44:59 +0100


Martin Harper wrote:
> 
> This is VERY briefly mentioned in DigiComms notes(slide 104) - I can't quite
> work out how deadlock could occur in practice, anyway.

Deadlock (most simple):

Routers A, B. Each has buffer space for one packet. 

Router can send packet on iff there is space for it at the other end.
The important thing is that it isn't allowed to drop packets
deliberately.

Packets x, y. x is going through B via A. y is going through A, via B.

A receives x, B receives y. Both now have full buffers.
A cannot send x 'cos B doesn't have room for it, and similarly,
B cannot send y 'cos A etc...

For more complexity, rings of dependency can be long, bounded only by
the number of participating routers.

If you want more detail a search for "Deadlock Avoidance Routing" on
Google seems pretty fertile. The first page of results yields 
http://www.cs.wisc.edu/~tvrdik/8/html/Section8.html#AAAAADeadlock
avoidance theory

which is fairly technical, and shows that the subject is of significant
complexity. Probably why the notes are so inadequate. :)
	
Leo.