This Article 
 Bibliographic References 
 Add to: 
Strategies for the Prevention of Communication Deadlocks in Distributed Parallel Programs
November 1990 (vol. 16 no. 11)
pp. 1311-1316

The occurrence of communication deadlocks caused by the unavailability of message buffers during the execution of distributed parallel programs is investigated. Such deadlocks can occur even if the program is designed for deadlock-freedom, since they are largely dependent on the system's ability to handle message buffering space. A class of deadlock prevention strategies which require that the programmer provide upper bounds on the buffer usage in the several communication channels involved is exploited, and it is argued that such bounds are relatively simple to obtain in many cases. The proposed strategies range from those which require a minimal amount of buffers to those which ensure a reasonable level of concurrency in process execution, although at the expense of more buffering space. It is shown that in general these strategies require the solution of NP-hard optimization problems, and an efficient heuristic to tackle the concurrency-optimal strategy is suggested. Randomly generated systems are then used to show that the heuristic tends to be very successful.

[1] B. Awerbuch, "Complexity of network synchronization,"J. ACM, vol. 32, no. 4, pp. 804-823, Oct. 1985.
[2] V. C. Barbosa and M. C. S. Boeres, "An Occam-based evaluation of a parallel version of simulated annealing," Programa de Sistemas, COPPE/UFRJ, Rio de Janeiro, Brazil, Tech. Rep. 189/89, 1989; submitted for publication.
[3] V. C. Barbosa and E. Gafni, "A distributed implementation of simulated annealing,"J. Parallel Distributed Comput., vol. 6, pp. 411-434, 1989.
[4] V. C. Barbosa and E. Gafni, "Concurrency in heavily loaded neighborhood-constrained systems,"ACM Trans. Programming Languages Syst., vol. 11, pp. 562-584, Oct. 1989.
[5] V. C. Barbosa and P. M. V. Lima, "On the distributed parallel simulation of Hopfield's neural networks,"Software--Practice and Experience, to be published.
[6] A. Burns,Programming in Occam2. Wokingham, England: Addison-Wesley, 1988.
[7] K. M. Chandy and J. Misra, "The drinking philosophers problem,"ACM Trans. Programming Lang. Syst., vol. 6, no. 4, pp. 632-646, 1984.
[8] W.J. Dally and C.L. Seitz, "Deadlock-Free Message Routing in Multiprocessor Interconnection Networks,"IEEE Trans. Computers, Vol. C-36, No. 5, May 1987, pp. 547-553.
[9] E. W. Dijkstra, "Guarded commands, nondeterminacy and formal derivation of programs,"Commun. ACM, vol. 18, no. 8, pp. 453- 457, 1975.
[10] L. M. R. Eizirik, V. C. Barbosa, and S. B. T. Mendes, "A Bayesian-network approach to lexical disambiguation," Programa de Sistemas, COPPE/UFRJ, Rio de Janeiro, Brazil, Tech. Rep. 220/90, 1990; submitted for publication.
[11] E. Gafni, "Perspectives on distributed network protocols: a case for building blocks," inProc. MIL COM'86, 1986.
[12] E. M. Gafni and D. P. Bertsekas, "Distributed algorithms for generating loop-free routes in networks with frequently changing topology,"IEEE Trans. Commun., vol. COM-29, pp. 11-18, Jan. 1981.
[13] M. R. Garey and D. S. Johnson,Computers and Intractability: A Guide to Theory of NP-Completeness. San Francisco, CA: Freeman, 1979.
[14] M. Gerla and L. Kleinrock, "Flow control protocols," inComputer Network Architectures and Protocols, P. E. Green, Jr., Ed. New York: Plenum, 1982, pp. 361-412.
[15] C. A. R. Hoare, "Communicating sequential processes,"Commun. ACM, vol. 21, pp. 666-677, 1978.
[16] M. Maekawa, A. E. Oldehoeft, and R. R. Oldehoeft,Operating Systems: Advanced Concepts. Menlo Park, CA: Benjamin/Cummings, 1987.
[17] C. H. Papadimitriou and K. Steiglitz,Combinatorial Optimization: Algorithms and Complexity. Englewood Cliffs, NJ: Prentice-Hall, 1982.
[18] M. M. Syslo, N. Deo, and J. S. Kowalik,Discrete Optimization Algorithms. Englewood Cliffs, NJ: Prentice-Hall, 1983.

Index Terms:
randomly generated systems; communication deadlocks; distributed parallel programs; unavailability; message buffers; message buffering space; deadlock prevention; upper bounds; buffer usage; communication channels; concurrency; process execution; NP-hard optimization problems; heuristic; computational complexity; parallel programming; programming theory
V.C. Barbosa, "Strategies for the Prevention of Communication Deadlocks in Distributed Parallel Programs," IEEE Transactions on Software Engineering, vol. 16, no. 11, pp. 1311-1316, Nov. 1990, doi:10.1109/32.60319
Usage of this product signifies your acceptance of the Terms of Use.