Issue No. 10 - October (1981 vol. 30)
D. Gelernter , Department of Computer Science, State University of New York
Store-and-forward deadlock (SFD) occurs in packet- switched computer networks when, among some cycle of packets buffered by the communication system, each packet in the cycle waits for the use of the buffer currently occupied by the next packet in the cycle. Several techniques for the prevention of SFD are known, but all exact some cost in terms of efficient and flexible packet handling. An ideal SFD-prevention technique is as unobtrusive as possible; it imposes no routing restrictions on packets, does not require that the buffer pool on each node grow with network size, and imposes no buffer-pool partitioning. All SFD-prevention techniques described so far lack some or all of these desirable properties. The new algorithm here described has all of them; in return, it imposes other unconventional costs. Under certain circumstances it requires that packets be rerouted around areas of potential deadlock, and one arbitrarily chosen node is required to accept within finite time any packet seeking entrance to its buffer pool, even if this requires erasing some packet. It is argued nonetheless that these costs are imposed infrequently enough and are sufficiently well manageable by heuristic techniques to make this new algorithm an attractive and practical alternative to the older techniques. An implementation designed for a microprocessor network now under construction is described.
store-and-forward deadlock, Communication software, deadlock prevention, network operating systems, packet networks
D. Gelernter, "A DAG-Based Algorithm for Prevention of Store-and-Forward Deadlock in Packet Networks", IEEE Transactions on Computers, vol. 30, no. , pp. 709-715, October 1981, doi:10.1109/TC.1981.1675690