Deadlocks in distributed systems are similar to deadlocks in single processor systems, only worse. They are harder to avoid, prevent or even detect. They are hard to cure when tracked down because all relevant information is scattered over many machines.
People sometimes might classify deadlock into the following types:
- Communication deadlocks -- competing with buffers for send/receive
- Resources deadlocks -- exclusive access on I/O devices, files, locks, and other resources.
.
Four best-known strategies to handle deadlocks:
- The ostrich algorithm (ignore the problem)
- Detection (let deadlocks occur, detect them, and try to recover)
- Prevention (statically make deadlocks structurally impossible)
- Avoidance (avoid deadlocks by allocating resources carefully)
<<home>> <<previous>> <<next>>