Deadlock Avoidance in Store-and-Forward Networks--II: Other Deadlock Types

Abstract
This paper describes the construction of loop-free buffer graphs which avoid four types of buffer deadlocks in store-and-forward networks. 1) Progeny deadlock, where original messages spawnother ones, and buffer contention occurs between the original and progeny messages. This occurs when positive or negative acknowledgments are created, e.g., if messages reverse direction after encountering a path failure. 2) Copy-release deadlock, where a message copy is stored at the source node and the buffer is not released until an acknowledgment is received from the destination node. Buffer contention may arise among the original messages, stored copies, and acknowledgments. 3) Pacing deadlock, where a local flow control protocol is used between a network node and attached terminals. Buffer contention may arise between the message flows into and out of the terminal, preventing the transmission of go-ahead commands. 4) Reassembly deadlock, whereby reassembly of packetized messages at the destination node cannot be completed. The solution presented here has the novel features of not requiring preallocation of reassembly buffers before transmission of multiple packets of a multipacket message, and not requiring dedication of buffer space at intermediate nodes for individual messages. These schemes are believed to have modest buffer requirements at each node, and if adequate buffer pools are provided, will incur negligible performance degradations under normal conditions, with overhead increasing under heavy buffer usage when deadlock is near.

This publication has 1 reference indexed in Scilit: